вторник, 9 февраля 2016 г.

Проблема печати на принтере этикеток на сервере терминалов.

Рассмотрим проблему считывания штрих-кодов, распечатанных на принтере этикеток, из 1С, находящейся на сервере терминалов.
1.Описание проблемы
В своей работе на раз сталкивался с проблемой, при которой распечатанный на принтере этикеток штрих-код потом плохо считывался или вообще не мог быть считан сканером штрих-кодов. При этом визуально штрих-код выглядел обсолютно нормальным и ничем не отличался от штрих-кодов, которые сканер считывал нормально. Проблема возникала при печати штрих-кодов из 1С, установленной на сервере, и работа осуществлялась из-под терминального доступа.

2.Причина
Причина проблемы кроется в работе системы перенаправления печати работающей на серверных ОС Windows. Дело в том, что для упрощения установки принтеров в терминальных сеансах работы пользователей Microsoft добавила в свои серверные ОС начиная с windows Server 2008 функцию TS EasyPrint. Это система эмуляции драйвера принтера в терминальной сессии. Но работа данной системы не всегда проходит гладко, и иногда принтер может не печатать или работать неверно, что и происходит в нашем случае. Сама по себе эта функция очень хорошая, так как сильно облегчает жизнь администраторам серверов, от них не требуется устанавливать драйвер для каждого принтера на сервер, а лишь решать проблемы, если они появяться. С принтером этикеток возникает ситуация, что система EasyPrint некоректно передает данные на само устройсвто, причем визуально распечатанный штрих код ни чем не отличается от выводимого на экран или распечатанного на компьютере не в терминальной сессии. 

3.Решение проблемы
Решается проблема отключением в групповой политике использования EasyPrint по умолчанию и установкой радного драйвера для принтера этикеток. Для этого нужно открыть групповую политику:

Далее в групповой политике:
Computer configurations->
Windows components->
Remote Desktop Services->
Remote Desktop Session Host->
Printer Redirection
и свойство use remote easy printet driver first меняем в положение Disable.

Теперь алгоритм подключения принтера в терминальный режим изменится и в первую очередь Windows будет использовать установленный драйвер принтера, а если его не найдет, то тогда уже будет использоваться универсальный драйвер EasyPrint. После этого еще необходимо установить драйвер этого принтера на сервере, если он еще не был установлен, и выйти из терминальной сессии и снова зайти. Проверить, правильно ли установился драйвер принтера, можно в разделе устройства и принтеры панели управления, в свойствах принтера этикеток в разделе дополнительно должен быть указан драйвер этого принтера, а не универсальный драйвер EasyPrint. Если все проделано правильно, распечатанные этикетки должны сканироваться быстро и без проблем.

P.S. 
Еще одна проблема, с которой я сталкивался при своей работе, когда сканер не хотел считывать распечатанный штрих-код, заключалась в не понимании персонала, как устроен и из чего формируется штрих-код. Были случаи, когда сотрудники копировали в последние цифры штрих-кода номер артикула или код товара. Дело в том, что последний символ штрих-кода служебный и он формируется по определенным правилам, и если цифры штрих-кода не сформированы программой автоматически, а введены в программу пользователем, не представляющим, как он должен формироваться, то тоже может возникнуть ситуация, при которой распечатанный штрих-код не будет считываться сканером. Но здесь решение простое - использовать штрих-коды, сформированные программой автоматически или считанные с упаковки на товаре.

Источник: здесь

Комментариев нет:

Отправить комментарий