gifts2017

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

Опубликовал aspirator 23 (aspirator23) в раздел Обработки - Ценообразование, прайсы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

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