Имя: Пароль:
1C
1С v8
Отчёт формируется программно 15 минут, а интерактивно 7 сек
0 vadimegorov
 
10.02.17
14:15
Есть отчет на базе универсального. Суть в следующем: если открываем форму отчета и жмем сформировать после установки отборов - время выполнения 7-8 секунд. Если запускаем формирование и запуск отчета программно, то время = 15-18 минут!!!

Программное формирование делаю так:

Отчет=Отчеты.ВоронкаПродажОтПервичныхПосещений.Создать();
Отчет.УстановитьНачальныеНастройки();
Отчет.УниверсальныйОтчет.ДобавитьОтбор("Подразделение",Истина,ВидСравнения.Равно,Подразделение);
Отчет.УниверсальныйОтчет.ДобавитьОтбор("Менеджер",Истина,ВидСравнения.Равно,Менеджер);
Отчет.УниверсальныйОтчет.ДатаКон=КонецДня(ДатаОтчета);
Отчет.УниверсальныйОтчет.ДатаНач=НАчалоМесяца(ДатаОтчета);

ТабДокБуф=Новый ТабличныйДокумент();
Отчет.СформироватьОтчет(ТабДокБуф); //

Что за магия? Отборы одинаковые, период тоже. В форме отчета при открытии ничего не делается. Пытался найти разницу в настройках и построителе отчета формируя напрямую и как указано выше - разницу не нашел.
1 drcrasher
 
10.02.17
14:17
(0) полагаю, что ут 10.3?
перенеси код из формы в модуль объект
2 Посмотрим
 
10.02.17
14:17
Замер производительности сделай
3 vadimegorov
 
10.02.17
14:20
(2) Что я там увижу? Одна строка по сути тормозит УниверсальныйОтчет.Сформировать()
4 vadimegorov
 
10.02.17
14:21
(1) Сорри, не указал. УПП 1.3. Попробую.
5 novichok79
 
10.02.17
14:31
(4) что говорит технологический журнал?
6 vadimegorov
 
10.02.17
14:40
(1) Не помогло
7 vadimegorov
 
10.02.17
14:52
(5) Ничего
8 aka AMIGO
 
10.02.17
14:59
(3) У меня вывод не по функциям/процедурам в целом, а по операторам.
9 aka AMIGO
 
10.02.17
15:02
Кстати, наибольшее время занял оператор
Предупреждение("Табличная Часть заполнена!",,10)
10 vadimegorov
 
10.02.17
16:02
Думал что-то с настройками упускаю. Сформировал интерактивно сохранил настройки. В программное формирование добавил загрузку настроек. Результаты все выводит правильно, но по времени такая же лажа... Хееелп! Я уже голову сломал (((
11 ptiz
 
10.02.17
16:24
(10) Сделай замер производительности - какая строка съедает время?
12 vadimegorov
 
10.02.17
16:38
(11) ПостроительОтчета.Вывести(ТабличныйДокумент);

из Отчет.УниверсальныйОтчет.МодульОбъекта
13 ptiz
 
10.02.17
17:12
(12) Сохрани табличные документы при ручном и автоматическом отчете - и запусти их сравнение.
Либо период не устанавливается, либо полей больше и отчет выходит огромным.
Независимо от того, куда вы едете — это в гору и против ветра!