T
Tomash
здравствуйте
дорабатываю один отчетик для аналитики, запросом выбирает все продажи, грузит в ТЗ, потом все товары заменяются на группы первого уровня справочника номенклатура, в которых они находятся, уровень вложенности товаров разный, делается это вот так:
всё работает нормально, но по замеру в отладчике именно расчет родителя первого уровня для 10-12к товаров занимает 80% времени формирования отчета
можно ли как-то оптимизировать данный код, или каким-то иным способом ускорить выполнение?
может быть можно в самом запросе получать родителя первого уровня? сам искал, но находил только получение родителя, а при разной глубине вложения - это не то, что необходимо.
дорабатываю один отчетик для аналитики, запросом выбирает все продажи, грузит в ТЗ, потом все товары заменяются на группы первого уровня справочника номенклатура, в которых они находятся, уровень вложенности товаров разный, делается это вот так:
Код:
ТзПроданоПерУр=СоздатьОбъект("ТаблицаЗначений");
ТзПроданоПерУр.Загрузить(ТзПродано);
ТзПроданоПерУр.ВыбратьСтроки();
Пока ТзПроданоПерУр.ПолучитьСтроку()=1 Цикл
Пока ТзПроданоПерУр.Товар.Уровень()>1 Цикл
ТзПроданоПерУр.Товар=ТзПроданоПерУр.Товар.Родитель;
КонецЦикла;
КонецЦикла;
всё работает нормально, но по замеру в отладчике именно расчет родителя первого уровня для 10-12к товаров занимает 80% времени формирования отчета
можно ли как-то оптимизировать данный код, или каким-то иным способом ускорить выполнение?
может быть можно в самом запросе получать родителя первого уровня? сам искал, но находил только получение родителя, а при разной глубине вложения - это не то, что необходимо.