Как исправить низкое качество печати штрихкодов в 1С:Управление торговлей 11.4

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

Переход с версии 1С:Управление торговлей 11.3 на 11.4 часто сопровождается неприятным сюрпризом: штрихкоды на этикетках и ценниках начинают печататься в низком качестве. Пользователи замечают «зубчатость» линий, размытость цифр, которые выглядят как на старом матричном принтере, и, самое главное — полную невозможность считывания штрихкода сканером при малейшем изменении масштаба печати (даже на 1%).

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

Причина проблемы: смена механизма генерации штрихкодов

Проанализируем ситуацию с технической точки зрения. В старых версиях (УТ 11.3) для формирования штрихкода использовалась внешняя компонента 1CBarCode.dll (ActiveX). В новых релизах УТ 11.4 (начиная с 11.4.8 и выше) 1С перешла на использование нативного механизма платформы. Теперь штрихкод генерируется не как векторный объект, а как картинка (растровое изображение).

Основная проблема заключается в том, что при изменении масштаба страницы при печати происходит интерполяция пикселей изображения штрихкода. Если текст при масштабировании 101% остается читаемым, то для штрихкода появление даже одного ряда «серых» пикселей по краям черных полос делает его невидимым для сканера. Рассмотрим способы решения этой проблемы по шагам.

Решение 1: Отключение Easy Print на терминальном сервере

Если печать этикеток происходит в сессии удаленного рабочего стола (RDP), первым делом необходимо проверить настройки перенаправления принтеров. Технология Easy Print часто упрощает жизнь системным администраторам, но она крайне негативно влияет на передачу графических объектов штрихкодов, превращая их в набор квадратов.

Разберем процесс отключения Easy Print через редактор групповых политик:

  1. На сервере, где установлена 1С, запустите оснастку gpedit.msc.
  2. Перейдите по пути: Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Перенаправление принтеров.
  3. Найдите параметр «Использовать в первую очередь драйвер принтера Easy Print служб удаленных рабочих столов».
  4. Установите значение «Отключено».

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

Решение 2: Настройка дизеринга в драйвере принтера

Часто проблема «квадратных» цифр и размытых штрихов кроется в настройках самого принтера (Zebra, TSC, Xprinter, Godex). По умолчанию драйверы пытаются имитировать градации серого цвета с помощью точек — этот процесс называется дизерингом (Dithering).

Выясним, как правильно настроить драйвер для печати штрихкодов:

  1. Зайдите в «Панель управления» — «Устройства и принтеры».
  2. Нажмите правой кнопкой мыши на ваш принтер этикеток и выберите «Настройка печати» (Printing Preferences).
  3. Перейдите на вкладку «Графика» (или «Parameters», в зависимости от модели).
  4. Найдите параметр «Дизеринг» (Dithering) или «Полутона» (Halftone).
  5. Установите значение «Нет» (None) или «Solid».

Важно: Это заставит принтер печатать только чистым черным цветом. Все серые пиксели, возникшие из-за масштабирования 1С, будут либо игнорироваться, либо превращаться в черные, что вернет штрихкоду необходимую контрастность.

Решение 3: Коррекция макета этикетки в 1С

Если после обновления размер штрихкода в редакторе изменился или он стал «схлопываться», нам нужно вручную подправить шаблон этикетки. В УТ 11.4 штрихкоды очень чувствительны к границам ячеек.

Проанализируем правила работы с макетом:

Решение 4: Использование шрифтов штрихкода (самый надежный метод)

Если штатные средства 1С в УТ 11.4 продолжают выдавать неудовлетворительный результат, мы рекомендуем воспользоваться профессиональным подходом — печатью штрихкода с помощью специальных шрифтов (например, EAN13.ttf или Code39.ttf).

Рассмотрим, как это реализовать:

  1. Установите в операционную систему Windows соответствующий шрифт штрихкода.
  2. В макете 1С замените объект «Штрихкод» (картинку) на обычное текстовое поле.
  3. В свойствах этого поля выберите установленный шрифт (например, EAN13) и установите нужный размер кегля.
  4. В коде обработки печати передавайте в это поле текстовое представление штрихкода.

Поскольку шрифт — это векторный объект, такие штрихкоды идеально масштабируются без потери качества, не боятся изменения масштаба страницы в настройках печати и всегда имеют идеально ровные края цифр под штрихами.

Решение 5: Учет DPI и версии платформы

Разберем еще один нюанс: 1С генерирует картинку штрихкода, ориентируясь на системное разрешение (обычно 96 DPI). Однако принтеры этикеток работают с разрешением 203 DPI или 300 DPI. Несоответствие плотности точек при программном формировании изображения приводит к эффекту «ступенек».

Чтобы минимизировать этот эффект, рекомендуется:

Подводя итог, можно сказать, что проблема в УТ 11.4 решается комплексным подходом: от правильной настройки передачи данных по RDP до тонкой подстройки драйверов принтера и макетов этикеток. Применение этих рекомендаций позволит вам добиться стабильного считывания штрихкодов любым типом сканеров.

← На главную