Как исправить ошибку печати при работе с 1С в терминальном сеансе?

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

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

Рассмотрим подробно причины возникновения этой неисправности и разберем эффективные шаги по ее устранению.

Основные причины возникновения ошибки

Проанализируем, почему возникает сбой при отправке документа на печать из платформы 1С:

  1. Несовместимость драйвера (PCL6 / PostScript): Графическая подсистема 1С (модуль Moxel) взаимодействует с Windows API и контекстом устройства (Device Context) иначе, чем стандартные офисные программы. Драйверы PCL6 или узкоспециализированные вендорские драйверы при перенаправлении сеанса RDP могут некорректно передавать характеристики устройства, что приводит к сбою.
  2. Зависание очереди и службы диспетчера печати: В терминальных сессиях Windows Server служба Print Spooler под конкретным пользователем может блокировать печатные потоки или терять доступ к временным файлам.
  3. Недостаток прав на временные каталоги: Если у пользователя ограничен доступ к папке спулера C:\Windows\System32\spool\PRINTERS или к каталогу %TEMP%, платформа не может выгрузить временные данные печатной формы.
  4. Устаревший релиз платформы 1С: В более старых релизах (например, платформа 7.70.025) подсистема печати работала менее стабильно по сравнению с последующими обновлениями.

Шаг 1. Замена драйвера принтера на PCL 5 или универсальный

Как показывает практика, драйверы с протоколом PCL6 часто работают нестабильно с табличными документами 1С в терминальных сессиях. Выясним, как это исправить:

  1. Перейдем в панель управления сервером в раздел «Устройства и принтеры».
  2. Зайдем в свойства проблемного принтера и откроем вкладку «Дополнительно».
  3. Установим альтернативный драйвер с поддержкой протокола PCL 5 (например, HP LaserJet PCL5 или Xerox Global Print Driver PCL5). Для большинства сетевых принтеров различных производителей драйвер PCL 5 обеспечивает наибольшую скорость и стабильность работы.
  4. Применим изменения и проверим печать из 1С.

Шаг 2. Перезапуск службы диспетчера печати

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

  1. Откроем оснастку управления службами (services.msc) на терминальном сервере с правами администратора.
  2. Найдем службу Диспетчер печати (Print Spooler) и выполним её перезапуск.
  3. При необходимости очистим содержимое папки C:\Windows\System32\spool\PRINTERS от зависших временных файлов (.SHD и .SPL).

Шаг 3. Сброс параметров страницы и очистка кэша 1С

Параметры печати конкретной формы сохраняются в ветках реестра и пользовательском кэше. Сбросим их следующими действиями:

  1. В окне предварительного просмотра печатной формы 1С откроем меню «Файл» -> «Параметры страницы».
  2. Вручную заново выберем нужный принтер из списка, изменим любой параметр (например, размер бумаги) и нажмем «ОК» для перезаписи настроек.
  3. При сохранении проблемы очистим пользовательский кэш 1С в каталогах %AppData%\1C и %LocalAppData%\1C, а также при необходимости сбросим ветку реестра, отвечающую за модуль Moxel под профилем проблемного пользователя.

Шаг 4. Обновление платформы и настройка прямого подключения

Если вышеописанные шаги не принесли результата, выполним следующие рекомендации:

  1. Обновление платформы: Рекомендуется обновиться до более свежего релиза платформы (например, релиз 27 для 1С 7.7), где исправлены известные ошибки взаимодействия с подсистемой печати Windows.
  2. Прямое подключение по TCP/IP: Откажемся от автоматического перенаправления (проброса) принтера через RDP-сессию. Подключим сетевой принтер на сервере напрямую через порт Standard TCP/IP по его статическому IP-адресу и пропишем его пользователю по умолчанию.
← На главную