Почему долго формируется печатная форма расходной накладной в 1С:Бухгалтерия 3.0 и как это исправить?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При работе в 1С:Бухгалтерия 3.0 пользователи могут столкнуться с ситуацией, когда нажатие на кнопку печати документа (например, расходной накладной) приводит к длительному подвисанию программы — формирование печатной формы занимает от 1 до 2 минут. Ранее этот процесс мог происходить мгновенно. Проанализируем причины возникновения этой проблемы и разберем по шагам варианты ее решения.

1. Диагностика проблемы с помощью замера производительности

Для определения точного места задержки выполним замер производительности в конфигураторе 1С. В рассматриваемом случае при вызове печати основные затраты времени (около 94%) приходятся на вызов формы печати документов:


ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, КлючУникальности);

При этом сам код инициализации внутри формы исполняется мгновенно, а задержка происходит на этапе взаимодействия платформы 1С с операционной системой и подсистемой печати Windows.

2. Основная причина: опрос недоступных системных или сетевых принтеров

Главная причина подвисания заключается в том, что платформа 1С при подготовке табличного документа запрашивает параметры страницы у принтера, заданного по умолчанию в ОС, либо у принтера, сохраненного в пользовательских настройках печати данного документа. Если ранее использовался сетевой принтер, который был удален, выключен, переименован или подключен через нестабильное RDP-соединение (терминальный сервер), операционная система ожидает ответа по таймауту (до 1–2 минут).

Проанализируем шаги для решения проблемы со стороны подсистемы печати:

  1. Проверка и сброс настроек печати в 1С. Сбросим сохраненные параметры страницы для документа. Для этого в окне предпросмотра печатной формы перейдем в меню «Файл» – «Параметры страницы» и восстановим стандартные настройки, либо очистим пользовательские настройки формы печати.
  2. Смена принтера по умолчанию в Windows. Назначим принтером по умолчанию на рабочем столе или терминальном сервере локальный виртуальный принтер (например, Microsoft Print to PDF или Microsoft XPS Document Writer). Это позволит исключить сетевые задержки при запросе параметров листа.
  3. Переподключение или обновление драйверов принтера. Удалим сбоящий принтер в операционной системе и заново настроим его подключение. Рекомендуется использовать универсальные драйверы (PCL/PostScript) вместо специализированных драйверов производителя, которые могут работать некорректно в терминальных сессиях.

3. Дополнительные технические факторы и методы оптимизации

Если проблема сохраняется после проверки принтеров, проанализируем другие возможные причины снижения производительности при формировании печатных форм:

  1. Влияние ограничений RLS (права доступа). Если опрос принтера исключен, но форма продолжает открываться медленно только у пользователей с ограниченными правами, причиной могут быть сложные подзапросы RLS. Проверим скорость работы под полными правами. В модуле менеджера печати для ускорения выборок данных можно задействовать привилегированный режим: УстановитьПривилегированныйРежим(Истина);
  2. Обслуживание СУБД (PostgreSQL / MS SQL Server). При работе в клиент-серверном варианте из-за неактуальной статистики планировщик СУБД может строить неоптимальные планы выполнения запросов. Выполним регулярное техническое обслуживание базы данных (для PostgreSQL — операции VACUUM ANALYZE и REINDEX).
  3. Очистка временных файлов и кэша. Переполнение папки %TEMP% и локального кэша 1С может вызывать задержки при файловом вводе-выводе. Выполним очистку кэша платформы и каталогов временных файлов пользователя.
← На главную