Отключенные варианты отчетов.
Функция ОтключенныеВариантыОтчетов(Знач ОтчетыПользователя = Неопределено) Экспорт
Если ОтчетыПользователя = Неопределено Тогда
ОтчетыПользователя = Новый Массив(ВариантыОтчетовПовтИсп.ДоступныеОтчеты());
КонецЕсли;
// Получить варианты, недоступные по функциональным опциям.
ТаблицаОпций = ВариантыОтчетовПовтИсп.Параметры().ТаблицаФункциональныхОпций;
ТаблицаВариантов = ТаблицаОпций.СкопироватьКолонки("ПредопределенныйВариант, ИмяФункциональнойОпции");
ТаблицаВариантов.Колонки.Добавить("ЗначениеОпции", Новый ОписаниеТипов("Число"));
Для Каждого ОтчетСсылка Из ОтчетыПользователя Цикл
Найденные = ТаблицаОпций.НайтиСтроки(Новый Структура("Отчет", ОтчетСсылка));
Для Каждого СтрокаТаблицы Из Найденные Цикл
СтрокаВариант = ТаблицаВариантов.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаВариант, СтрокаТаблицы);
Значение = ПолучитьФункциональнуюОпцию(СтрокаТаблицы.ИмяФункциональнойОпции);
Если Значение = Истина Тогда
СтрокаВариант.ЗначениеОпции = 1;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ТаблицаВариантов.Свернуть("ПредопределенныйВариант", "ЗначениеОпции");
ТаблицаОтключенных = ТаблицаВариантов.Скопировать(Новый Структура("ЗначениеОпции", 0));
ТаблицаОтключенных.Свернуть("ПредопределенныйВариант");
ОтключенныеПоФункциональнымОпциям = ТаблицаОтключенных.ВыгрузитьКолонку("ПредопределенныйВариант");
// Добавить варианты, отключенные разработчиком.
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ОтчетыПользователя", ОтчетыПользователя);
Запрос.УстановитьПараметр("ВерсияРасширений", ПараметрыСеанса.ВерсияРасширений);
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВариантыКонфигурации.Ссылка
|ИЗ
| Справочник.ПредопределенныеВариантыОтчетов КАК ВариантыКонфигурации
|ГДЕ
| (ВариантыКонфигурации.Включен = ЛОЖЬ
| ИЛИ ВариантыКонфигурации.ПометкаУдаления = ИСТИНА)
| И ВариантыКонфигурации.Отчет В (&ОтчетыПользователя)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВариантыРасширений.Ссылка
|ИЗ
| Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширений
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредопределенныеВариантыОтчетовВерсийРасширений КАК Версии
| ПО ВариантыРасширений.Ссылка = Версии.Вариант
| И ВариантыРасширений.Отчет = Версии.Отчет
| И (Версии.ВерсияРасширений = &ВерсияРасширений)
|ГДЕ
| (ВариантыРасширений.Включен = ЛОЖЬ
| ИЛИ Версии.Вариант ЕСТЬ NULL)
| И ВариантыРасширений.Отчет В (&ОтчетыПользователя)";
ОтключенныеПринудительно = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0);
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОтключенныеПоФункциональнымОпциям, ОтключенныеПринудительно);
Возврат ОтключенныеПоФункциональнымОпциям;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОтключенныеВариантыПрограммы (БСП)
УдалитьПользовательскийВариантОтчета (БСП)
ПриУдаленииПользовательскихВариантовОтчета (БСП)
ПредопределенныеВариантыОтчетов (БСП)