Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

объемные отчеты на основе внешних источников данных (ТаблицаЗначений -> СКД)

объемные отчеты на основе внешних источников данных (ТаблицаЗначений -> СКД)
Я
   892689
 
15.05.18 - 12:15
Добрый день!
Возможно эта проблема не имеет решения на текущий момент, но если подскажете альтернативные варианты, то буду несказанно рад)

Проблема такая: Сделал мега-большой специфический расчетный отчет с данными в ТаблицеЗнаений. Эту ТаблицуЗначений использовал в качестве источника данных для СКД.

НО: при очень большом количестве записей в ТаблицеЗначений при формировании отчета на СКД вылетает ошибка "нехватки памяти"
Если повезет, то сам отчет все же выведется в макет, но через 15 минут.

Искал возможности загрузить ТаблицуЗначений во временные таблицы запроса и последующего использования в СКД - ПИШУТ НЕВОЗМОЖНО!

Подскажите, пожалуйста, альтернативные варианты?

(совет делать все в одном запросе не подходит, т.к. ТаблицаЗначений формируется на основе не менее 10-ти запросов к WEB-сервисам других информационных баз)
 
 
   kabanoff
 
1 - 15.05.18 - 12:58
(0) На каком этапе вылетает? На этапе компоновки или на этапе вывода в форму отчета?
   Buster007
 
2 - 15.05.18 - 13:20
И как проанализировать этот отчет? Подозреваю, что его будут выгружать и там уже накладывать фильтры. Не проще ли сразу их наложить?
   892689
 
3 - 15.05.18 - 13:28
(1) Ошибка возникает на этапе вывода в форму отчета
   catena
 
4 - 15.05.18 - 13:29
(3)а чем бы тогда помогла загрузка этой таблицы во времянку в запросе?
   892689
 
5 - 15.05.18 - 13:30
(2) Фильтры уже сделал, но иногда будет необходима возможность просмотра всей консолидированной информации
   Timon1405
 
6 - 15.05.18 - 13:30
отключите расшфровки в отчете
   fedoss
 
7 - 15.05.18 - 13:31
Как вариант - пнуть эту таблицу на SQL сервер, а СКД данные получить уже оттуда
   catena
 
8 - 15.05.18 - 13:31
(5)Может быть тогда имеет смысл завести под нее физическую таблицу? Регистр там...
   892689
 
9 - 15.05.18 - 13:33
(4) В 1С если отчет СКД формируется на основе запроса - то все хорошо. Если этот же запрос просто выгрузить в ТаблицуЗначений и использовать в качестве внешнего источника для СКД, то при больших объемах время вывода в макет вырастает в 10 и более раз.
   fedoss
 
10 - 15.05.18 - 13:40
Кстати, раз уж это "мега-большой специфический расчетный отчет" не проще регламентом периодически получать эти данные в физические таблицы (хошь прям внутри 1С, хошь во внешний источник), а СКД строить уже по данным этих таблиц?
 
 Рекламное место пустует
   catena
 
11 - 15.05.18 - 13:46
(9)Вы свое сообщение перечитайте - у СКД проблема именно с выводом этого объема.
   catena
 
12 - 15.05.18 - 13:48
Есть у меня один упоротый отдел, который заказал себе такой отчет. Долго я их отговаривала, в результате плюнула, сделала им регистр, чтобы хотя бы базу не грузили в момент формирования. Ежемесячно его формируют, три часа сохраняют, три часа в екселе открывают и, с-ка, фильтры накладывают. Ночуют на работе, чтоб к концу месяца успеть. Дебилоиды.
   892689
 
13 - 15.05.18 - 13:48
(10) Данные в каждую минуту меняются - это и остатки по всем складам всех организаций и взаиморасчеты и прочее. Вариант с физической таблицей подходит и не_подходит. Подходит - потому что гарантированно даст положительный результат. А вот какова скорость этого решения будет - пока неизвестно. Может быть он будет 30 минут только записывать эту таблицу. А если одновременно начнут формировать этот отчет 10 пользователей, то может и не прокатить
   892689
 
14 - 15.05.18 - 13:52
(7) записывать данные напрямую в SQL не пробовал. Кто знает: это будет быстрее, чем запись в таблицу 1С?
(если запись будет производится из самой 1С-ки)
   RKx
 
