Выбор значений справочника в при незакравающейся формы выбора (режим подбора)
// Процедура вызывается при нажатии кнопки "Подбор" командной панели табличной
// части "Инвентаризационная комиссия", вызывает диалог подбора из справочника
// "Физические лица".
//
&НаКлиенте
Процедура КоманднаяПанельИнвентаризационнаяКомиссияПодбор(Команда)
ПараметрыФормы = Новый Структура("РежимВыбора, ЗакрыватьприВыборе, МножественныйВыбор", Истина, Ложь, Ложь);
Форма = ПолучитьФорму("Справочник.ФизическиеЛица.ФормаВыбора", ПараметрыФормы,Элементы.ИнвентаризационнаяКомиссия);
Форма.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
//Форма.Элементы.ФормаВыбрать1.Видимость = Ложь;
Форма.Открыть();
КонецПроцедуры // КоманднаяПанельИнвентаризационнаяКомиссияПодбор()
//Обработка выбора при подборе
&НаКлиенте
Процедура ИнвентаризационнаяКомиссияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ТипЗнч(ВыбранноеЗначение) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
// Выбран ли данный элемент?
СтрокиФизЛица = Объект.ИнвентаризационнаяКомиссия.НайтиСтроки(Новый Структура("ФизЛицо", ВыбранноеЗначение));
Если СтрокиФизЛица.Количество() = 0 Тогда
//Если не выбран, то добавляем
СтрокаФизЛица = Объект.ИнвентаризационнаяКомиссия.Добавить();
СтрокаФизЛица.ФизЛицо = ВыбранноеЗначение;
Иначе
//Если уже выбран, то сообщаем
ТекстСообщения = НСтр("ru = 'Физическое лицо %1 уже добавлено в список комиссии'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, СокрЛП(ВыбранноеЗначение));
Сообщить(ТекстСообщения);
КонецЕсли;
КонецЕсли;
КонецПроцедуры