Выбор значений справочника в при незакравающейся формы выбора (режим подбора)

// Процедура вызывается при нажатии кнопки "Подбор" командной панели табличной

// части "Инвентаризационная комиссия", вызывает диалог подбора из справочника

// "Физические лица".

//

&НаКлиенте

Процедура КоманднаяПанельИнвентаризационнаяКомиссияПодбор(Команда)

ПараметрыФормы = Новый Структура("РежимВыбора, ЗакрыватьприВыборе, МножественныйВыбор", Истина, Ложь, Ложь);

Форма = ПолучитьФорму("Справочник.ФизическиеЛица.ФормаВыбора", ПараметрыФормы,Элементы.ИнвентаризационнаяКомиссия);

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

//Форма.Элементы.ФормаВыбрать1.Видимость = Ложь;

Форма.Открыть();

КонецПроцедуры // КоманднаяПанельИнвентаризационнаяКомиссияПодбор()

//Обработка выбора при подборе

&НаКлиенте

Процедура ИнвентаризационнаяКомиссияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;

Если ТипЗнч(ВыбранноеЗначение) = Тип("СправочникСсылка.ФизическиеЛица") Тогда

// Выбран ли данный элемент?

СтрокиФизЛица = Объект.ИнвентаризационнаяКомиссия.НайтиСтроки(Новый Структура("ФизЛицо", ВыбранноеЗначение));

Если СтрокиФизЛица.Количество() = 0 Тогда

//Если не выбран, то добавляем

СтрокаФизЛица = Объект.ИнвентаризационнаяКомиссия.Добавить();

СтрокаФизЛица.ФизЛицо = ВыбранноеЗначение;

Иначе

//Если уже выбран, то сообщаем

ТекстСообщения = НСтр("ru = 'Физическое лицо %1 уже добавлено в список комиссии'");

ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, СокрЛП(ВыбранноеЗначение));

Сообщить(ТекстСообщения);

КонецЕсли;

КонецЕсли;

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