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