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