|
объемные отчеты на основе внешних источников данных (ТаблицаЗначений -> СКД) | ☑ | ||
---|---|---|---|---|
0
892689
15.05.18
✎
12:15
|
Добрый день!
Возможно эта проблема не имеет решения на текущий момент, но если подскажете альтернативные варианты, то буду несказанно рад) Проблема такая: Сделал мега-большой специфический расчетный отчет с данными в ТаблицеЗнаений. Эту ТаблицуЗначений использовал в качестве источника данных для СКД. НО: при очень большом количестве записей в ТаблицеЗначений при формировании отчета на СКД вылетает ошибка "нехватки памяти" Если повезет, то сам отчет все же выведется в макет, но через 15 минут. Искал возможности загрузить ТаблицуЗначений во временные таблицы запроса и последующего использования в СКД - ПИШУТ НЕВОЗМОЖНО! Подскажите, пожалуйста, альтернативные варианты? (совет делать все в одном запросе не подходит, т.к. ТаблицаЗначений формируется на основе не менее 10-ти запросов к WEB-сервисам других информационных баз) |
|||
1
kabanoff
15.05.18
✎
12:58
|
(0) На каком этапе вылетает? На этапе компоновки или на этапе вывода в форму отчета?
|
|||
2
Buster007
15.05.18
✎
13:20
|
И как проанализировать этот отчет? Подозреваю, что его будут выгружать и там уже накладывать фильтры. Не проще ли сразу их наложить?
|
|||
3
892689
15.05.18
✎
13:28
|
(1) Ошибка возникает на этапе вывода в форму отчета
|
|||
4
catena
15.05.18
✎
13:29
|
(3)а чем бы тогда помогла загрузка этой таблицы во времянку в запросе?
|
|||
5
892689
15.05.18
✎
13:30
|
(2) Фильтры уже сделал, но иногда будет необходима возможность просмотра всей консолидированной информации
|
|||
6
Timon1405
15.05.18
✎
13:30
|
отключите расшфровки в отчете
|
|||
7
fedoss
15.05.18
✎
13:31
|
Как вариант - пнуть эту таблицу на SQL сервер, а СКД данные получить уже оттуда
|
|||
8
catena
15.05.18
✎
13:31
|
(5)Может быть тогда имеет смысл завести под нее физическую таблицу? Регистр там...
|
|||
9
892689
15.05.18
✎
13:33
|
(4) В 1С если отчет СКД формируется на основе запроса - то все хорошо. Если этот же запрос просто выгрузить в ТаблицуЗначений и использовать в качестве внешнего источника для СКД, то при больших объемах время вывода в макет вырастает в 10 и более раз.
|
|||
10
fedoss
15.05.18
✎
13:40
|
Кстати, раз уж это "мега-большой специфический расчетный отчет" не проще регламентом периодически получать эти данные в физические таблицы (хошь прям внутри 1С, хошь во внешний источник), а СКД строить уже по данным этих таблиц?
|
|||
11
catena
15.05.18
✎
13:46
|
(9)Вы свое сообщение перечитайте - у СКД проблема именно с выводом этого объема.
|
|||
12
catena
15.05.18
✎
13:48
|
Есть у меня один упоротый отдел, который заказал себе такой отчет. Долго я их отговаривала, в результате плюнула, сделала им регистр, чтобы хотя бы базу не грузили в момент формирования. Ежемесячно его формируют, три часа сохраняют, три часа в екселе открывают и, с-ка, фильтры накладывают. Ночуют на работе, чтоб к концу месяца успеть. Дебилоиды.
|
|||
13
892689
15.05.18
✎
13:48
|
(10) Данные в каждую минуту меняются - это и остатки по всем складам всех организаций и взаиморасчеты и прочее. Вариант с физической таблицей подходит и не_подходит. Подходит - потому что гарантированно даст положительный результат. А вот какова скорость этого решения будет - пока неизвестно. Может быть он будет 30 минут только записывать эту таблицу. А если одновременно начнут формировать этот отчет 10 пользователей, то может и не прокатить
|
|||
14
892689
15.05.18
✎
13:52
|
(7) записывать данные напрямую в SQL не пробовал. Кто знает: это будет быстрее, чем запись в таблицу 1С?
(если запись будет производится из самой 1С-ки) |
|||
15
RKx
15.05.18
✎
14:00
|
(0) 1с - х32, поди?
|
|||
16
kabanoff
15.05.18
✎
14:01
|
(3) Зачем пользователям такой отчет, в котором 100500 строк? Как они его будут потом анализировать?
(14) Если использовать bulk-insert, то да, т.к. 1С пишет в SQL построчно. |
|||
17
RKx
15.05.18
✎
14:04
|
(0) "ТаблицаЗначений формируется на основе не менее 10-ти запросов к WEB-сервисам других информационных баз)"
Сделай регистр сведений, или справочник - не суть важно. Запихай туда свою ТЗ, и делай сколько угодно СКД... |
|||
18
fedoss
15.05.18
✎
14:05
|
(13) ну все равно есть какой-то разумный интервал обновления, судя по информации об отчете, он не моментально выполняется. Так что и данные можно обновлять периодически централизовано, а не получать для каждого пользователя.
(14) Можно попробовать через ВнешнийИсточникДанныхТаблицаНаборЗаписей, должно быть быстрее записи в таблицу 1С. Хотя РСНаборЗаписей тоже должно быть довольно быстро. Все зависит от объема данных. |
|||
19
kittystark
15.05.18
✎
14:06
|
(0) перейти на х64 версию платформы/клиента
|
|||
20
RKx
15.05.18
✎
14:09
|
(14) Лицензию нарушить хочешь? Щас копирасты набегут...
Гораздо быстрее. Я-бы, и обработал всё на SQL-сервере. А в ТЗ результат уже утянул-бы. |
|||
21
fedoss
15.05.18
✎
14:11
|
(20) Почему нарушить?? Никто не говорил про прямую запись в таблицы 1С
|
|||
22
scanduta
15.05.18
✎
14:13
|
(0) Была такая проблема в больших отчетах с 0.5 - 1 млн строк и выше.
СКД очень долго их обрабатывает. Решили выгрузкой в excel без использования СКД |
|||
23
RKx
15.05.18
✎
14:13
|
(21) А как он СКД делать будет? Из внешних источников, или уложив ТЗ в темпдб?
|
|||
24
kabanoff
15.05.18
✎
14:21
|
(3) А вообще, как вариант, можно попробовать заменить вывод в Табличный документ на вывод в Таблицу значений. И если удастся вывести, то полученную таблицу сохранить в XLS.
|
|||
25
fedoss
15.05.18
✎
14:28
|
(23) Проще всего СКД по таблице ВИД
|
|||
26
892689
15.05.18
✎
15:46
|
(15) Да, сервер 32-х разрядный, как перенесут я сообщу результатах.
|
|||
27
892689
15.05.18
✎
15:48
|
(6) Спасибо, как-то сразу об этом не задумался, но проверить смогу только завтра. Интересно, какой % производительности это может дать;
|
|||
28
892689
15.05.18
✎
15:50
|
(22) Спасибо за идею с excel! Как вариант - очень даже подходит.
|
|||
29
Timon1405
15.05.18
✎
15:53
|
держите в курсе, тема интересная
|
|||
30
Buster007
15.05.18
✎
15:55
|
(28) удали им эксель на компе и все научаться пользоваться фильтрами в отчетах
|
|||
31
892689
15.05.18
✎
18:17
|
(29) Отключение расшифровки сократило время вывода на 16%, - не фонтан, но какой-никакой прирост.
|
|||
32
mistеr
15.05.18
✎
21:34
|
(13) >Данные в каждую минуту меняются - это и остатки по всем складам всех организаций и взаиморасчеты и прочее.
У вас явная проблема с дизайном. Такие данные тащить в отчеты через веб сервисы неправильно. Их нужно загружать в базу-хранилище и строить отчеты там. Почитайте про 1С:Консолизацию, что ли. |
|||
33
mistеr
15.05.18
✎
21:34
|
1С:Консолидацию
|
|||
34
tesseract
16.05.18
✎
01:36
|
(13) Для таких случаев придумали тот же сервер отчетов, который потом стал BI.
Каждую минуту данные не могут меняться. Может меняться некоторый процент данных. Вот их берем и записываем, например через регистр какой-нибудь, который после всех "ЯТутвСКЛИспользуюСтрокиЧерезЛайкЧерезКучуТаблицкоторыеЕщеФормируютсяИспользуяЗапросыВЦикле" даёт нормальный результат. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |