Имя: Пароль:
1C
1С v8
Указание оповещения в процедуре ПолучитьФорму
,
0 pozitiFFF
 
09.01.18
18:11
Добрый день.

Имеется следующая ситуация: открывается форма выбора справочника. При этом передается отбор по Ссылке, а также Оповещение. Примерно так:

Оповещение = Новый ОписаниеОповещения("ОбработатьВыборФилиала", ЭтотОбъект);

ПараметрыФормы = Новый Структура("Отбор", Новый Структура("Ссылка", ДоступныеФилиалы));
ОткрытьФорму("Справочник.Филиалы.ФормаВыбора", ПараметрыФормы,,,,, Оповещение);

Но данный справочник очень "тяжелый", отбор по ссылке (а там практически все элементы) очень долго открывает форму выбора.

Если Использовать конструкцию
ФормаВыбора = ПолучитьФорму(..);
И затем обратиться к ФормаВыбора.Список.Отбор.Элементы, то можно добавить необходимые отборы (не по ссылке, а по двум полям в группе Или, которые оставят те же элементы что отбор по ссылке в первом случае), то форма открывается быстро.
Но в ПолучитьФорму нельзя указать Оповещение.

Получается проблема, в первом случае (ОткрытьФорму) "тяжелый" отбор из-за того, что можно передать только отбор на равенство или Список, передаем отбор по ссылке, форма оооочень медленно открывается.
В ОткрытьФорму можно обратиться к форме и установить отборы программно, в результате откроется форма быстро, не нельзя использовать оповещение.

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

Как выйти из этой ситуации?
1 Lexey_
 
09.01.18
18:51
(0) параметр формы ФиксированныеНастройки
http://catalog.mista.ru/public/565658/
2 pozitiFFF
 
09.01.18
20:04
(1) Брависсимо!!! То, что нужно))) Вы - волшебник!
3 pozitiFFF
 
09.01.18
20:05
(1) Вас нет случаем на Инфостарте? а то бы я Вам там отдал свою обещанную награду.
4 Lexey_
 
09.01.18
21:01