#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ЗаполнитьСлужебныеРеквизитыФормы();
УстановитьВидимостьЭлементовПоФО();
НастроитьЗаголовкиПолей(ЭтаФорма);
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтаФорма);
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если Объект.НастройкиБазыРаспределенияПоПартиямИзменены Тогда
ТекущийОбъект.НастройкиБазыРаспределенияПоПартиям = Новый ХранилищеЗначения(
НастройкиБазыРаспределенияПоПартиям.ПолучитьНастройки());
Иначе
ТекущийОбъект.НастройкиБазыРаспределенияПоПартиям = Новый ХранилищеЗначения(Неопределено);
КонецЕсли;
МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтаФорма, Отказ, ТекущийОбъект, ПараметрыЗаписи);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
СобытияФормКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтаФорма);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ТекстДобавитьИзменитьОтборБазыРаспределенияПоПартиямНажатие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если Не ЗначениеЗаполнено(Объект.БазаРаспределенияПоПартиям) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Перед добавлением отбора необходимо выбрать базу распределения.'"),,
"Объект.БазаРаспределенияПоПартиям");
Возврат;
КонецЕсли;
ПараметрыОткрытия = ПравилаРаспределенияКлиент.ПараметрыОткрытияФормыНастройкиОтбора();
ПараметрыОткрытия.БазаРаспределения = Объект.БазаРаспределенияПоПартиям;
ПараметрыОткрытия.КомпоновщикНастроек = НастройкиБазыРаспределенияПоПартиям;
ПараметрыОткрытия.ЗаголовокФормы = НСтр("ru = 'Настройка отбора'");
ПараметрыОткрытия.ИмяНастроекКомпоновщика = "НастройкиБазыРаспределенияПоПартиям";
ПараметрыОткрытия.УникальныйИдентификатор = УникальныйИдентификатор;
ПравилаРаспределенияКлиент.ОткрытьФормуНастройкиОтборов(ЭтотОбъект, ПараметрыОткрытия);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
ОбщегоНазначенияУТКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Отборы
&НаКлиенте
Процедура РедактироватьСхемуКомпоновкиДанныхЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Не ЗначениеЗаполнено(Результат) Тогда
Возврат;
КонецЕсли;
ЭтаФорма[ДополнительныеПараметры.ИмяНастроекКомпоновщика].ЗагрузитьНастройки(
ПолучитьИзВременногоХранилища(Результат));
Объект.НастройкиБазыРаспределенияПоПартиямИзменены = ПравилаРаспределенияВызовСервера.ОтборУстановлен(
НастройкиБазыРаспределенияПоПартиям);
НастроитьЗаголовкиПолей(ЭтаФорма, ДополнительныеПараметры.ИмяНастроекКомпоновщика)
КонецПроцедуры
&НаСервере
Процедура ЗагрузитьБазовыеНастройкиКомпоновщика(ИмяРеквизита = "")
СхемаКомпоновки = Перечисления.ТипыБазыРаспределенияРасходов.ПолучитьМакет("Товары");
НастройкиБазыРаспределенияПоПартиям.ЗагрузитьНастройки(СхемаКомпоновки.НастройкиПоУмолчанию);
КонецПроцедуры
&НаСервере
Процедура ВосстановитьНастройкиКомпоновщика(ИмяРеквизитаСНастройками, ДокОбъект = Неопределено)
МодификаторНастроек = СтрШаблон("%1Изменены", ИмяРеквизитаСНастройками);
Если Не Объект[МодификаторНастроек] Тогда
Возврат;
КонецЕсли;
Если ДокОбъект = Неопределено Тогда
ДокОбъект = РеквизитФормыВЗначение("Объект");
КонецЕсли;
РеквизитНастройкиКомпоновщика = ДокОбъект[ИмяРеквизитаСНастройками];
НастройкиКомпоновщика = РеквизитНастройкиКомпоновщика.Получить();
Если Не НастройкиКомпоновщика = Неопределено Тогда
ЭтаФорма[ИмяРеквизитаСНастройками].ЗагрузитьНастройки(НастройкиКомпоновщика);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область УправлениеФормой
&НаКлиентеНаСервереБезКонтекста
Процедура НастроитьЗаголовкиПолей(Форма, ИмяРеквизита = Неопределено)
Объект = Форма.Объект;
ПредставлениеГиперссылокОтбора = Новый Соответствие();
ПредставлениеГиперссылокОтбора.Вставить(Истина, НСтр("ru = 'Отбор установлен, изменить'"));
ПредставлениеГиперссылокОтбора.Вставить(Ложь, НСтр("ru = 'Отбор не установлен, добавить'"));
Если ИмяРеквизита = "НастройкиБазыРаспределенияПоПартиям"
Или ИмяРеквизита = Неопределено Тогда
Форма.ТекстДобавитьИзменитьОтборБазыРаспределенияПоПартиям =
ПредставлениеГиперссылокОтбора.Получить(Объект.НастройкиБазыРаспределенияПоПартиямИзменены);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьЭлементовПоФО()
Элементы.ТекстДобавитьИзменитьОтборБазыРаспределенияПоПартиям.Видимость =
РасчетСебестоимостиПовтИсп.ПартионныйУчетВерсии22();
КонецПроцедуры
#КонецОбласти
#Область ИнициализацияФормы
&НаСервере
Процедура ЗаполнитьСлужебныеРеквизитыФормы()
ЗагрузитьБазовыеНастройкиКомпоновщика();
СправочникОбъект = РеквизитФормыВЗначение("Объект");
ВосстановитьНастройкиКомпоновщика("НастройкиБазыРаспределенияПоПартиям", СправочникОбъект);
КонецПроцедуры
#КонецОбласти
#КонецОбласти