|
Большой ТабДок | ☑ | ||
---|---|---|---|---|
0
ejikbeznojek
16.03.15
✎
16:06
|
Всем ещё раз привет)
Имеется формирование табличного документа. Который может быть здоровенным. Попытки убедить что здоровенный табличный документ ни кому не нужен не принесли успеха. Имеется условие если ТабДок.ВысотаТаблицы>1000000 тогда ТабДок.Показать("Наклейки "+ Объект.Номер); ТабДок=новый табличный документ; КонецЕсли; И имеется цикл вывода в таб док Пока количествокоробов > 0 Цикл ТабДок.Вывести(ОблЭтикетка); ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); количествокоробов = количествокоробов-1; КонецЦикла; Который рано или поздно вышибает с недостатком памяти из 1С. Выходит что вывод и переопределение табдока не освобождает памяти? |
|||
1
ДенисЧ
16.03.15
✎
16:07
|
так и есть.
ещё с 77 тянется. |
|||
2
rphosts
16.03.15
✎
16:09
|
(0)сделай оригинальную форму для документа и считывай на неё данные порциями...
|
|||
3
D_E_S_131
16.03.15
✎
16:10
|
(0) Я что-то "переопределение табдока" не заметил. Вроде как все данные в одном отделяются горизонтальным разедлителем.
|
|||
4
D_E_S_131
16.03.15
✎
16:11
|
Да и несколько разных выведенных ТабДок-ов вряд ли решат проблему. Возможно их лучше в файлы сохранять, которые потом и печатать.
|
|||
5
ДенисЧ
16.03.15
✎
16:11
|
(3) А это " ТабДок=новый табличный документ;" - королева Британии, что-ли?
|
|||
6
Bober
16.03.15
✎
16:12
|
(0) делай по 100к строк.
|
|||
7
H A D G E H O G s
16.03.15
✎
16:16
|
(5) Привет.
А что это у него в предыдущей строчке вылезло на экран, ДенисЧ? |
|||
8
H A D G E H O G s
16.03.15
✎
16:18
|
(0) Сделай на Управляемой форме ТабДок и выводи в него все 100500 млн строк, на сервере 64-х разрядном.
На Клиенте эти строки будут подгружаться по мере прокрутки, а так как эту херню все равно никто читать не будет - падать по памяти тоже не будет. |
|||
9
ДенисЧ
16.03.15
✎
16:18
|
(7) Моя твоя нихт ферштее.
|
|||
10
H A D G E H O G s
16.03.15
✎
16:20
|
(9)
У него методом ТабДок.Показать("Наклейки "+ Объект.Номер); табличный документ вывелся на экран и занимает память. ТабДок=новый табличный документ; ему уже не поможет. |
|||
11
ДенисЧ
16.03.15
✎
16:20
|
Каждая этикетка выдаётся на новой странице, каждые 1000000 строк - создаётся новый табдок
|
|||
12
ДенисЧ
16.03.15
✎
16:21
|
(10) о чём я и сказал в (1).
|
|||
13
D_E_S_131
16.03.15
✎
16:27
|
А если никто читать не будет, то может сразу на печать выводить?
|
|||
14
Torquader
16.03.15
✎
16:29
|
(13) Ну, самое правильное решение - сделать ТабДок на форме и рисовать в нём одну этикетку, так как, скорей всего, печатают кучу одинаковых - и зачем их копировать ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |