СКД против "ручного" кодинга


На ИС остались еще ветераны, которые полагают , что СКД  это всего лишь "оформительский бантик" к запросу... В статье мы покажем как использование "бантика" дает резкий прирост производительности при построении сложных отчетов.

Сравним по быстродействию типовой отчет БП 1.6 "Обороты Счета" и его аналог,   интерактивно созданный  на СКД . Запуск рассматриваемых отчетов будет осуществляться в конфигурации БП 1.6.

 Экспериментальный отчет ОборотыСчетаБП1_6.erf, оформленный в стиле БП 2.0 , прикреплен к статье для скачивания:

В отчет добавлен небольшой дополнительный функционал : колонки "Обороты Дт" и "Обороты Кт" должны разворачиваться не только по счетам (как в БП 1.6 и в БП 2.0)  , но и произвольным настраиваемым образом . Например , по счетам и первому субконто этих счетов :

 

 

Описание

В СКД созданы три очевидных набора данных :

1. "Остатки "    как запрос к виртуальной таблице "ОстаткиИОбороты" :
2. "ОборотыДт" как запрос к виртуальной таблице "ОборотыДтКт"
3. "ОборотыКт" как запрос к виртуальной таблице "ОборотыДтКт"

Набор "Остатки" левым соединением связан с наборами "ОборотыДт" и "ОборотыКт" . В "Настройках" используется объект "Таблица" :

 

С помощью минимального "оформительского" кодинга в модуле формы получим отчет в стиле БП 2.0. Представленная экспериментальная разработка  может рассматриваться лишь  как основа для создания полнофункционального отчета со всеми необходимыми пользовательскими настройками.

Сравнение с БП 1.6

Убрав отметки в настройках у отмеченных выше красным группировок,  можно сравнить по быстродействию представленный отчет и аналогичный типовой "Обороты счета" в БП 1.6 . Возможно также сравнение и с отчетом автора от 2009г.  
http://avprog.ru/public/18838/ . Тогда я  не решился использовать СКД и "вручную" реализовал разворачивание колонок "Обороты Дт" и "Обороты Кт" по счетам и первому субконто.  Огромный проигрыш "ручного" кодинга в быстродействии был очевиден уже тогда. Сегодня читатели могут в этом убедиться.
Экспериментальный отчет выигрывает у типового по быстродейтсвию от 2 до 5 раз.

Сравнение с БП 2.0

Типовой отчет "Обороты счета" БП 2.0 более сложен.  В нём использовано  больше  дополнительных наборов данных и прямое сравнение по быстродействию затруднительно. Сравнить можно лишь способы разворачивания оборотов по корр.субконто :

 

Как видно из рисунка , корр.субконто в БП 2.0 располагаются в строках отчета причем "вперемешку" и дебетовые и кредитовые , что снижает, на мой взгляд, читаемость  отчета.   С другой стороны , отчет в БП 2.0  располагает  более разнообразным богатым функционалом.
Публикация автора  Tuning1c  http://avprog.ru/public/21923/  содержит отчет "Обороты счета" из БП 2.0 ,  адаптированный для запуска в БП 1.6.

 

Файлы обработки:

-