#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Объект.Ссылка.Пустая() Тогда
ИнициализироватьКомпоновщикСервер(Неопределено);
КонецЕсли;
ЗаполнитьСписокВыбораНаименования(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
СохраненныйКомпоновщикНастроек = ТекущийОбъект.КомпоновщикНастроек.Получить();
ИнициализироватьКомпоновщикСервер(СохраненныйКомпоновщикНастроек);
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.КомпоновщикНастроек = Новый ХранилищеЗначения(КомпоновщикНастроек.ПолучитьНастройки(), Новый СжатиеДанных(9));
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Оповестить("Запись_ЗакладкиВзаимодействий", ПараметрыЗаписи, Объект.Ссылка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура КомпоновщикНастроекНастройкиОтборПриИзменении(Элемент)
ЗаполнитьСписокВыбораНаименования(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
ЗаполнитьСписокВыбораНаименования(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ИнициализироватьКомпоновщикСервер(НастройкаКомпоновки)
СхемаКомпоновки = ЖурналыДокументов.Взаимодействия.ПолучитьМакет("СхемаОтборВзаимодействия");
АдресСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновки, УникальныйИдентификатор);
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы));
Если НастройкаКомпоновки = Неопределено Тогда
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновки.НастройкиПоУмолчанию);
Иначе
КомпоновщикНастроек.ЗагрузитьНастройки(НастройкаКомпоновки);
КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность);
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ЗаполнитьСписокВыбораНаименования(Форма)
СписокВыбора = Форма.Элементы.Наименование.СписокВыбора;
СписокВыбора.Очистить();
Если Не ПустаяСтрока(Форма.Объект.Наименование) Тогда
СписокВыбора.Добавить(Форма.Объект.Наименование);
КонецЕсли;
ПредставлениеОтбора = Строка(Форма.КомпоновщикНастроек.Настройки.Отбор);
Если Форма.Объект.Наименование <> ПредставлениеОтбора Тогда
СписокВыбора.Добавить(ПредставлениеОтбора);
КонецЕсли;
КонецПроцедуры
#КонецОбласти