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