Как настроить печать штрихкодов в 1С:Комплексная автоматизация 1.1 и исправить пропуск этикеток на принтере TSC?

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

При внедрении штрихкодирования номенклатуры в типовой конфигурации «1С:Комплексная автоматизация 1.1» специалисты нередко сталкиваются с двумя типовыми вопросами: где хранится информация о штрихкодах и как запустить печать этикеток, а также почему термопринтер (например, TSC TDP-225) при отправке задания на печать начинает пропускать по несколько пустых этикеток или разрывает изображение штрихкода на части. Разберем по шагам, как устроен этот механизм в системе и как правильно настроить параметры печати.

Где хранятся штрихкоды и как вызвать печать в 1С:КА 1.1

В отличие от некоторых простых конфигураций, в «1С:Комплексная автоматизация 1.1» штрихкод не является непосредственным реквизитом справочника Номенклатура. Проанализируем структуру хранения данных:

  1. Штрихкоды регистрируются в специальном регистре сведений Штрихкоды. Такое разделение необходимо, поскольку для одной позиции номенклатуры могут быть заданы различные штрихкоды в разрезе упаковок (единиц измерения), характеристик и серий.
  2. Для формирования и вывода штрихкодов на печать в типовой конфигурации предусмотрена встроенная обработка Печать этикеток (или Печать этикеток и ценников). С ее помощью можно заполнить список товаров остатками по складу или документу поступления и отправить их на термопринтер.
  3. Для графического отображения штрихкода в табличном документе система использует внешнюю компоненту 1C:Печать штрихкодов (файл 1CBarCod.dll). Компонента должна быть установлена и зарегистрирована в операционной системе Windows. Если компонента отсутствует или не зарегистрирована, штрихкод в макете может отображаться пустым полем. В качестве альтернативы графической компоненте часто применяют специализированные TrueType-шрифты (например, шрифты для стандартов Code 128 или EAN-13), выводя в ячейку текстовую строку с рассчитанным контрольным символом.

Почему принтер пропускает этикетки и делит штрихкод

Типичная ситуация при печати на термопринтере: принтер прогоняет вхолостую 3–5 этикеток, печатает половину штрихкода, снова пропускает ленту и выдает вторую половину. Выясним причину такого поведения. Это происходит из-за рассинхронизации высоты страницы в макете 1С, настроек драйвера Windows и физического шага этикет-ленты. Если суммарный размер страницы в задании на печать (включая невидимые поля и колонтитулы) превышает физическую высоту этикетки хотя бы на миллиметр, драйвер принтера воспринимает хвост страницы как отдельный лист и выполняет протяжку до следующей этикетки.

Пошаговое решение проблемы с принтером TSC TDP-225

Рассмотрим, как правильно сконфигурировать связку драйвера принтера и параметров табличного документа в 1С:

  1. Корректировка размера носителя в драйвере: Откроем в панели управления Windows раздел «Устройства и принтеры», перейдем в свойства принтера TSC. Создадим новый пользовательский размер этикетки. На практике при физическом размере этикетки 38×20 мм подбор значений 43×22 мм (с учетом зазора между наклейками) позволяет выровнять позиционирование головки принтера, если датчик настроен с погрешностью.
  2. Фиксация параметров по умолчанию: Убедимся, что созданный размер этикетки назначен не только во вкладке «Общие» -> «Настройка печати», но и во вкладке «Дополнительно» -> «Значения по умолчанию». Если этого не сделать, служба печати 1С может подтягивать глобальный системный формат (например, User Defined или A4), что приведет к сбою координат.
  3. Настройка параметров страницы в 1С: Откроем макет этикетки или окно предварительного просмотра в обработке Печать этикеток и перейдем в «Файл» -> «Параметры страницы». Установим все поля (левое, правое, верхнее, нижнее) равными 0 мм. Обязательно проверим размер колонтитулов: по умолчанию в платформе 1С для верхнего и нижнего колонтитулов может быть задан отступ 10 мм. Обнулим значения колонтитулов, иначе принтер будет отмерять их как полезную площадь страницы. В параметре масштабирования установим «По ширине листа» либо жестко «100%».
  4. Калибровка датчика зазора (Gap): Если принтер продолжает прогонять пустые ленты, выполним аппаратную калибровку датчика носителя. В настройках принтера убедимся, что тип носителя переключен в режим «Этикетки с зазором» (Die-Cut Labels), а не «Непрерывный» (Continuous). На принтере TSC TDP-225 выключим питание тумблером, зажмем функциональную клавишу на корпусе, включим питание и удержим кнопку до тех пор, пока индикатор не начнет мигать красным цветом, после чего отпустим ее для автокалибровки длины этикетки.
  5. Смена драйвера при нестабильной работе: Если штатный драйвер производителя продолжает некорректно масштабировать вывод из 1С, рекомендуется использовать универсальные драйверы для термопринтеров от Seagull Scientific, которые обеспечивают точную передачу нестандартных размеров этикеток через спулер Windows.

Таким образом, сочетание точной настройки размера этикетки в драйвере с учетом межэтикеточного зазора и обнуление полей с колонтитулами в параметрах страницы 1С полностью устраняет проблему пропуска этикеток и разрыва штрихкодов.

← На главную