|
Долго выводит результат СКД | ☑ | ||
---|---|---|---|---|
0
serg-lom89
10.04.17
✎
15:17
|
Добрый день уважаемые форумчане.Прошу вашей помощи.
Формирую отчет с помощью СКД. Вывожу данные как Диаграмма. Программно ставлю точки,серии диаграммы. И что то долго выводит данные на форму,хотя запрос через в отладчике выполняется очень быстро. Начал грешить что много рассчитывается ресурсов. Пошел путем что их очищаю,и подставляю в зависимости от выбранных пользователем. Чуток быстрее начало работать ,но все равно нет ( Подскажите,када копать то? |
|||
1
serg-lom89
10.04.17
✎
15:21
|
в запросе были вложенные запросы,переделал
|
|||
2
serg-lom89
10.04.17
✎
16:11
|
неужели никто не сталкивался ?
|
|||
3
Timon1405
10.04.17
✎
16:16
|
1 сделайте замер производительности
2 >>Программно ставлю точки,серии диаграммы. Если в этих расчетах используются ссылки на объекты БД, то может тормозить из-за получения объектов. возможно ли эти данные вычислить в запросе? |
|||
4
PCcomCat
10.04.17
✎
16:18
|
Чем больше вычисляемых полей, тем дольше формирует. Пробуй в запросе по-возможности вычислить.
|
|||
5
serg-lom89
10.04.17
✎
16:19
|
(3) не все получиться вычислить в запросе на самом деле
|
|||
6
ERWINS
10.04.17
✎
16:21
|
а сам запрос?
а померить что выполняется долго, вывод или запрос? |
|||
7
PCcomCat
10.04.17
✎
16:26
|
Запрос может выполняться быстро. А вот из-за вычислений в СКД в разы увеличится вывод результата.
Если слишком большие тормоза, то лучше оптимизировать под вычисление в запросе или программное вычисление полей по-максимуму. |
|||
8
Timon1405
10.04.17
✎
16:28
|
(5) замер в студию.
он покажет где проблема: в запросе или в постобработке верим, бывает такое, что не вычислить, например, контрольный символ в штрихкоде на лету. если постобратоку ускорить не получится, может быть стоит изменить структуру конфигурации, ввести какие-то служебные таблицы, рассчитать эти данные заранее |
|||
9
ERWINS
10.04.17
✎
17:54
|
(7) еще может быть обращение к полям после запроса.
|
|||
10
serg-lom89
11.04.17
✎
10:49
|
воткнул в кнопку сформировать время выполнения
На строчке МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); время выполнения 1(секунд)- 0,02 ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); скажем так от 20 секунд до 42 секунд |
|||
11
serg-lom89
11.04.17
✎
10:53
|
это выборка данных за месяц.
с Начала года На строчке МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); время выполнения 1секунд ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); 46 сек |
|||
12
serg-lom89
11.04.17
✎
11:02
|
(8) вот примерно такие показатели
|
|||
13
ERWINS
11.04.17
✎
11:10
|
в выводе у тебя вероятно идет обращение к полям базы
|
|||
14
serg-lom89
11.04.17
✎
11:22
|
(13) как сделать более оптимально тогда?
просто что то я зашел в тупик( |
|||
15
Timon1405
11.04.17
✎
11:37
|
(14) >>Программно ставлю точки,серии диаграммы.
|
|||
16
Timon1405
11.04.17
✎
11:37
|
Что там за расчеты?
|
|||
17
serg-lom89
11.04.17
✎
11:46
|
(16)
Груп = Серия.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); Груп.Использование = Истина; Груп.Поле = Новый ПолеКомпоновкиДанных(ПолеСерий); точки там способом Точки = Диаграмма.Точки.Добавить() ; |
|||
18
serg-lom89
11.04.17
✎
12:02
|
сделал что бы не все ресурсы расчитывались,а какие пользователь выбирает. программно добавляю ресурсы выбранные
|
|||
19
ERWINS
11.04.17
✎
12:04
|
(14) код покажи
|
|||
20
ERWINS
11.04.17
✎
12:05
|
вычисляемые поля
+ код в заполнении макета |
|||
21
serg-lom89
11.04.17
✎
12:09
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |