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