Метод построения СКД отчета, которым часто принебрегают программисты, но который может ускорить построение в «1000 раз»
Предлагается пример СКД отчета, позволяющий нарастающим итогом рассчитать суммы по группировкам.
- Описание
- Подробнее
Описание
Вместо предисловия
Представляю Вам очередную задачку "по оптимизации" построения СКД отчетов. Цель задачи — необходимо рассчитать нарастающим итогом суммы по группировкам в отчете СКД.
Данный отчет мне достался "по-наследству" и работает "по документам", что довольно долго — можно "уснуть" (но причина не в запросе по документам).
Проанализировав "узкое место", где все тормозит (это был запрос в цикле для заполнения дополнительных полей в таблицу результата запроса) — я решил, отказаться от его использования и сделать рефакторинг кода постобработкой СКД результата.
В этой публикации я привожу пример кода постобработки СКД результата. Данный отчет создан для конфигурации 1С:Управление торговлей 11.5 на платформе 1С 8.3.24.1586. БСП не требуется.
Визуализация и пояснение работы отчета
Весь принцип работы представлен на рисунке. Вы выбираете "Период отчета", "Партнера" (по фильтру) — можно и всех сразу и строите отчет.
:
Рис.1. Формирование отчета — колонка "Баланс клиента" — нарастающим итогом по документам партнера.
На этом все. Данный метод мне действительно сэкономил время, поскольку я не "крутил" запрос, а по факту — просто доработал пересчетом полученный результат. Работает довольно быстро, объем документов — существенный в базе.
Так же вы можете посмотреть пример — как сделать нарастающий итого по группировке отчета.
Надеюсь, что данный пример будет Вам полезен и реально сэкономит Ваше время. Так же, прошу ознакомиться с другими моими обработками-примерами с подключаемым оборудованием:
Другие разработки автора
Набор примеров работы с оборудованием через БПО:
Произвольная текстовая строка в кассовом чеке ККМ по стандарту БПО
Программная работа с весами "Масса-К" через типовые возможности БПО
Работа с эмулятором дисплея покупателя через БПО
Пример реализации работы сканера штрихкода через БПО и блок цифровой клавиатуры
Другие полезные обработки:
Набор готовых макетов этикеток (ценников) для Розницы 2.3
Пример получения данных на УФ из макета схемы компоновщика
Служебная выгрузка-загрузка номенклатуры, штрихкодов, остатков, видов цен из 1С:Розницы в 1С:Розницу

