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

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

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

1.На форме документа встаем на поле «Контрагент».

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


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

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


1 комментарий:

taitemacgregor комментирует...

How to get to Hollywood Casino Hollywood by Bus or Train via Bus
The quickest way 아산 출장샵 to get to Hollywood Casino Hollywood costs 창원 출장샵 only 순천 출장샵 $2, 의왕 출장샵 and the quickest way takes just 4 mins. The quickest way takes just 6 거제 출장마사지 mins.