Отбор в управляемой форме выбора
☑
0
denk
14.04.14
✎
06:44
Понимаю, что баян. Сам неоднократно устанавливал отбор при начале выбора, но в этот раз какой-то непонятный затык возникает.
СтандартнаяОбработка = Ложь;
СписокВыбора = ПолучитьСписокВыбораДляПолучателя();
ПараметрыФормы = Новый Структура;
Если ЗначениеЗаполнено(Объект.ПодразделениеПолучатель) тогда
ПараметрыФормы.Вставить("ТекущаяСтрока",Объект.ПодразделениеПолучатель);
КонецЕсли;
ФормаВыбора = ПолучитьФорму("Справочник.ХозяйственныеОбъекты.ФормаВыбора",ПараметрыФормы, Элемент);
ФормаВыбора.Элементы.Список.Отображение = ОтображениеТаблицы.Список;
ЭлементОтбора = ФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.ПравоеЗначение = СписокВыбора;
ЭлементОтбора.Использование = Истина;
ФормаВыбора.Открыть();
В результате выполнения этого кода открывется форма без отбора. Заходим в Настроить форму, там в отборе есть соответствующая строка. Просто нажимаем ОК и отбор устанавливается. Почему не срабатывает при открытии?
1
ИС-2
naïve
14.04.14
✎
07:24
отбор надо ставить в ПараметрыФормы
ПараметрыФормыКонтрагенты = Новый Структура;
ПараметрыФормыКонтрагенты.Вставить("Отбор", Новый Структура("Покупатель", Истина));
ВыбранноеЗначение = ОткрытьФормуМодально("Справочник.Контрагенты.ФормаВыбора",ПараметрыФормыКонтрагенты);
2
denk
14.04.14
✎
07:32
(1) Спасибо за подсказку. Раньше думал, что так будет работать, если вид сравнения Равно. Но для ВСписке тоже, оказывается, работает. УФ рулят.
Основная теорема систематики: Новые системы плодят новые проблемы.