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