1С 8.3 Открытие формы выбора с отбором
Данные > Примеры кода 1С > 1С 8.3 Форма, элементы
Перейти в раздел примеры кода 1С 8.3:

Пример №1 Программное открытие формы выбора с отбором в 1С 8.3:
&НаКлиенте
Процедура ТоварНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
НастройкиКД = Новый НастройкиКомпоновкиДанных;
Отбор = НастройкиКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
Отбор.ПравоеЗначение = ПолучитьСписокЗначенийНаСервере(Элементы.ИмяТЧ.ТекущиеДанные.Цвет);
Отбор.Использование = Истина;
Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
// можно прописать не ограниченное количество отборов КД
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ФиксированныеНастройки", НастройкиКД);
ОткрытьФорму("Справочник.Товар.ФормаВыбора", ПараметрыФормы, Элемент);
КонецПроцедуры
Процедура ТоварНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
НастройкиКД = Новый НастройкиКомпоновкиДанных;
Отбор = НастройкиКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
Отбор.ПравоеЗначение = ПолучитьСписокЗначенийНаСервере(Элементы.ИмяТЧ.ТекущиеДанные.Цвет);
Отбор.Использование = Истина;
Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
// можно прописать не ограниченное количество отборов КД
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ФиксированныеНастройки", НастройкиКД);
ОткрытьФорму("Справочник.Товар.ФормаВыбора", ПараметрыФормы, Элемент);
КонецПроцедуры
Пример №2 Программное открытие формы выбора с отбором в 1С 8.3:
&НаКлиенте
Процедура ТоварНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) // Без списка значений
СтандартнаяОбработка = Ложь;
ЗначениеОтбора = Новый Структура("Цвет", Объект.Цвет);
ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
ОткрытьФорму("Справочник.Товар.ФормаВыбора", ПараметрыВыбора);
КонецПроцедуры
Процедура ТоварНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) // Без списка значений
СтандартнаяОбработка = Ложь;
ЗначениеОтбора = Новый Структура("Цвет", Объект.Цвет);
ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
ОткрытьФорму("Справочник.Товар.ФормаВыбора", ПараметрыВыбора);
КонецПроцедуры
Пример №3 Программное открытие формы выбора с отбором по реквизиту из ТЧ в 1С 8.3:
Процедура ТабличнаяЧасть1ПартияНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
// Откроем список партий
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Владелец", Элементыформы.ТабличнаяЧасть1.ТекущаяСтрока.СЗР);// реквизит ТЧ
СтандартнаяОбработка = Ложь;
// Откроем список партий
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Владелец", Элементыформы.ТабличнаяЧасть1.ТекущаяСтрока.СЗР);// реквизит ТЧ
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора);
ОткрытьФорму("Справочник.Партии.ФормаСписка", ПараметрыФормы);
КонецПроцедуры
Пример БСП в 1С 8.3:
КомпоновкаДанныхКлиентСервер.УстановитьПараметр(Настройки, "ДатаКонца", ТекущаяДата());
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Настройки, "ИмяРеквизита", ЗначениеРеквизита, ВидСравненияКомпоновкиДанных.Равно);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Настройки, "ИмяРеквизита", ЗначениеРеквизита, ВидСравненияКомпоновкиДанных.Равно);
2
комментарии
Админ -> Сергею.
07 окт 2024
Пожалуйста. Рад был помочь.
Сергей
05 окт 2024
Спасибо за информацию. Хороший сайт у Вас!
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник