Ошибка печати из 1С на сервере терминалов Windows Server 2012R2

Это не характерная для нашего блога новость, но мы потратили много сил на поиск и устранение данной проблемы, так что решили описать ее решение подробно, чтобы сэкономить время и нервы нашим коллегам.

При печати документов из 1С появляется сообщение «Ошибка печати», при печати документов pdf из Acrobat Reader/Foxit Reader появляется сообщение «Не выбраны страницы для печати». При этом печать документов из Microsoft Office проходит без ошибок:

2015.12.09-1

Рис. 1 Ошибка печати из 1С на сервере терминалов

2015.12.09-2

Рис. 1 Ошибка печати документов pdf на сервере терминалов

Данная проблема наблюдается на серверах терминалов Windows Server 2012R2, принтеры к которым подключаются через сервер печати. Проблема возникает после переподключения пользователя к существующему терминальному сеансу, от которого он отключился ранее, не завершив его (нажав «крестик» или из-за обрыва связи с сервером). Момент ошибки сопровождается сообщением в логах (при включении расширенного логирования):

Имя журнала:   Microsoft-Windows-PrintService/Operational

Источник:      Microsoft-Windows-PrintService

Код события:   221

Категория задачи:Перечисление принтеров

Уровень:       Ошибка

Ключевые слова: Принтер,Удаленная очередь

Описание:

Ошибка при получении сведений кэша CSR для принтера \\company-fs01.domain.local\P0008, код ошибки 0x2. Контекстные сведения см. в пользовательских данных события.

Ошибка связана с некорректной работой кэша Client Side Rendering, отключить который в свойствах принтера невозможно из-за того, что данная функция намертво зашита в драйверах устройств. Приложения Microsoft Office не используются функцию CSR, а сами подготавливают документы в нужном для принтеров формате, по этой причине при возникновении ошибки CSR печать из 1С и pdf перестает работать, а документы Microsoft Office продолжают распечатываться.

Временное решение инцидента – перезапуск диспетчера печати на сервере терминалов или завершение сеанса пользователя (с последующим входом в систему).

Постоянное решение – внести в параметр реестра:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider]

“RemovePrintersAtLogoff”=dword:00000000

Не понятно, почему факт отключения от сеанса воспринимается сервером терминалом как выход из сеанса, но данный ключ реестра помогает. Успехов!

Комментарии к статье:

  1. Yaromax

    Отличная статья, только значение правильное не 0, а 1 – надо же отключать клиентские принтеры по выходу, 0 ничего не делает.

Добавить комментарий

Ваш адрес email не будет опубликован.