При работе с торговым оборудованием в 1С:Розница пользователи часто сталкиваются со специфической проблемой: при печати этикеток на специализированных принтерах (особенно часто на моделях TSC TDP-225) штрихкод выглядит искаженным. Вместо четких параллельных черных полос на ленте появляется «вязь», «волны» или рваные линии, которые не распознаются ни одним сканером. Проанализируем причины этой ситуации и разберем пошагово методы её решения.
Для начала выясним причину такого поведения оборудования. Большинство принтеров этикеток начального уровня имеют разрешение печатающей головки 203 DPI (точек на дюйм). В то же время операционная система Windows и платформа 1С по умолчанию могут формировать графический образ штрихкода в другом разрешении (например, 96 DPI). При попытке «растянуть» или «сгладить» картинку драйвер принтера начинает применять алгоритмы интерполяции.
Поскольку термоголовка принтера работает в бинарном режиме («выжечь точку» или «оставить пустой»), попытка передать полутона серого цвета (возникающие при сглаживании краев линий) приводит к тому, что принтер пытается имитировать серый цвет хаотичным набором точек. Это и создает эффект «волнистости» или «рваного» края штрихкода, что особенно часто проявляется, когда выполняется печать этикеток штрихкода весового товара на термопринтере.
Как показывает практика и опыт участников форума, наиболее эффективным решением является корректировка настроек самого драйвера принтера в операционной системе. Проанализируем последовательность действий:
Если настройки драйвера не помогли или помогли частично, рассмотрим ситуацию со стороны программного интерфейса 1С. В редакции Розница 2.3 механизмы формирования штрихкодов претерпели изменения, что иногда требует «обновления» объектов в шаблонах. Кроме того, рекомендуется исправить ошибки печати в 1С:Розница 2.3.17.15, если вы работаете на данном релизе.
Разберем действия в макете:
1С:Розница используется встроенная компонента генерации ШК, которая работает стабильнее старых внешних библиотек 1CBarCode.dll.Рассмотрим вариант обхода проблемы, который позволяет полностью отказаться от передачи штрихкода как картинки. Мы можем выводить штрихкод в виде текстовой строки, назначив ей специальный шрифт. Это гарантирует максимальную четкость, так как шрифт рендерится как векторный объект.
Алгоритм настройки:
EANGnivc или аналогичные шрифты семейства Code 128/EAN-13.EAN-13 часто требуется расчет контрольного символа и специальное преобразование цифр в символы шрифта с помощью функций на языке 1С.Иногда «волнистость» вызвана не программными сбоями, а физическим проскальзыванием ленты или перегревом этикетки. Выясним, как оптимизировать эти параметры:
В настройках печати принтера (вкладка Параметры или Options):
Посмотрим, как решить аналогичную проблему в среде Linux, где управление печатью осуществляется через систему CUPS. Если вы столкнулись с «волнами» там, выполните следующие действия:
http://localhost:631).При реализации вышеуказанных методов в программном коде или при настройке компонентов, обратите внимание на следующие объекты и настройки платформы:
Библиотеку подключаемого оборудования (БПО).РисунокТабличногоДокумента, если штрихкод выводится программно.Следование этим шагам позволит добиться идеальной печати штрихкодов, что критически важно для быстрой работы кассового узла и корректной инвентаризации в 1С:Розница.