СКД против ручного кодинга
На ИС остались еще ветераны, которые полагают , что СКД это всего лишь "оформительский бантик" к запросу… В статье мы покажем как использование "бантика" дает резкий прирост производительности при построении сложных отчетов.
- Описание
- Подробнее
Описание
Сравним по быстродействию типовой отчет БП 1.6 «Обороты Счета» и его аналог, интерактивно созданный на СКД . Запуск рассматриваемых отчетов будет осуществляться в конфигурации БП 1.6.
Экспериментальный отчет ОборотыСчетаБП1_6.erf, оформленный в стиле БП 2.0 , прикреплен к статье для скачивания:

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

Описание
В СКД созданы три очевидных набора данных :
1. «Остатки » как запрос к виртуальной таблице «ОстаткиИОбороты» :
2. «ОборотыДт» как запрос к виртуальной таблице «ОборотыДтКт»
3. «ОборотыКт» как запрос к виртуальной таблице «ОборотыДтКт»
Набор «Остатки» левым соединением связан с наборами «ОборотыДт» и «ОборотыКт» . В «Настройках» используется объект «Таблица» :

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

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

