При работе в 1С:Бухгалтерия 3.0 пользователи могут столкнуться с ситуацией, когда нажатие на кнопку печати документа (например, расходной накладной) приводит к длительному подвисанию программы — формирование печатной формы занимает от 1 до 2 минут. Ранее этот процесс мог происходить мгновенно. Проанализируем причины возникновения этой проблемы и разберем по шагам варианты ее решения.
Для определения точного места задержки выполним замер производительности в конфигураторе 1С. В рассматриваемом случае при вызове печати основные затраты времени (около 94%) приходятся на вызов формы печати документов:
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, КлючУникальности);
При этом сам код инициализации внутри формы исполняется мгновенно, а задержка происходит на этапе взаимодействия платформы 1С с операционной системой и подсистемой печати Windows.
Главная причина подвисания заключается в том, что платформа 1С при подготовке табличного документа запрашивает параметры страницы у принтера, заданного по умолчанию в ОС, либо у принтера, сохраненного в пользовательских настройках печати данного документа. Если ранее использовался сетевой принтер, который был удален, выключен, переименован или подключен через нестабильное RDP-соединение (терминальный сервер), операционная система ожидает ответа по таймауту (до 1–2 минут).
Проанализируем шаги для решения проблемы со стороны подсистемы печати:
Microsoft Print to PDF или Microsoft XPS Document Writer). Это позволит исключить сетевые задержки при запросе параметров листа.Если проблема сохраняется после проверки принтеров, проанализируем другие возможные причины снижения производительности при формировании печатных форм:
УстановитьПривилегированныйРежим(Истина);
VACUUM ANALYZE и REINDEX).%TEMP% и локального кэша 1С может вызывать задержки при файловом вводе-выводе. Выполним очистку кэша платформы и каталогов временных файлов пользователя.