![]() |
![]() |
![]() |
|
Отчет на СКД съедает всю память | ☑ | ||
---|---|---|---|---|
0
DenyK1
04.08.10
✎
10:05
|
При формировании отчета на СКД (большой объем выводимых данных) начинает поедаться оперативка, в итоге падает клиентское приложение.
Можно ли с этим как-то бороться? Есть ли ограничение на количество строк/столбцов в итоговой форме? |
|||
1
Fragster
гуру
04.08.10
✎
10:09
|
был глюк - если в макете сделать группировку, а потом - еще одну вложенную группировку типа "детальные записи" - то оперативки кушалось примерно в 8 раз больше на построение...
|
|||
2
DenyK1
04.08.10
✎
10:29
|
В отчете 4 группировки по измерениям, "детальных записей" нет, и всего 3 таких таблицы (разный порядок группировок и состав колонок)...
Если не делать отбор (например по филиалу) - клиентская часть просто падает молча, либо говорит перед этим "не хватает памяти" (ну и диспетчер задач естессно показывает что вся память занята процессом 1cv8) |
|||
3
mikecool
04.08.10
✎
10:29
|
мб параметры не указаны для компоновки?
|
|||
4
DenyK1
04.08.10
✎
10:30
|
Что интересно, если все-таки (с отборами) отчет сформировать, то при закрытии вся память освобождается... Т.е. получается что вся выходная форма хранится в оперативке :(
|
|||
5
DenyK1
04.08.10
✎
10:31
|
3 - какие параметры?
|
|||
6
mikecool
04.08.10
✎
10:32
|
(5) отборы и параметры указаны для компоновщика или где-нить в секции ГДЕ основного запроса? фигурные скобки присутствуют?
|
|||
7
Ksandr
04.08.10
✎
10:33
|
мне кажется дело в запросе
|
|||
8
Лефмихалыч
04.08.10
✎
10:39
|
(0) оптимизируй запрос или откажись от какой-то части данных
(1) это не глюк, это так и должно быть, ибо детальные записи - это ВСЁ ваще. |
|||
9
DenyK1
04.08.10
✎
11:47
|
(6) да везде, там запрос на 1000 строк и куча параметров, доступных для интерактивного изменения и "скрытых" для юзера, {} - есть тоже
(8) запрос выполняется быстро, максимум за 0,5 - 1 минуту, оптимизировать там уже нечего :( отказаться от части данных не я, а руководство не хочет :) я бы с удовольствием :) |
|||
10
DenyK1
04.08.10
✎
11:49
|
Запрос (и параметры) мне кажется тут ни причем... Дело в том, что СКД или сама 1С пытается запихать всю выходную форму в оперативку, а она большая очень... :( Скорее всего это фича или глюк самой платформы, ну или по крайней мере СКД....
|
|||
11
utilize
04.08.10
✎
13:16
|
может тогда запрос в студию?
|
|||
12
Лефмихалыч
04.08.10
✎
13:17
|
(9) а как ты проверял, что запрос выполняется 0.5-1 минут?
(11) лучше не запрос, а схему с настройкой и всеми пирогами |
|||
13
Лефмихалыч
04.08.10
✎
13:18
|
+(12) ну, и - намекнуть, на какой конфе это смотреть
|
|||
14
utilize
04.08.10
✎
13:18
|
(12)+100500
|
|||
15
Fragster
гуру
04.08.10
✎
13:24
|
(12) от 0% до того момента как побежит бегунок вывода в СКД
|
|||
16
Fragster
гуру
04.08.10
✎
13:29
|
(8).2 да не, смысл в том, что когда все поля переносишь в группировку - все нормально
|
|||
17
Лефмихалыч
04.08.10
✎
13:32
|
(15) а давай
(16) я и говорю, это не глюк, это так было, есть и будет, если детальные записи есть. Посмотри, какой запрос в итоге СКД стряпает, когда детальные записи в настройках есть - офигеешь. |
|||
18
Лефмихалыч
04.08.10
✎
13:32
|
+(17) а давай ответ автора посмотрим?
|
|||
19
Fragster
гуру
04.08.10
✎
13:33
|
(17) ну, я только понял, что чем меньше вложенных группировок, тем меньше жрет СКД, причем в геометрической прогрессии
|
|||
20
Лефмихалыч
04.08.10
✎
13:35
|
(19) так так оно всегда было - с итогами и построителем та же история
|
|||
21
DenyK1
04.08.10
✎
13:36
|
(12), (15) - да в консоли запросов естессно, она то память не хавает и выводить сразу начинает, не висит, пока вся выборка не выведется
Запрос и схему - не могу к сожалению, конфига вообще самописанная, но сэмулировать ситуацию элементарно - какойнить регистр из 100-1000 записей на самого себя перемножить пару-тройку раз, чтоб на выходе порядка мульёна записей получилось - и вперед, к победе коммунизма (1С-ка точно свалится на таком объеме). Группировку вообще одну можно оставить (т.е. линейная выходная форма) - не поможет. Вывод - память жрет сама СКД, а это я считаю никакая не фича, а самый натуральный глюк (та же консоль запросов ведь не жрет...). |
|||
22
Лефмихалыч
04.08.10
✎
13:38
|
(21) то есть попыток посмотреть, какой по факту запрос СКД генерит, даже не предпринималось, я правильно понимаю?
|
|||
23
DenyK1
04.08.10
✎
13:38
|
(17) - еще раз говорю, детальных записей нет, только 4 группировки.
Запрос скомпонованный естессно видел, его и копировал в консоль запросов, когдла время замерял. |
|||
24
DenyK1
04.08.10
✎
13:39
|
а что может быть страшного в скомпонованном запросе? там только параметры подставлены, да "представления" для сортировки добавлены, больше ничего помимо самого исходного запроса там и нет....
|
|||
25
Лефмихалыч
04.08.10
✎
13:39
|
(23) про детальные записи разговор не про твой случай, расслабьсо
|
|||
26
Fragster
гуру
04.08.10
✎
13:40
|
(23) 4 вложенные группировки?
|
|||
27
DenyK1
04.08.10
✎
13:40
|
(25) :))) да не напрягался особо :)))
|
|||
28
DenyK1
04.08.10
✎
13:40
|
(26) даже если убрать все группировки - ситуация та же
|
|||
29
Лефмихалыч
04.08.10
✎
13:41
|
(24) скопонованный запрос может разительно отличаться от того, который изначально в схеме указан.
(28) ну, батенька, аппендицит по телефону не лечится |
|||
30
DenyK1
04.08.10
✎
13:42
|
нарисуйте любую схему, какая вам нравится, главное чтоб в итоговой выборке было под 1 000 000 записей и понаблюдайте за расходом памяти в процессе формирования отчета, через тот же диспетчер задач
|
|||
31
DenyK1
04.08.10
✎
13:43
|
в оригинальном отчете у меня должно было бы выводиться около 200 000 записей о 30 колонках.... не выводится... на 3Гб клиентская часть с шумом валится...
|
|||
32
DenyK1
04.08.10
✎
13:44
|
(29) например? кроме того что я описал
|
|||
33
DenyK1
04.08.10
✎
13:45
|
(29) набор данных то один, если что.... так что нет там ничего "разительно отличающегося"
|
|||
34
Лефмихалыч
04.08.10
✎
13:48
|
(31) "200 000 записей о 30 колонках"?.. и что вы таки после этого хотите? как правило бабу? :) Этот отчет ни кому не нужен, если он не в фискально-контролирующие органы предъявляется (это единственный потребитель бессмысленных отчетов в этой стране).
Попробуй просто создать ТабличныйДокумент такого размера без СКД, думаю, одноэска так же обосрецца. (33) к этому набору пристёгиваются характеристики и возможно другие наборы, если есть соединение наборов |
|||
35
Лефмихалыч
04.08.10
✎
13:51
|
вообще, забавно, как реляционные базы данных используются для того, чтобы долго-долго собирать инфу, раскладывая ее по разным таблицам, чтобы потом свалить все в ОДНУ НЕВ...БЕННУЮ ПЛОСКУЮ хреноту, которую потом пытаться круть-верть ее в экселе...
|
|||
36
Невский Александр
04.08.10
✎
13:54
|
(0) пробовал в консоли запускать свой запрос на СКД?
|
|||
37
utilize
04.08.10
✎
14:00
|
(35)зачем раками душу дразнишь?)
|
|||
38
Лефмихалыч
04.08.10
✎
14:01
|
(37) на самом деле раки - не самая вкусная закусь :)
|
|||
39
DenyK1
04.08.10
✎
14:01
|
(34) набор данных один, характеристик нет, скомпонованный запрос отличается только подстановкой отборов
(35) это точно! сам поражаюсь таким желаниям :)))))))))))) (36) пробовал, писал уже выше об этом |
|||
40
DenyK1
04.08.10
✎
14:02
|
туплю, при чем тут раки? :))))
|
|||
41
Лефмихалыч
04.08.10
✎
14:04
|
(39) ну, скажи, что для того, чтобы получить этот отчет, нужен комп с x64 архитектурой, ибо только на таком компе аппликухи могут получить достаточное количество рамы для "200 000 записей с 30 колонками". Кстати, а распечатывать это оне не собираются?
(40) фотка в ЛК Лефмихалыч |
|||
42
DenyK1
04.08.10
✎
14:13
|
(41) - распечатывать? :)))))))))))))))
на win7x64 клиентская часть 8.1 будет работать? если сервер приложений на х32? |
|||
43
DenyK1
04.08.10
✎
14:15
|
(41) по поводу распечатки - печатать не пытались, но сохранить в ехель - да, ехель 2007 естессно подвис колом тоже :)))))))
|
|||
44
Лефмихалыч
04.08.10
✎
14:16
|
(42) ну, да, распечатывать - для последующей автоматической обработки шредером
|
|||
45
Невский Александр
04.08.10
✎
14:25
|
Все настройки СКД, заслуживающие внимания в студию
|
|||
46
DenyK1
04.08.10
✎
14:25
|
(45) прочитайте топик с начала
|
|||
47
Лефмихалыч
04.08.10
✎
14:28
|
(45) читай (31)
|
|||
48
Невский Александр
04.08.10
✎
14:28
|
Не вижу ... А ты пробовал 1) таблицы по отдельности выводить по 1 штуке и 2) баловаться группировками, выводить их не по 4, а по 2-3 штуки?
|
|||
49
Невский Александр
04.08.10
✎
14:29
|
(47) прочитал
|
|||
50
Лефмихалыч
04.08.10
✎
14:29
|
(49) а, ну тогда ладно
|
|||
51
DenyK1
04.08.10
✎
14:37
|
(48) еще раз: рисуем простейшую схему, запрос по регистру из 1000 записей, помноженному сам на себя (left join), на выходе 1 000 000 записей, клиентская часть падает из-за нехватки памяти.
|
|||
52
Bober
04.08.10
✎
14:43
|
(31) - отключи расшифровку
(51) - безумие выводить 1 млн. пользователю |
|||
53
Fragster
гуру
04.08.10
✎
14:53
|
(51) а накуа?
|
|||
54
DenyK1
05.08.10
✎
06:19
|
(52) первый дельный совет! :) убрал расшифровку - памяти хватило :)
но естессно полностью согласен, что отчет в 1 000 000 строк смотреть никто не будет :) |
|||
55
rozer76
05.08.10
✎
15:31
|
(54) Если несложно пояснить как вы это сделали? У меня такая же проблема с одним отчетом :(
|
|||
56
Bober
05.08.10
✎
17:00
|
(55)
КомпоновщикМакетаКомпоновкиДанных, у метода Выполнить() третий параметр отвечает за расшифровку данных в СКД |
|||
57
Bober
05.08.10
✎
17:23
|
(55) Если надо отключить расшифровку только по конкретному полю, то:
- переходишь на закладку Макет - добавляешь макет поля для ПоляКомпоновкиДанных\ - указываешь для него ячейку к табличном документе - заходишь в свойства ячейки, у свойства "Заполнение" выставляешь значение "параметр" - в появившихся дополнительных свойствах, свойство "Параметр" заполняешь именем поля СКД, в свойство "параметр расшифровки" оставляешь пустым. |
|||
58
rozer76
06.08.10
✎
08:04
|
(57) благодарю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |