Прайс-лист для 7.7. А побыстрее можно?

Обработки - Ценообразование, прайсы

Неоптимально написанные стандартные отчеты для 77? Прошло уже более 15 лет, а они существуют. Один из таких аборигенов – Печать прайс-листа. Если в базе большое количество цен и ассортимент, запускайте этот отчет и спокойно идите на обед - результат может сформироваться только к концу перерыва.

Он является завсегдатаем нескольких конфигураций- есть в ТиС и в комплексной.

При его написании, у разработчика связь с землей похоже была утрачена.

Основной запрос выборки данных специфичен- принят постулат, что  у предприятия может быть два, ну от силы три типа цен. Второй постулат - цены одни, на все времена. Они вечны и не могут устаревать. Поэтому было  решено, что фильтр в запросе будет излишним, выберем все, какие только есть цены номенклатур. Разберемся с ними потом.

Видимо не учитывалось, что пользователи – они другие, и в одном прайс-листе не «вываливают» сразу все цены, а формируют лишь несколько - те, которые нужны.

 Заполучив эту мегавыборку и протащив ее по сети, разработчик не успокоился и, чтобы окончательно усугубить это дело, начал  в цикле по каждой позиции номенклатуры перебирать все типы цен.

Результат: в базах данных, где 20...40 и более типов цен, при большой выборке отчет «тормозит».

Понятно, что чем больше цен и номенклатур, тем эта деградация прогрессирует, а быстроходность отчета напротив падает.

Чтобы отчет вернуть к жизни, достаточно оказалось легкого ремонта  - исправить всего 10 строк: ноги поставить на место ног, а руки туда - куда им положено.

Нужно сказать, что сообщество давно заприметило эту странную особенность стандартного отчета и даже боролось с ним. Например здесь - Быстрый прайс для Торговля+Склад 7.7.

Сравнение времени выполнения отчетов в базе данных, где 130 цен при выборке по четырем типам цен:

Стандартный отчет – 430 сек.

Быстрый прайс для Торговля+Склад 7.7 – 170 сек.

Прайс-лист "побыстрее" – 26 сек.

P.S. При оформлении кнопки отчета использовались идея, картинка и три строки кода, «украденные» отсюда . За что спасибо автору.

Статьи и решения для платформы 8.х

Сравнение товарных остатков между двумя базами данных

Учет доставок в Управление торговлей 10.3 (УПП - опционально)

Сравнение взаиморасчетов с контрагентами УТ с БП 

Ошибка СУБД: ERROR: relation … does not exist

Настройка обмена в 1С:Предприятие 8 после смены баз данных

Учета документов, сданных в бухгалтерию для Управление торговли 10.3

Клиент-банк ВТБ 24. "Неожиданный" ОКТМО

Новогодние истории: Праздничный учет 

Решения для платформы 7.7

Быстрая Книга учета доходов и расходов для комплексной 7.7

Реестр сертификатов для 7.7

Комфортные наборы пользователя

Скачать файлы

Наименование Файл Версия Размер
Прайс-лист
.ert 206,00Kb
22.01.17
26
.ert 206,00Kb 26 Скачать

См. также

Комментарии
1. candy_sk (candy_sk) 28.06.13 21:56 Сейчас в теме
Спасибо!
Собирался уже сам писать нечто похожее (достали косяки отчёта)
Щас заценим!
2. Сергей (Che) Коцюра (CheBurator) 3382 04.04.15 21:48 Сейчас в теме
Хоть бы написал автор что-то, а то лезть в код смотерть...
3. aspirator 23 (aspirator23) 300 05.04.15 07:12 Сейчас в теме
(2) CheBurator, Так я же написал в чем проблема и как проявляется. Отчет доработан: "...исправить всего 10 строк..."
4. Сергей (Che) Коцюра (CheBurator) 3382 22.01.17 12:45 Сейчас в теме
Оставьте свое сообщение