среда, 31 октября 2018 г.

Получение обычной формы выбора с отбором из обычной формы (Толстый клиент)

Назначение: получение обычной формы выбора с заданным отбором (предполагается, форма выбора уже есть в конфигурации).
Номенклатура объектов: справочник «Контрагенты», документ «Поступление товаров и услуг». Накладываем отбор на справочник «Контрагенты».
Разработка на форме:
1.На форме документа встаем на поле «Контрагент».



2.В свойствах в разделе «События» создаем событие «НачалоВыбора».

Процедура КонтрагентНачалоВыбора(Элемент, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   ФормаКонтрагенты = Справочники.Контрагенты.ПолучитьФормуВыбора(,Элемент,);
   // если объект, форму выбора которого хотим получить, является подчиненным, то требуется указать владельца объекта.
   //-------------------------------------------------------------
   //Организация = Справочники.Организации.НайтиПоКоду("00001");
   //ФормаКонтрагенты.Отбор.Владелец.Установить(Организация, Истина);
   //-------------------------------------------------------------
   ФормаКонтрагенты.РежимВыбора = Истина;
   СписокКонтрагентов = ПолучитьКонтрагентовДляВыбора();
   ФормаКонтрагенты.Отбор.Наименование.ВидСравнения = ВидСравнения.ВСписке;  
   // тип только СписокЗначений, строка "ВидСравнения" обязательно перед строкой "Значение".
   ФормаКонтрагенты.Отбор.Наименование.Значение = СписокКонтрагентов;        
   // если отбираем по наименованию, то в списке значений должны быть либо ссылки, 
   // либо наименования. Можно применять различные поля отбора и различные виды сравнения.
   ФормаКонтрагенты.Отбор.Наименование.Использование = Истина;
   ФормаКонтрагенты.Открыть();
КонецПроцедуры

Функция ПолучитьКонтрагентовДляВыбора()
   Список = Новый СписокЗначений;
   // заполняем список значений, по которому будем отбирать
   Список.Добавить(Справочники.Контрагенты.НайтиПоКоду("00012"));
   Список.Добавить(Справочники.Контрагенты.НайтиПоКоду("00022"));
   Список.Добавить(Справочники.Контрагенты.НайтиПоКоду("00052"));
   Возврат Список;
КонецФункции


Комментариев нет: