Задача 101.48397

Задача :101.48397

Краткое описание :
Скорость формирования отчета
Описание :
Разность данных по амортизации по методам учета
Что измененно :

Отчет "Разность данных по амортизации по методам учета".
Если выбрать в фильтре настройки отчета две карточки из задать период расчета 1 месяц,
например, с декабря по декабрь, то при формировании отчета счетчик индикатора прогресса отсчитывает примерно 200 и формируется за 5 секунд.
Если же в фильтре оставить ограничения по тем же карточкам и задать период расчета 1 год,
с января по декабрь, то при формировании отчета счетчик индикатора прогресса отсчитывает примерно 15000 и формируется за 3 минуты.
Эта разница во времени слишком велика для обработки такого незначительно объема данных.
(Т.е. 12 раз сформировать отчет за месяц - это в три раза быстрее чем 1 раз за 12 месяцев)
Просим проверить алгоритм построения отчета на предмет его оптимальности при выборке данных.
Как измененно :

Изменил алгоритм обработки операций изменения
стоимости:
Ранее: вначале обрабатывались карточки,
выгружались данные из архива за каждый месяц периода
отчета, далее обрабатывались ВСЕ документы изменения
стоимости за период; если отчет формируется для
нескольких карточек, т.е. наложены ограничения на
картотеку, то такой подход работал медленно.
Теперь: добавил таблица в памяти TKatOsCache;
для каждой карточки, после выгрузки данных по
износу помесячно за период, записываем Nrec в таблицу
TKatOsCache;
пробегаемся по таблице TKatOsCache, обрабатываются
ТОЛЬКО те документы изменения стоимости,в которых
данная карточка есть в спецификации.
Примечание: для проверки увеличения скорости
формирования отчета подключиться к БД с большим объемом
данных, например, ПГК на Oracle.

Название продукта Название компонента Тип Последняя версия Дата выхода
F_OSREPF_OSREPRES9.1.003.0
F_OSREPF_OSREPRES9.1.3.0