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