УстановитьРежимВыводаВПанеляхОтчетов (БСП)

Автор: 1С
ОбщийМодуль.ВариантыОтчетов
БСП

Установить режим вывода панелях отчетов. Устанавливает режим вывода Отчетов и Вариантов в панелях отчетов.

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

	Подсистемы = Новый Массив;
	Подсистемы.Добавить(ОтчетИлиПодсистема);
	Количество = 1;
	ОбработанныеОбъекты = Новый Соответствие;
	Пока Количество > 0 Цикл
		Количество = Количество - 1;
		Подсистема = Подсистемы[0];
		Подсистемы.Удалить(0);
		Для Каждого ВложеннаяПодсистема Из Подсистема.Подсистемы Цикл
			Количество = Количество + 1;
			Подсистемы.Добавить(ВложеннаяПодсистема);
		КонецЦикла;
		Для Каждого ОбъектМетаданных Из ОтчетИлиПодсистема.Состав Цикл
			Если ОбработанныеОбъекты[ОбъектМетаданных] <> Неопределено Тогда
				Продолжить;
			КонецЕсли;
			
			ОбработанныеОбъекты[ОбъектМетаданных] = Истина;
			Если Метаданные.Отчеты.Содержит(ОбъектМетаданных) Тогда
				УстановитьРежимВыводаОтчетаВПанеляхОтчетов(Настройки, ОбъектМетаданных, ГруппироватьПоОтчетам);
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;

КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

УстановитьРежимПодключенияДополнительногоОтчетаИлиОбработкиВОбластиДанных (БСП)

ОбщиеНастройкиПанели (БСП)

СохранитьОбщиеНастройкиПанели (БСП)

ПоказатьПанельОтчетов (БСП)

УстановитьРежимПолнотекстовогоПоиска (БСП)

СообщениеУстановитьРежимИсполненияДополнительногоОтчетаИлиОбработкиВОбластиДанных (БСП)

НастроитьВариантыОтчетов (БСП)

УстановитьРежимХраненияИсторииИзменений (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз