Имя: Пароль:
1C
1С v8
долго формируется табличный документ, что можно сделать?
,
0 I_learn_1c
 
12.10.22
10:01
Доброе утро,

вопрос скорее теоретический, но возможно, кто-то подскажет как быть

есть отчет, довольно много требований для него, получается объемный, на скд его не построить (изначально был, но с изменением требований перерисовали на обычный макет).
поэтому есть запрос (пакет), потом результаты перебираются, формируется и выводится на форму табличный документ.

если брать за год, то получается много строк. вот за январь-октябрь пакет запросов выполняем (выполнение около 40сек), получаем результат более 100тыс строк,
и потом почти 120тыс строк в табличном документе получается. и этот отчет строится несколько часов. может висеть, висеть потом выдать ошибку про нехватку памяти на сервере.

как можно улучшить ситуацию? чтобы отчет строился быстрее.
1 mikecool
 
12.10.22
10:01
замер производительности
2 PR
 
12.10.22
10:03
(0) 1. Не строить это непонятно кому нужное говно
2. Убрать миллиард колонок
3. Переиграть группировки на более читабельные
3 H A D G E H O G s
 
12.10.22
10:03
Представление(Ссылка)
4 H A D G E H O G s
 
12.10.22
10:04
Не передавать табдок напрямую на клиент, все равно его читать никто не будет
5 mikecool
 
12.10.22
10:05
(3) тоже легко может быть
6 alarm2020
 
12.10.22
10:06
(0) Отчетливо осознать возможности человеческого организма в плане прочитывания цифр. И никогда не делать отчеты более, чем с 4-7  цифрами
7 unenu
 
12.10.22
10:06
(0) не выводите вообще - сохраняйте в эксель без показа.

переборы, представления и т.д. можно улучшить, но это побарабану при выводе 100К+ строк на экран.
8 PR
 
12.10.22
10:16
(6) То есть сравнение двух ОСВ за два периода для тебя уже слишком сложно?
9 I_learn_1c
 
12.10.22
11:31
(2)
1. рады бы) но не вариант, просят - делаем
2. колонки только добавляются с новыми хотелками, сейчас около 30. нужно бооольше данных видеть сразу одновременно))
3. с группировками уже игрались, учитывая требования там не много вариантов. группировок и не так много. 1 уровень

(7) сохранять в эксель без показа надо проверить сколько займет.. возможно вариант, спасибо)
10 RomanYS
 
12.10.22
11:34
Замер производительности у же делали?
Ставлю на (3), и получение реквизитов через точку.
А "выдать ошибку про нехватку памяти на сервере" - +кривые запросы
11 PR
 
12.10.22
11:38
(10) Что ты ставишь на (3), если ТС уже в (9) признался, что у него 30 колонок?
То есть у него в документе три с половиной миллиона заполненных ячеек
12 mistеr
 
12.10.22
11:43
(0) 1. Понять, что отчет на 120К строк бесполезен.
13 mistеr
 
12.10.22
11:44
(12) 2. Понять, что же на самом деле нужно.
3. Реализовать.
14 Bigbro
 
12.10.22
12:05
поддержу коллег..
была как то схожая ситуация, формировали портянки километровые которые часами рассчитывались и собирались по куче странных критериев.
потом удалось поговорить по душам с заказчиком.
в итоге обошлись одними итогами на красивом отчете в 2 страницы - там было все что нужно, и ничего лишнего.
более того этот отчет заказчик в силу его простоты и компактности смог на общие совещания таскать, раздавать и оперировать показателями.
когда раньше с этим рулоном в своем углу сидел и судорожно пытался оттуда что-то вытащить.
15 Kassern
 
12.10.22
12:07
(0) "и этот отчет строится несколько часов" - В отладке проверяли какой момент столько времени отъедает? Вывод на экран, или же получение результата зарпоса
16 RomanYS
 
12.10.22
12:18
(11) чтобы заполнить 3 млн ячеек нужно несколько часов?
17 PR
 
12.10.22
12:22
(16) Причем здесь заполнить, если речь про то, что потом эту арбу с дерьмом нужно доставить на клиента
18 Kassern
 
12.10.22
12:24
Обычно отчет делают на определенном уровне детализации, чтобы можно было сделать какие-то выводы. Портянка из 100500 строк ни о чем не скажет. Она нужна лишь для разбора полетов, а откуда эта сумма в группировке получилась.
19 OldCondom
 
12.10.22
12:24
Покажите мне человека, которому нужно хотя бы 100 тысяч строк для чего-либо.

Отчет более, чем бесполезен, ставьте задачу заново.
20 Ivan_495
 
12.10.22
12:37
создать документ " формирование отчета" привязать его к регистру , самые тяжелые расчеты выполнить и записать в регистр, а потом тащить из регитсра в отчет
21 Kassern
 
12.10.22
12:47
(0) "как можно улучшить ситуацию?" - не писать запросы в циклах, выводить данные в реквизит формы, а не ТабДок.Показать(). Сгруппировать данные, чтобы не рисовать огромную портянку. Сделать возможность расшифровки при желании, возможно обычными СКД отчетами.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.