Форма подбора

Команда открытия формы подбора и получение данных изнеё

// ****************************************************************************************************************************** //

&НаКлиенте

Процедура КомандаПодборДоговоров(Команда)

ПараметрыФормы = Новый Структура;

ПараметрыФормы.Вставить("РежимВыбора",Истина);

//ПараметрыФормы.Вставить("МножественныйВыбор",Истина); ///Если хотим несколько значений

ОбработкаВыбора = Новый ОписаниеОповещения("ПриЗакрытииФормыПодбора", ЭтаФорма,"ПодборДоговоров");

ОткрытьФорму("Справочник.АУ_ОтветственныеПользователиДоговоров.Форма.ФормаПодбораДоговора",ПараметрыФормы,

ЭтаФорма, , , , ОбработкаВыбора,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

КонецПроцедуры

// Процедура оповещения при подборе

//

&НаКлиенте

Процедура ПриЗакрытииФормыПодбора(Значение, ДопПараметры) Экспорт

Если Значение = Неопределено Тогда //Если ничего не выбрать - вернется пустое значение (Неопределено)

Возврат;

КонецЕсли;

МассивПодбора = Значение //Если Множественный Выбор - то вернется массив

// получим массив уже прикрепленных договоров

МассивДоговоров = Новый Массив;

Для каждого СтрДог Из Объект.КонтролируемыеДоговора Цикл

МассивДоговоров.Добавить(СтрДог.ДоговорКонтрагента);

КонецЦикла;

// Добавим массив подбора к уже прикрепленным договорам

Для Инд = 0 По МассивПодбора.Количество() - 1 Цикл

Если НЕ МассивДоговоров.Найти(МассивПодбора[Инд]) Тогда

СтрТаб = Объект.КонтролируемыеДоговора.Добавить();

СтрТаб.ДоговорКонтрагента = МассивПодбора[Инд];

МассивДоговоров.Добавить(МассивПодбора[Инд]);

КонецЕсли;

КонецЦикла;

КонецПроцедуры // ПриЗакрытииФормыПодбора()

// ****************************************************************************************************************************** //


Команда передачи данных из формы подбора, точнее из табличной части ПодобранныеДоговораКонтрагентов


&НаКлиенте

Процедура КомандаПередатьДанные(Команда)

ВозвращаемыеДанные = Новый Массив;

Для каждого СтрРезультатаПодбора Из ПодобранныеДоговораКонтрагентов Цикл

ВозвращаемыеДанные.Добавить(СтрРезультатаПодбора.Договор);

КонецЦикла;

Закрыть(ВозвращаемыеДанные);

КонецПроцедуры