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