Форма выбора открывается при нажатии на кнопку выбора у элемента формы. Если требуется наложить отборы на выбираемые значения или открыть другую форму, то необходимо использовать событие элемента формы НачалоВыбора.
Процедура для обычного приложения
Процедура СобытиеНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ФормаВыбора = Документы.Документ1.ПолучитьФормуВыбора(, Элемент); ФормаВыбора.Отбор.Реквизит1.ВидСравнения = ВидСравнения.Равно; ФормаВыбора.Отбор.Реквизит1.Значение = "Значение"; ФормаВыбора.Отбор.Реквизит1.Использование = Истина; //Чтобы этот отбор был доступен для изменения ФормаВыбора.ЭлементыФормы.ДокументСписок.НастройкаОтбора.Реквизит1.Доступность = Истина; ФормаВыбора.Открыть(); КонецПроцедуры
Процедуры для управляемого приложения Настройка отборов с использованием объекта НастройкиКомпоновкиДанных. Есть возможность задать вид сравнения, доступность элементов отбора для редактирования и т.д.
&НаКлиенте Процедура СобытиеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Настройки = Новый НастройкиКомпоновкиДанных; Элемент = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Элемент.Использование = Истина; Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Реквизит1"); Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Элемент.ПравоеЗначение = "Значение"; Элемент.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный; ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("ФиксированныеНастройки", Настройки); ОткрытьФорму("Документ.Документ1.ФормаВыбора", ПараметрыФормы, Элементы.Реквизит1); КонецПроцедуры
Настройка отборов с использованием структуры. Это более простой вариант открытия формы выбора с установленными отборами. В этом варианте некоторые настройки недоступны.
&НаКлиенте Процедура СобытиеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПараметрыФормы = Новый Структура; Отборы = Новый Структура; Отборы.Вставить("Реквизит1", "Значение"); Отборы.Вставить("Реквизит2", "Значение"); Отборы.Вставить("Реквизит3", "Значение"); ПараметрыФормы.Вставить("Отбор", Отборы); ОткрытьФорму("Документ.Документ1.ФормаВыбора", ПараметрыФормы, Элементы.Реквизит1);
КонецПроцедуры
|