15 - 15.05.18 - 14:00
(0) 1с - х32, поди?
   kabanoff
 
16 - 15.05.18 - 14:01
(3) Зачем пользователям такой отчет, в котором 100500 строк? Как они его будут потом анализировать?

(14) Если использовать bulk-insert, то да, т.к. 1С пишет в SQL построчно.
   RKx
 
17 - 15.05.18 - 14:04
(0) "ТаблицаЗначений формируется на основе не менее 10-ти запросов к WEB-сервисам других информационных баз)" 

Сделай регистр сведений, или справочник - не суть важно. Запихай туда свою ТЗ, и делай сколько угодно СКД...
   fedoss
 
18 - 15.05.18 - 14:05
(13) ну все равно есть какой-то разумный интервал обновления, судя по информации об отчете, он не моментально выполняется. Так что и данные можно обновлять периодически централизовано, а не получать для каждого пользователя.

(14) Можно попробовать через ВнешнийИсточникДанныхТаблицаНаборЗаписей, должно быть быстрее записи в таблицу 1С. Хотя РСНаборЗаписей тоже должно быть довольно быстро. Все зависит от объема данных.
   kittystark
 
19 - 15.05.18 - 14:06
(0) перейти на х64 версию платформы/клиента
   RKx
 
20 - 15.05.18 - 14:09
(14) Лицензию нарушить хочешь? Щас копирасты набегут...

Гораздо быстрее. Я-бы, и обработал всё на SQL-сервере. А в ТЗ результат уже утянул-бы.
   fedoss
 
21 - 15.05.18 - 14:11
(20) Почему нарушить?? Никто не говорил про прямую запись в таблицы 1С
   scanduta
 
22 - 15.05.18 - 14:13
(0) Была такая проблема в больших отчетах с 0.5 - 1 млн строк и выше.

СКД очень долго их обрабатывает. Решили выгрузкой в excel без использования СКД
   RKx
 
23 - 15.05.18 - 14:13
(21) А как он СКД делать будет? Из внешних источников, или уложив ТЗ в темпдб?
   kabanoff
 
24 - 15.05.18 - 14:21
(3) А вообще, как вариант, можно попробовать заменить вывод в Табличный документ на вывод в Таблицу значений. И если удастся вывести, то полученную таблицу сохранить в XLS.
   fedoss
 
25 - 15.05.18 - 14:28
(23) Проще всего СКД по таблице ВИД
   892689
 
26 - 15.05.18 - 15:46
(15) Да, сервер 32-х разрядный, как перенесут я сообщу результатах.
   892689
 
27 - 15.05.18 - 15:48
(6) Спасибо, как-то сразу об этом не задумался, но проверить смогу только завтра. Интересно, какой % производительности это может дать;
   892689
 
28 - 15.05.18 - 15:50
(22) Спасибо за идею с excel! Как вариант - очень даже подходит.
   Timon1405
 
29 - 15.05.18 - 15:53
держите в курсе, тема интересная
   Buster007
 
30 - 15.05.18 - 15:55
(28) удали им эксель на компе и все научаться пользоваться фильтрами в отчетах
   892689
 
31 - 15.05.18 - 18:17
(29) Отключение расшифровки сократило время вывода на 16%, - не фонтан, но какой-никакой прирост.
   mistеr
 
32 - 15.05.18 - 21:34
(13) >Данные в каждую минуту меняются - это и остатки по всем складам всех организаций и взаиморасчеты и прочее.

У вас явная проблема с дизайном. Такие данные тащить в отчеты через веб сервисы неправильно. Их нужно загружать в базу-хранилище и строить отчеты там.

Почитайте про 1С:Консолизацию, что ли.
   mistеr
 
33 - 15.05.18 - 21:34
1С:Консолидацию
 
 
   tesseract
 
34 - 16.05.18 - 01:36
(13) Для таких случаев придумали тот же сервер отчетов, который потом стал BI.

Каждую минуту данные не могут меняться. Может меняться некоторый процент данных. Вот их берем и записываем, например через регистр какой-нибудь, который после всех "ЯТутвСКЛИспользуюСтрокиЧерезЛайкЧерезКучуТаблицкоторыеЕщеФормируютсяИспользуяЗапросыВЦикле" даёт нормальный результат.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует