|
Падает 1С при массовой выгрузке табличных документов. | ☑ | ||
---|---|---|---|---|
0
tndr
24.11.17
✎
09:47
|
Значит, платформа 8.2.19.130, конфа УТ 10.3 в режиме совместимости с 8.1, работаем через терминальные серверы Win 2008 r2, Win 2012.
Проблема следующая: Обработкой формирую печатные формы (табличные документы) документов РТиУ и Сч.Ф. за период, эти печатные формы не открываю, но сохраняю в каталог на диске, на них есть ШК. Так вот в какой-то момент 1с-ка крашится, и даже не успевает задампиться, хотя в тех. журнале dump create включен: <dump create="1" location="C:\dumps" prntscrn="1" type="3"/> Опытным путем установлено, что как только у 1с-ого процесса количество GDI-объектов становится 10000 то происходит вылет. В логах ОС, в записи этой ошибки есть такая строка: Sig[3].Name=Имя модуля с ошибкой Sig[3].Value=MSVCR90.dll Подскажите, можно ли это как-то забороть? |
|||
1
craxx
24.11.17
✎
09:51
|
(0) на 8.3 перейти
|
|||
2
FIXXXL
24.11.17
✎
09:54
|
(0) подели выгрузку на части
|
|||
3
tndr
24.11.17
✎
10:02
|
(1) Это конечно вариант, но пока такой возможности нет, к сожалению...
Я так полагаю, что из-за наличия картинки штрихкода, происходит утечка памяти, и что 1с сама не ее освобождает. (2) Скорее всего именно так придется делать, если конечно не найдется решения как после записи каждого Таб. дока, грохать GDI-объект. Пробовал, после записи на диск; ТабДок = Неопределено; не помогает. Пробовал; ТабДок.Рисунки.Очистить(); То же ничего не дает, количество GDI-объектов все равно растет... |
|||
4
MM
24.11.17
✎
10:08
|
Может ActiveX, формирующий штрихкоды, GDI-объекты не освобождает или использована натив компонента для ШК?
Если попробовать без ШК формировать документы утечка не прекращается? |
|||
5
tndr
24.11.17
✎
10:13
|
(4) В качестве компоненты ШК используется типовая 1с-ская
1C BarCode 8.0.16.4 Без ШК не пробовал, по-экспериментировать можно в принципе, но дело в том, что хранить печатные формы все-таки надо с ними... |
|||
6
mehfk
24.11.17
✎
10:18
|
(5) Попробуй без него, если поможет - переделаешь на использование шрифта ean13.ttf
|
|||
7
tndr
24.11.17
✎
10:20
|
(4)(6) Спасибо, попробую.
Результат озвучу. |
|||
8
MM
24.11.17
✎
10:22
|
(5) Можно поэкспериментировать со старыми версиями этой же компоненты. Если ШК сложнее ean, то можно переделать на новую компоненту или даже на внешнюю программу формирования.
|
|||
9
lodger
24.11.17
✎
10:53
|
еще вариант - создать подпапку в темпах, а генерацию табдока от и до вынести в отдельную процедуру, которая в теории, по завершении должна так и сяк освободить все использованные компоненты и переменные.
после завершения цикла обхода таблицы с вводными зайти в папку и забрать файлы как файлы, а не табдоки. но скорее всего это не поможет. можно почитать статью https://habrahabr.ru/post/318948/ в которой есть аварийные варианты, вроде передвинуть ограничение в 10000 объектов. но она подходит если у вас есть сурсы и возможность отладки компоненты, однако для понимания сути проблемы - очень информативно. вангую, что смена компоненты для генерации ШК на свежую - вероятно поможет. |
|||
10
rincewind
24.11.17
✎
10:56
|
(7) Была похожая проблема. Решилась использованием нестандартной компоненты генерации штрихкода. Погугли "ocvita".
|
|||
11
tndr
24.11.17
✎
11:48
|
Да, действительно, подтверждается, без картинки ШК, утечки нет, количество объектов не растет.
(9) Со статьей ознакомились, познавательно, но к сожалению, воспроизвести описанные манипуляции скорее всего не получится, из-за отсутствия навыков и инструментов. Кроме того, даже если бы получилось диагностировать источник утечек, то исправить на вряд ли бы получилось... Поэтому, судя по всему, остается пробовать варианты с использованием альтернативных компонент генерации штрихкода. (6) (8) (9) (10) Спасибо, что накидали вариантов :) Будем пробовать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |