← На главную
При работе в терминальном режиме (RDP) системные администраторы и пользователи иногда сталкиваются с ситуацией, когда при попытке вывода печатной формы из 1С система выдает сообщение «Ошибка печати». При этом из сторонних офисных приложений документы печатаются корректно, а сама платформа 1С видит принтер и отображает его состояние как Готов.
Рассмотрим подробно причины возникновения этой неисправности и разберем эффективные шаги по ее устранению.
Основные причины возникновения ошибки
Проанализируем, почему возникает сбой при отправке документа на печать из платформы 1С:
- Несовместимость драйвера (PCL6 / PostScript): Графическая подсистема 1С (модуль
Moxel) взаимодействует с Windows API и контекстом устройства (Device Context) иначе, чем стандартные офисные программы. Драйверы PCL6 или узкоспециализированные вендорские драйверы при перенаправлении сеанса RDP могут некорректно передавать характеристики устройства, что приводит к сбою.
- Зависание очереди и службы диспетчера печати: В терминальных сессиях Windows Server служба
Print Spooler под конкретным пользователем может блокировать печатные потоки или терять доступ к временным файлам.
- Недостаток прав на временные каталоги: Если у пользователя ограничен доступ к папке спулера
C:\Windows\System32\spool\PRINTERS или к каталогу %TEMP%, платформа не может выгрузить временные данные печатной формы.
- Устаревший релиз платформы 1С: В более старых релизах (например, платформа 7.70.025) подсистема печати работала менее стабильно по сравнению с последующими обновлениями.
Шаг 1. Замена драйвера принтера на PCL 5 или универсальный
Как показывает практика, драйверы с протоколом PCL6 часто работают нестабильно с табличными документами 1С в терминальных сессиях. Выясним, как это исправить:
- Перейдем в панель управления сервером в раздел «Устройства и принтеры».
- Зайдем в свойства проблемного принтера и откроем вкладку «Дополнительно».
- Установим альтернативный драйвер с поддержкой протокола PCL 5 (например, HP LaserJet PCL5 или Xerox Global Print Driver PCL5). Для большинства сетевых принтеров различных производителей драйвер PCL 5 обеспечивает наибольшую скорость и стабильность работы.
- Применим изменения и проверим печать из 1С.
Шаг 2. Перезапуск службы диспетчера печати
Если печать прекратила работать неожиданно для конкретного терминального пользователя, разберем порядок сброса очереди и службы печати:
- Откроем оснастку управления службами (
services.msc) на терминальном сервере с правами администратора.
- Найдем службу Диспетчер печати (
Print Spooler) и выполним её перезапуск.
- При необходимости очистим содержимое папки
C:\Windows\System32\spool\PRINTERS от зависших временных файлов (.SHD и .SPL).
Шаг 3. Сброс параметров страницы и очистка кэша 1С
Параметры печати конкретной формы сохраняются в ветках реестра и пользовательском кэше. Сбросим их следующими действиями:
- В окне предварительного просмотра печатной формы 1С откроем меню «Файл» -> «Параметры страницы».
- Вручную заново выберем нужный принтер из списка, изменим любой параметр (например, размер бумаги) и нажмем «ОК» для перезаписи настроек.
- При сохранении проблемы очистим пользовательский кэш 1С в каталогах
%AppData%\1C и %LocalAppData%\1C, а также при необходимости сбросим ветку реестра, отвечающую за модуль Moxel под профилем проблемного пользователя.
Шаг 4. Обновление платформы и настройка прямого подключения
Если вышеописанные шаги не принесли результата, выполним следующие рекомендации:
- Обновление платформы: Рекомендуется обновиться до более свежего релиза платформы (например, релиз 27 для 1С 7.7), где исправлены известные ошибки взаимодействия с подсистемой печати Windows.
- Прямое подключение по TCP/IP: Откажемся от автоматического перенаправления (проброса) принтера через RDP-сессию. Подключим сетевой принтер на сервере напрямую через порт Standard TCP/IP по его статическому IP-адресу и пропишем его пользователю по умолчанию.