Подсистема Динамические отчеты. V 1.0
Подсистема позволяет в реальном времени менять запрос и настройки отчета СКД, создавать варианты для разных пользователей, а также настраивать их права на доступ к вариантам отчета и модификациям отчета.
Предыстория.
Эта подсистема родилась от безысходности. Существовал гигантский отчет, который для разных подразделений получал данные абсолютно разными способами. Отчет состоял из основного запроса, который подготавливал данные, и гигантского количества показателей, производных от этих данных и друг от друга. Причем менялись эти показатели часто. Если честно, я очень устал от этого отчета. Каждые несколько месяцев надо было возвращаться к этому отчету, менять показатели, параметры запроса, добавлять новые колонки, менять старые... Кто хоть раз лазил в глубину многоуровнего запроса меня поймет. И родилась мысль облегчить себе работу.
Как можно облегчить себе жизнь? Делегировать работу и разделить ее на разные этапы.
Добавляем справочник Варианты запросов, и переносим базовый запрос и средства для его редактирования и отладки в него.
Обратите внимание, запрос обязательно должен заполнять виртуальную таблицу с предопределенным именем «ДанныеДляРасчета», для этого добавляем строку «ПОМЕСТИТЬ ДанныеДляРасчета», как показано на рисунке выше!
Сделаем встроенный редактор прав, и добавим права на редактирование запроса, параметров запроса и прочее для выбранных пользователей.
Сделаем автоматическое получение параметров запроса:
Обратите внимание! Параметры Дот_ВариантДинамическогоОтчета, ПериодОтчета, ДатаНачала и ДатаКонца используются алгоритмом и должны присутствовать, если их нет их можно добавить.
И конечно определим состав показателей, которые будут рассчитываться на основание основании данных базового запроса и порядок их расчета:
Приоритет = 0 — показатель из базового запроса, 1 и выше рассчитывается на основании базового запроса и показателей предыдущего уровня.
Добавим показатель маржа с приоритетом 1:
Пропишем формулу для итогов, так это ресурс в СКД:
На любом этапе мы можем отладить наш запрос с установленными параметрами в консоли отчетов от Александра Кузнецова Консоль запросов 9000:
Теперь сохраним вариант и нажмем кнопу «Настройки схемы отчета»
Здесь настроим группировки, Поля, Условное оформление и цветовую схему как в обычном СКД.
Дополнительно вынесем параметр вариант отчета в быстрый доступ:
Сохраним настройки и еще раз сохраним вариант.
Запустим наш динамический отчет и выберем вариант отчета:
Не реализованные в этой версии опции:
- Импорт схемы, показателей и параметров запроса отчета из существующего отчета.
- Расширенная диагностика ошибок.
- Поддержка расширенных функций СКД в вычисляемых полях.
Совет. Рекомендую текущую версию скачивать только тем, кто хорошо разбирается в СКД и если что, сможет найти проблему в отладчике.
Подсистема тестировалась на платформе 1С:Предприятие 8.3 (8.3.23.2040).
Другие разработки автора:
Акция! Вы можете скачать архив всех моих разработок, которые я предлагаю за StartMone, по Специальной цене: //infostart.ru/public/960899/#archive
Молочников Олег Spb. 2024
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.12.165