Столкнулся с данной ошибкой в ут 11 при формировании стороннего (нетипового) отчета на управляемых формах, клиент серверный вариант (MS SQL под win server 2012 R2, тонкий клиент). Со слов пользователя - ранее такой ошибки не было и отчетом пользуются уже давно. Сам отчет представляет из себя прайс-лист с картинками (сами картинки хранятся в базе). Во время формирования диспетчер задач показывает большое потребление памяти одним из процессов сервера 1С.
Первым делом проверил свободное место под временные файлы, настройки tempdb, настроил логи технологического журнала и попросил скинуть свежую копию базы для локального тестирования. Так как отчет на управляемой форме, сама форма отчета типовая - схема компонуется и исполняется на стороне сервера в фоновом задании. "Жор" памяти при выводе такого количества картинок не удивил. Первые итоги: со свободным местом проблем нет, настройки tempdb в порядке, ТЖ показал хороший аппетит по памяти для rphost и несколько исключений (события excp и excpcntx для ServerJobExecutorContext и Mem, а также "descr=recv returns zero, disconnected" для ServerJobExecutorContext) - в общем, ничего нового.
Локальное тестирование дало следующий результат - ошибка генерируется при передаче данных в moxel.dll (в основном используется для работы с табличным документом). При комментировании кода вывода картинок отчет формировался без проблем (в том числе без "жора" памяти). Причина крылась во флаге прозрачного фона при формировании картинки Новый Картинка(<ДвоичныеДанные>, <ПрозрачныйФон>). Формироваться отчет перестал как раз после добавления нескольких "маленьких" (от 1,5 Mb) фотографий номенклатуры. В итоге пользователь согласился на вывод картинок без изменения фона - это решило проблему.
Комментариев нет:
Отправить комментарий