Форма подбора
Команда открытия формы подбора и получение данных изнеё
// ****************************************************************************************************************************** //
&НаКлиенте
Процедура КомандаПодборДоговоров(Команда)
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("РежимВыбора",Истина);
//ПараметрыФормы.Вставить("МножественныйВыбор",Истина); ///Если хотим несколько значений
ОбработкаВыбора = Новый ОписаниеОповещения("ПриЗакрытииФормыПодбора", ЭтаФорма,"ПодборДоговоров");
ОткрытьФорму("Справочник.АУ_ОтветственныеПользователиДоговоров.Форма.ФормаПодбораДоговора",ПараметрыФормы,
ЭтаФорма, , , , ОбработкаВыбора,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
// Процедура оповещения при подборе
//
&НаКлиенте
Процедура ПриЗакрытииФормыПодбора(Значение, ДопПараметры) Экспорт
Если Значение = Неопределено Тогда //Если ничего не выбрать - вернется пустое значение (Неопределено)
Возврат;
КонецЕсли;
МассивПодбора = Значение //Если Множественный Выбор - то вернется массив
// получим массив уже прикрепленных договоров
МассивДоговоров = Новый Массив;
Для каждого СтрДог Из Объект.КонтролируемыеДоговора Цикл
МассивДоговоров.Добавить(СтрДог.ДоговорКонтрагента);
КонецЦикла;
// Добавим массив подбора к уже прикрепленным договорам
Для Инд = 0 По МассивПодбора.Количество() - 1 Цикл
Если НЕ МассивДоговоров.Найти(МассивПодбора[Инд]) Тогда
СтрТаб = Объект.КонтролируемыеДоговора.Добавить();
СтрТаб.ДоговорКонтрагента = МассивПодбора[Инд];
МассивДоговоров.Добавить(МассивПодбора[Инд]);
КонецЕсли;
КонецЦикла;
КонецПроцедуры // ПриЗакрытииФормыПодбора()
// ****************************************************************************************************************************** //
Команда передачи данных из формы подбора, точнее из табличной части ПодобранныеДоговораКонтрагентов
&НаКлиенте
Процедура КомандаПередатьДанные(Команда)
ВозвращаемыеДанные = Новый Массив;
Для каждого СтрРезультатаПодбора Из ПодобранныеДоговораКонтрагентов Цикл
ВозвращаемыеДанные.Добавить(СтрРезультатаПодбора.Договор);
КонецЦикла;
Закрыть(ВозвращаемыеДанные);
КонецПроцедуры