Универсальный шаблон на тонких формах с использованием СКД имеет богатый механизм, который можно использовать при создании практически любого отчета. Шаблон был перенесен из старого моего шаблона на обычных формах с максимальным переносом функциональности. Шаблон еще не полностью отлажен, отражено пока не все что хотелось. Поэтому данная статья будет развиваться. Постараюсь позже тут же выложить шаблон на обычных формах (его надо просто будет привести к более шаблонному виду).
Основной вид отчета:
Все кнопки в принципе стандартны. Единственное, это вынесла кнопку скрытия/открытия уровней в панель:
Настройки отчета имеют два вида редактирования: Простой и Расширенный.
Теперь как с ним работать:
1) Шаблон может работать с несколькими схемами СКД и использовать несколько вариантов в схеме. На основе структуры метаданных отчета строится меню выбора отчетов. Если используется всего одна схема с одним вариантом, то меню скрыто.
Если какую то схему не следует отображать в меню, например, при использовании схемы для нестандартной расшифровки отчета, то в свойстве Комментарий схемы компоновки записываем слово "НеПоказывать".
2) С помощью свойства Синоним схемы компоновки открывается тот или иной слой выбора периода. Пока возможны варианты:
Остатки: используется стандартный параметр Период, который будет подставляться в схему при ее выполнении.
Оборот: выбор периода встроен в отчет и не зависит от конфигурации. Используются стандартные параметры НачалоПериода и КонецПериода, которые будут подставляться при выполнении схемы автоматически.
БезВыбора: в данном случае панель выбора периода скрыта.
Как понятно, возможно добавлять свои панели подобно введенным.
3) Основной механизм работы со схемой компоновки данных описан в модуле отчета, он достаточно универсален и гибок (область РаботаСоСхемойКомпановкиДанных). Использовать можно при нестандартных отчетах со сложной структурой. Замечу только, что если в отчете определены параметры помимо стандартных дат, то необходимо в процедуре ПримененияПараметровСКД описать их заполнение, например:
// нестандартные параметры
ПолеПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВидПодразделения");
Если ПолеПараметра <> Неопределено Тогда
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидПодразделения"), ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Вид подразделения"));
КонецЕсли;
Пока вкратце все.
Очень интересная и полезная разработка. Спасибо.
Добавил свою СКД, в существующий.
Выдает ошибку при выборе своего отчета
{ВнешнийОтчет.ШаблонОтчетаСКДChif.Форма.ФормаОтчетаУпр.Форма(1007)}: Поле объекта не обнаружено (Макет)
Элементы.ПанельИнтервалов.ТекущаяСтраница = ?(ЗначениеЗаполнено(Страница),Элементы[Страница],Элементы.Оборот);
(2) Конечно выдает. Если прочитать статью, то в синониме макета должно стоять либо «Оборот», либо «Остаток». Он не видит слоя который надо показывать для дат.
Потом сделаю что если не находит, слой не показывает… Точно!
Упс, не внимательность)))
Заметил проблемку
При двух Макетах если у них одинаковые «Имя варианта» в Настройках. В отчете доступен только один Макет, второй не отображается.
(4) Надо посмотреть что можно сделать. Спасибо.
Шаблон красивый, спасибо, но еще доделывать …..