Падает 1С при массовой выгрузке табличных документов. #809024


#0 by tndr
Значит, платформа 8.2.19.130, конфа УТ 10.3 в режиме совместимости с 8.1, работаем через терминальные серверы Win 2008 r2, Win 2012. Проблема следующая: Обработкой формирую печатные формы (табличные документы) документов РТиУ и Сч.Ф. за период, эти печатные формы не открываю, но сохраняю в каталог на диске, на них есть ШК. Так вот в какой-то момент 1с-ка крашится, и даже не успевает задампиться, хотя в тех. журнале dump create включен: Опытным путем установлено, что как только у 1с-ого процесса количество GDI-объектов становится 10000 то происходит вылет. В логах ОС, в записи этой ошибки есть такая строка: Sig[3].Name=Имя модуля с ошибкой Sig[3].Value=MSVCR90.dll Подскажите, можно ли это как-то забороть?
#1 by craxx
на 8.3 перейти
#2 by FIXXXL
подели выгрузку на части
#3 by tndr
Это конечно вариант, но пока такой возможности нет, к сожалению... Я так полагаю, что из-за наличия картинки штрихкода, происходит утечка памяти, и что 1с сама не ее освобождает. Скорее всего именно так придется делать, если конечно не найдется решения как после записи каждого Таб. дока, грохать  GDI-объект. Пробовал, после записи на диск; ТабДок = Неопределено; не помогает. Пробовал; ТабДок.Рисунки.Очистить; То же ничего не дает, количество GDI-объектов все равно растет...
#4 by MM
Может ActiveX, формирующий штрихкоды, GDI-объекты не освобождает или использована натив компонента для ШК? Если попробовать без ШК формировать документы утечка не прекращается?
#5 by tndr
В качестве компоненты ШК используется типовая 1с-ская 1C BarCode 8.0.16.4 Без ШК не пробовал, по-экспериментировать можно в принципе, но дело в том, что хранить печатные формы все-таки надо с ними...
#6 by mehfk
Попробуй без него, если поможет - переделаешь на использование шрифта ean13.ttf
#7 by tndr
Спасибо, попробую. Результат озвучу.
#8 by MM
Можно поэкспериментировать со старыми версиями этой же компоненты. Если ШК сложнее ean, то можно переделать на новую компоненту или даже на внешнюю программу формирования.
#9 by lodger
еще вариант - создать подпапку в темпах, а генерацию табдока от и до вынести в отдельную процедуру, которая в теории, по завершении должна так и сяк освободить все использованные компоненты и переменные. после завершения цикла обхода таблицы с вводными зайти в папку и забрать файлы как файлы, а не табдоки. но скорее всего это не поможет. можно почитать статью в которой есть аварийные варианты, вроде передвинуть ограничение в 10000 объектов. но она подходит если у вас есть сурсы и возможность отладки компоненты, однако для понимания сути проблемы - очень информативно. вангую, что смена компоненты для генерации ШК на свежую - вероятно поможет.
#10 by rincewind
Была похожая проблема. Решилась использованием нестандартной компоненты генерации штрихкода. Погугли "ocvita".
#11 by tndr
Да, действительно, подтверждается, без картинки ШК, утечки нет, количество объектов не растет. Со статьей ознакомились, познавательно, но к сожалению, воспроизвести описанные манипуляции скорее всего не получится, из-за отсутствия навыков и инструментов. Кроме того, даже если бы получилось диагностировать источник утечек, то исправить на вряд ли бы получилось... Поэтому, судя по всему, остается пробовать варианты с использованием альтернативных компонент генерации штрихкода. Спасибо, что накидали вариантов :) Будем пробовать.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С