Как да отворите формуляр за списък с някакъв избор, 1C Enterprise 8

На живо във форума Група: Отбор Публикации: 3478 От: Odessa Изказани благодарности: 1329 пъти Оценка: 977.8 -->

Има няколко начина за отваряне на формуляр със списък с някакъв предварително зададен избор. Нека ги разгледаме по ред:

1. Първият начин е, че при отваряне на формуляра можете да зададете параметъра на формуляра Избор и да отворите формата на списъка с този параметър. Параметърът за избор е структура. Имената на елементите съответстват на имената на полетата, чрез които се прави селекцията, а стойностите съдържат стойностите на селекцията. Това е опция за разширение на формуляр, управляван от динамичен списък. Тоест съществува за формуляри, чийто основен атрибут е атрибут от типа динамичен списък, например за списъчни формуляри и формуляри за избор.

В процеса на отваряне на формуляра филтърът ще бъде зададен за посоченото поле. Например, следният пример отваря списък с разписки, филтрирани по полето Номер, което е 333.

2. Можете да отворите списъка без параметри:

И след това, в манипулатора на събития на формуляра на списъка с входящи фактури, когато е създаден на сървъра, напишете кода, който създава селекция в динамичния списък, който е основният атрибут на формуляра:

Предимствата на този метод са, че Типът сравнение на селекцията може да бъде зададен не само Равно, както в първия случай, но и По-голямо, По-малко и т.н.

Но този метод има много съществен недостатък: с този избор формулярът винаги ще се отваря. Откъдето и да я повикат. Следователно тази форма не трябва да се определя като основна. И ако все пак е основният, тогава преди да зададете селекцията, е необходимо да предоставите някакъв вид анализ откъде се отваря тази форма. Например чрез разбор на параметри на формуляра.

3. Накрая може да се постави условието за изборпроизволна заявка, която избира данни за динамичен списък. Например, трябва да отворим списък с входящи фактури, които съдържат артикул, избран в списъка с артикули.

За целта във формата на списъка с артикули ще създадем команда и съответния бутон Входящи фактури.

Попълнете манипулатора за изпълнение за тази команда, както следва:

В този манипулатор получаваме формата на списъка с входящи фактури и предаваме връзка към текущия артикул в списъка с артикули към параметъра на формуляра FilterByItem и отваряме формуляра с този параметър.

След това ще създадем формуляр за списък с документи Входяща фактура и ще създадем атрибут на формуляра FilterByProduct, който ще използваме като параметър на формуляра, когато бъде отворен. Сега нека отворим палитрата със свойства на основния атрибут на формата List. Задайте флага CustomRequest и щракнете върху Отваряне в реда за настройки на списъка.

В полето Заявка въведете следния текст на заявката:

Тук List.Parameters е списък с параметри на заявка за динамичен списък за атрибута List. Стойността на параметъра Item е зададена равна на стойността на параметъра на формуляра FilterByItem.

В резултат на това чрез натискане на бутона Фактури във формата за списък с артикули ще получим списък само с тези входящи фактури, които съдържат артикула, избран в момента в списъка с артикули.