Имя: Пароль:
1C
1С v8
Долгий вывод данных в СКД
0 МешочекЗнаний
 
06.02.17
08:03
День добрый.

Имеется отчёт на СКД, с ростом базы выполняется всё медленнее. Запустил замер производительности в 1С и получил такую картину: http://www.ximage.ru/index.php?id=1486357236

Как я понимаю (если не прав - поправьте) сам запрос отчёта выполняется быстро
МакетКомпоновки = КомпоновщикМакета.Выполнить 0,6 сек.

Вывод результата - медленно
ЭлементРезультата = ПроцессорКомпоновки.Следующий 5,5 сек

С чем это может быть связано?
1 jsmith82
 
06.02.17
08:06
А нельзя без Следующий вывести?
2 DrZombi
 
гуру
06.02.17
08:09
(0) Ошибка в строке № 30, левая связь выполненная избыточно.
...(телепат)... так же предсказываю, что в вашем запросе ведется отбор ВСЕЙ БД документов, за весь интервал работы в 1С, и с ростом сего момента, ваш отчет умирает со скоростью увеличения документа-оборота. :)
3 DrZombi
 
гуру
06.02.17
08:10
>>> С чем это может быть связано?

Рекомендую ошибку искать в руках разработчика :)
4 МешочекЗнаний
 
06.02.17
08:12
(1) Там отчёт на основе типового отчёта, он тянет общие типовые модули. Могу попробовать переписать, но через что если не ПроцессорКомпоновки.Следующий.

(2) Нет, запрос я перелопатил через профайлер скл. Избыточности выборки нет.
5 shamannk
 
06.02.17
08:15
(4) выложи запрос смеяться не будем.
6 DrZombi
 
гуру
06.02.17
08:20
(4) >>> ПроцессорКомпоновки.Следующий

Использовать типовой механизм вывода строчек отчета :)
7 МешочекЗнаний
 
06.02.17
08:25
(2) Навёл на мысль - запрос к консоли запросов отрабатывает за 0,5 сек, значит проблема в самой СКД. В отчете используются вычисляемые поля, попробовал сформировать отчет без них и формирует быстро.
Вроде всё, спасибо. Осталось придумать как запрос переписать, чтоб от вычисляемых полей избавиться.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn