При создании шаблона в основу был положен принцип разумной достаточности, то есть сделать шаблон СКД-отчёта, не перегруженный излишними функциями и украшательствами.
Основные достоинства:
- Параметры и отборы отображаются на форме отчёта, подобно стандартной управляемой форме отчёта СКД;
- элементы формы сделаны "резиновыми": пользователь имеет возможность растягивать/сжимать табличные поля параметров и отборов;
- кнопка сохранения отчёта в файл (поддерживается сохранение во все распространённые форматы: Excel2007, Excel, PDF, Word2007, ODS, HTML, Текстовый файл);
- кнопки скрытия/показа параметров и отборов отчёта с функцией памяти параметров отображения;
- кнопка восстановления стандартных настроек отчёта;
- При необходимости можно закрыть детальные настройки отчёта для пользователей, так как весь необходимый минимум для управления отчётом вынесен на форму отчёта;
- Форма автоматически сохраняет параметры настройки отображения параметров/отборов.
Если Вы хотите, чтобы при запуске отчёта отборы или параметры были скрыты, то для этого достаточно в процедуру формы "ПриОткрытии" добавить вызов соответствующей процедуры "ОтборыСкрыть" или "ПараметрыСкрыть":
Процедура ПриОткрытии()
ОтборыСкрыть();
ПараметрыСкрыть();
КонецПроцедуры
Для создания СКД-отчёта, при помощи этого шаблона, необходимо всего лишь вставить текст запроса в основную схему компоновки данных и выполнить настройку СКД.
Так же если Вам понадобится использовать внешний источник данных для СКД, то в модуле объекта уже есть готовый код события "ПриКомпоновкеРезультата":
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
Перем КомпоновщикМакет, Макет, ПроцессорКомпоновки,
ПроцессорВывода, ВнешнийНаборДанных;
СтандартнаяОбработка = Ложь;
КомпоновщикМакет = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакет.Выполнить(СхемаКомпоновкиДанных, ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
//тзРезультат = СформироватьТзРезультат();
//ВнешнийНаборДанных = Новый Структура("тзРезультат", тзРезультат);
ПроцессорКомпоновки.Инициализировать(Макет, ВнешнийНаборДанных, ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
//ДокументРезультат.ПоказатьУровеньГруппировокСтрок(1); //Уровень 1
КонецПроцедуры
//upd 25.02.2019 Добавлен шаблон отчёта с выбором варианта
Тестировалось на платформе: 8.3.13.1513