1С 8.3 Открываем форму выбора с отбором
Данные > Примеры кода 1С > 1С 8.3 Справочники
Перейти в раздел примеры кода 1С 8.3:
Открываем форму выбора элемента справочника (с отбором) в 1С 8.3:
&НаКлиенте
Процедура КонтрагентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
НастройкКД = Новый НастройкиКомпоновкиДанных;
Отбор = НастройкКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
Отбор.ПравоеЗначение = ПолучитьСписокЗначенийНаСервере(Элементы.ИмяТаблЧасти.ТекущиеДанные.Реквизит1);
Отбор.Использование = Истина;
Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ПарФормы = Новый Структура;
ПарФормы.Вставить("ФиксированныеНастройки", НастройкКД);
ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", ПарФормы, Элемент);
КонецПроцедуры
&НаСервере
Функция ПолучитьСписокЗначенийНаСервере(РеквизитТЧ)
// Пишем нужный запрос с отбором по реквизиту табличной части
СписокОтбора = Новый СписокЗначений;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Страны.Ссылка
|ИЗ
| Справочник.Страны КАК Страны
|ГДЕ
| Страны.ЧастьСвета = &Европа";
Запрос.УстановитьПараметр("Европа", РеквизитТЧ);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СписокОтбора.Добавить(Выборка.Ссылка);
КонецЦикла;
Возврат СписокОтбора;
КонецФункции
Процедура КонтрагентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
НастройкКД = Новый НастройкиКомпоновкиДанных;
Отбор = НастройкКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
Отбор.ПравоеЗначение = ПолучитьСписокЗначенийНаСервере(Элементы.ИмяТаблЧасти.ТекущиеДанные.Реквизит1);
Отбор.Использование = Истина;
Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ПарФормы = Новый Структура;
ПарФормы.Вставить("ФиксированныеНастройки", НастройкКД);
ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", ПарФормы, Элемент);
КонецПроцедуры
&НаСервере
Функция ПолучитьСписокЗначенийНаСервере(РеквизитТЧ)
// Пишем нужный запрос с отбором по реквизиту табличной части
СписокОтбора = Новый СписокЗначений;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Страны.Ссылка
|ИЗ
| Справочник.Страны КАК Страны
|ГДЕ
| Страны.ЧастьСвета = &Европа";
Запрос.УстановитьПараметр("Европа", РеквизитТЧ);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СписокОтбора.Добавить(Выборка.Ссылка);
КонецЦикла;
Возврат СписокОтбора;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник