#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АдресПользовательскихНастроек") Тогда
АдресПользовательскихНастроек = Параметры.АдресПользовательскихНастроек;
КонецЕсли;
КоличествоЛет = 2;
ДатаОкончания = НачалоДня(ТекущаяДатаСеанса())-1;
ДатаНачала = ДатаОкончания - 86400 * 365 * КоличествоЛет;
СхемаКомпоновкиДанных = РегистрыСведений.СезонныеКоэффициенты.ПолучитьМакет("РасчетПоСтатистикеПродаж");
АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных);
КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ПользовательскиеНастройки = Неопределено;
Если ЭтоАдресВременногоХранилища(АдресПользовательскихНастроек) Тогда
ПользовательскиеНастройки = ПолучитьИзВременногоХранилища(АдресПользовательскихНастроек);
КонецЕсли;
Если ПользовательскиеНастройки <> Неопределено Тогда
КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПользовательскиеНастройки);
КомпоновщикНастроек.Восстановить();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура КоличествоЛетПриИзменении(Элемент)
ДатаНачала = ДатаОкончания - 86400 * 365 * КоличествоЛет;
КонецПроцедуры
&НаКлиенте
Процедура ДатаОкончанияПриИзменении(Элемент)
ДатаНачала = ДатаОкончания - 86400 * 365 * КоличествоЛет;
КонецПроцедуры
&НаКлиенте
Процедура ВариантРасчетаПриИзменении(Элемент)
КомпоновкаДанныхКлиентСервер.УстановитьПараметр(КомпоновщикНастроек, "ВариантРасчета", ВариантРасчета);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Рассчитать(Команда)
Если Не ПроверитьЗаполнение() Тогда
Возврат;
КонецЕсли;
АдресПользовательскихНастроек = ПоместитьВоВременноеХранилище(КомпоновщикНастроек.ПользовательскиеНастройки,
АдресПользовательскихНастроек);
Настройки = Новый Структура;
Настройки.Вставить("КоличествоЛет", КоличествоЛет);
Настройки.Вставить("ДатаНачала", ДатаНачала);
Настройки.Вставить("ДатаОкончания", ДатаОкончания);
Настройки.Вставить("ВариантРасчета", ВариантРасчета);
Закрыть(Настройки);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьОтбор(Команда)
ПараметрыФормы = Новый Структура("КомпоновщикНастроек", КомпоновщикНастроек);
ОткрытьФорму("РегистрСведений.СезонныеКоэффициенты.Форма.ФормаОтбора", ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти