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