Доброго времени суток!
Модуль версии 6.0.3.4, УПП 1.3. Очень неприятная особенность заполнения дерева групп каталога. При начальном заполнении этого и не заметишь, но когда заполнили полностью дерево (несколько десятков групп и чуть более 2000 позиций) открытие формы заполнения дерева групп стало очень тормозить.
К слову, список номенклатуры заполнялся исключительно позициями (без групп).
Анализ проблемы выявил, что основное время затрачено на обновление кэша номенклатуры (Процедура: ОбновитьКэшНоменклатуры), а точнее процедура: ДобавитьСсылкуНоменклатурыВКэш, там получение реквизита ЭтоГруппа через точку (НоменклатураСсылка.ЭтоГруппа) сжирает невероятное количество времени.
В нашем случае, как я говорил группы не используются. Это дело я закомментировал, поставил заглушку, чтобы не было возможности добавлять группы (на всякий случай) и стало гораздо легче дышать.
И ещё "Отчет по номенклатуре дерева групп" - это что-то.. При таком дереве (описано выше) это просто неработоспособный отчет, кнопку нажал и повис навсегда..
UPD: Также при выгрузке замечено падение производительности, при формировании списка дерева групп и добавлении товаров в регистр пакета (Когда Операция <> "Свойства" и мКлассифицироватьПоДеревуГрупп):
Картинка:
При этом не зависит полная или частичная выгрузка. И вызывается процедура не один раз.
На моих данных (несколько десятков групп и чуть более 2000 позиций в дереве, порядка 15 позиций в выгрузке) результат лога при совершенно одинаковых выгрузках получился следующим:
ДО: Начало выгрузки 16:24:23 Конец 16:36:46
ПОСЛЕ: Начало выгрузки 16:52:35 Конец 16:53:45
ДО - означает до внесения изменений в типовой код формирования выгрузки.
Модуль версии 6.0.3.4, УПП 1.3. Очень неприятная особенность заполнения дерева групп каталога. При начальном заполнении этого и не заметишь, но когда заполнили полностью дерево (несколько десятков групп и чуть более 2000 позиций) открытие формы заполнения дерева групп стало очень тормозить.
К слову, список номенклатуры заполнялся исключительно позициями (без групп).
Анализ проблемы выявил, что основное время затрачено на обновление кэша номенклатуры (Процедура: ОбновитьКэшНоменклатуры), а точнее процедура: ДобавитьСсылкуНоменклатурыВКэш, там получение реквизита ЭтоГруппа через точку (НоменклатураСсылка.ЭтоГруппа) сжирает невероятное количество времени.
В нашем случае, как я говорил группы не используются. Это дело я закомментировал, поставил заглушку, чтобы не было возможности добавлять группы (на всякий случай) и стало гораздо легче дышать.
И ещё "Отчет по номенклатуре дерева групп" - это что-то.. При таком дереве (описано выше) это просто неработоспособный отчет, кнопку нажал и повис навсегда..
UPD: Также при выгрузке замечено падение производительности, при формировании списка дерева групп и добавлении товаров в регистр пакета (Когда Операция <> "Свойства" и мКлассифицироватьПоДеревуГрупп):
Картинка:
При этом не зависит полная или частичная выгрузка. И вызывается процедура не один раз.
На моих данных (несколько десятков групп и чуть более 2000 позиций в дереве, порядка 15 позиций в выгрузке) результат лога при совершенно одинаковых выгрузках получился следующим:
ДО: Начало выгрузки 16:24:23 Конец 16:36:46
ПОСЛЕ: Начало выгрузки 16:52:35 Конец 16:53:45
ДО - означает до внесения изменений в типовой код формирования выгрузки.
