Имя: Пароль:
1C
1С v8
Отчет "Платежный календарь". Замер производительности
,
0 ZZBase
 
04.03.14
15:52
Привет Всем!

Начал тормозить отчет "Платежный календарь". Замерил производительность и пришел к следующему тупику.

Строка
ПостроительОтчета.Выполнить();
занимает 0,53% времени

а следующая за ней строка
Результат = ПостроительОтчета.Результат;
занимает 99,47% времени.

Казалось бы оператор присваивания, а выполняется 2 минуты.

Никто не сталкивался с такой пробемой? Подскажите в чем дело?

P.S.
1С:Предприятие 8.2 (8.2.19.83)
Управление производственным предприятием, редакция 1.3 (1.3.48.1)
1 shuhard
 
04.03.14
15:53
(0)[ а выполняется 2 минуты. ]
календарь за 10 лет ?
2 ZZBase
 
04.03.14
15:53
Замер сделан на одном дне, сегодняшнем.
3 ale-sarin
 
04.03.14
15:54
я сталкивался.
Пришел к выводу, что запрос выполняет не ПостроительОтчета.Выполнить(), а обращение к ПостроительОтчета.Результат.
4 ZZBase
 
04.03.14
15:55
(1) даже если 10 лет, то основное время должна занимать строка "Выполнить", а присваивание должно быть гараздо быстрее.
5 ZZBase
 
04.03.14
15:57
(3) опа-на... интересно... спасибо.

Т.е. делаю вывод, что дело в тексте запроса, хотя в нем никто не ковырялся, т.е. он типовой. Однако после пересчета итогов началась такая вот беда.
6 ale-sarin
 
04.03.14
15:59
Вот еще


Выполнить (Execute)
Синтаксис:

Выполнить()
Описание:

Выполняет запрос, построенный для отчета.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Выставляет внутренний флаг необходимости перевыполнения запроса при выводе отчета (метод Вывести) и получении результата запроса.
7 ale-sarin
 
04.03.14
15:59
+6 НА последнюю строку обратите внимание.
8 ZZBase
 
04.03.14
16:12
(7) ах ты блин, какая засада-то :(
9 ale-sarin
 
04.03.14
16:14
(8) так то))
10 ZZBase
 
04.03.14
16:14
А мог ли ранее выполненный пересчет итогов каким-то образом замедлить выполнение запроса?
11 erp20
 
07.03.14
12:49
(0) Казалось бы оператор присваивания, а выполняется 2 минуты.

Планы запросов знаешь как собирать? Давай посмотрим трассировку с запросами, которые выполняются во время команды

Результат = ПостроительОтчета.Результат;

Может быть идет циклическое обращение к БД для получения представлений ссылочных типов.