Чому надрукований штрих код з 1с може не зчитуватись сканером

Чому надрукований штрих код з 1с може не зчитуватись сканером

Розглянемо проблему зчитування штрих-кодів, роздрукованих на принтері етикеток, з 1С, що знаходиться на сервері терміналів.

  1. Опис проблеми

У своїй роботі не раз зіштовхувався із проблемою, при якій роздрукований на принтері етикеток штрих-код погано зчитувався або ж взагалі не міг бути зчитаний сканером штрих-кодів. При цьому візуально штрих-код виглядав абсолютно нормально і нічим не відрізнявся від штрих-кодів, які сканер зчитував нормально. Проблема з’явилася при друку штрих-кодів із 1С, що встановлений на сервері, і робота здійснювалась із-під термінального доступу.

  • Причина
  • Причина проблеми криється в роботі системи направлення друку працюючої на серверних ОС Windows. Справа в тому, що для спрощення встановлення в термінальних сеансах роботи користувачів Microsoft додав в свої серверні ОС починаючи з Windows Server 2008 функцію TS EasyPrint. Це система емуляції драйвера принтера в термінальній сесії. Але робота даної системи не завжди проходить гладко, і інколи принтер моде не друкувати або не працювати не правильно, що і відбувається в нашому випадку. Сама по собі  ця функція дуже хороша, так як сильно полегшує життя адміністраторам серверів, від них не вимагається встановлювати драйвер для кожного принтера на сервер, а лише вирішувати проблеми, якщо вони з’являться. Із принтером етикеток виникає ситуація, що система EasyPrint некоректно передає данні на сам пристрій, причому візуально роздрукований штрих код ні чим не відрізняється від виведеного на екран або роздрукованого на комп’ютері не в термінальній сесії.

    1. Вирішення проблеми

    Вирішується проблема відключенням у груповій політиці використання EasyPrint по замовчуванню та встановленням радарного драйвера для принтера етикеток. Для цього потрібно відкрити групову політику:

    Далі в груповій політиці:

    Computer configurations->
    Windows components->
    Remote Desktop Services->
    Remote Desktop Session Host->
    Printer Redirection

    Та властивість use remote easy printet driver first  змінюємо в положенні Disable.

    use remote easy printet driver first

    Тепер алгоритм підключення принтера в термінальний режим змінюється і в першу чергу Windows буде використовувати встановлений драйвер принтера, а якщо його не знайде, тоді вже буде використовуватися універсальний драйвер EasyPrint. Після цього іще необхідно встановити драйвер цього принтера на сервері, якщо він іще не був встановлений, вийти із термінальної сесії і знову знайти. Перевірити, чи правильно встановився драйвер принтера, можна в розділі пристрої та принтери панелі управління, у властивостях принтера етикеток в розділі додатково потрібно вказати драйвер цього принтера, а не універсальний драйвер EasyPrint. Якщо все зроблено правильно, роздруковані етикетки повинні скануватися швидко та без проблем.

    P.S. Іще одна проблема, з якою зіштовхуються при роботі, коли сканер не хоче зчитувати штрих-код, полягала в нерозумінні персоналу того, як влаштований та з чого формується штрих-код. Були випадки, коли співробітники копіювали в останні цифри штрих-коду номер артикулу або код товару. Справа в тому, що останній символ штрих-коду службовий, він формується по певним правилам, і якщо цифри штрих-коду не сформовані програмою автоматично, а введені в програму користувачем, також може виникнути ситуація, при якій роздрукований штрих код не буде зчитуватись сканером. Але тут рішення просте – використовувати штрих-коди, сформовані програмою автоматично або зчитані з упаковки на товарі.