Работая в среде терминального доступа, многие пользователи сталкиваются с тем, что 1С «не видит» доступные локальные принтеры, хотя в других приложениях (Word, Excel) печать выполняется без проблем. Давайте разберем по шагам, как выявить причину и устранить эту ошибку.
Прежде чем приступать к глубокой настройке сервера, необходимо убедиться, что базовое перенаправление устройств активно. При запуске ярлыка подключения к удаленному рабочему столу:
Если данная настройка пропущена, сессия пользователя просто не получит данные о локально подключенном оборудовании.
Если принтеры в Windows Server 2012 видны в «Устройствах и принтерах», но периодически пропадают внутри 1С, это может быть следствием конфликта драйверов или некорректной обработки сессий. Разберем метод обхода, который помогает стабилизировать список устройств. Для программной проверки доступных устройств непосредственно из среды 1С можно использовать обработку для получения списка принтеров.
Для диагностики состояния принтеров воспользуйтесь скриптом на PowerShell, который покажет, какие принтеры реально видит система через API:
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colPrinters = objWMIService.ExecQuery ("Select * From Win32_Printer")
If colPrinters.Count <> 0 Then
Dim s
s = "printers found: " + CStr(colPrinters.Count) + chr(13)
For Each objPrinterInstalled In colPrinters
s = s + objPrinterInstalled.Name + chr(13)
Next
msgbox s
End if
Если список не соответствует ожидаемому, выполните следующие действия:
gpedit.msc, перейдите в «Конфигурация компьютера» -> «Административные шаблоны» -> «Принтеры». Включите параметр «Всегда обрабатывать задания печати на сервере».[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider] создайте параметр RemovePrintersAtLogoff типа DWORD со значением 0.Client Side Rendering Print Provider, удалив вложенные ключи, и перезагрузите сервер.Иногда 1С сохраняет «битые» пути к принтерам в своих внутренних настройках. Даже если принтер в системе уже исправлен, программа продолжает обращаться к несуществующему устройству.
Попробуйте очистить кэш настроек для конкретного пользователя:
%AppData%\Local\1C\1Cv8.Если перенаправление через RDP работает нестабильно, наиболее надежным «индустриальным» решением является установка сетевого принтера непосредственно на сервер Windows Server.
IP-порт (используя драйвер Universal Print Driver, который поддерживает большинство терминальных сред).При использовании 64-битных версий Windows Server убедитесь, что драйверы принтера также являются 64-битными. Разрядность драйверов — частая причина того, что Принтер отображается в Windows, но «не виден» изнутри приложения 1С. Если модель принтера старая, рассмотрите возможность использования универсальных драйверов от производителя, они лучше адаптированы к работе в многопользовательских терминальных сессиях.