При работе с системой маркировки «Честный Знак» (ЧЗ) часто возникает необходимость печати максимально компактных этикеток (аналогично тому, как оптимизируют компактный шаблон чека) — для этого подойдёт автоматизация интеграции и печати этикеток «Честный Знак». Формат 20x20 мм является одним из самых популярных, но в то же время проблемных. Пользователи часто сталкиваются с тем, что в режиме предпросмотра макет выглядит корректно, однако при реальной печати на принтере (например, TSC TE200) содержимое сильно уменьшается, появляются лишние поля, а сам штрихкод может ошибочно формироваться в формате QR-кода вместо требуемого DataMatrix. Разберем по шагам, как настроить систему для идеальной печати.
Прежде чем приступать к правкам внутри 1С, необходимо убедиться, что драйвер принтера «понимает» физические размеры этикетки. Для принтеров серии TSC (в частности, модели TE200) это критически важный этап. Проанализируем настройки печати в операционной системе.
Одной из главных причин самопроизвольного уменьшения этикетки является наличие полей в настройках самой 1С. Для малого формата 20x20 мм даже стандартное поле в 1 мм способно «сжать» полезную область на 10%. Рассмотрим, как это исправить.
Откроем макет этикетки или форму предпросмотра перед печатью — это удобнее через редактор печатных форм без конфигуратора. Опираясь на общие правила редактирования печатных форм в 1С, перейдем в «Файл» — «Параметры страницы». Установим следующие значения:
Проанализируем ситуацию с «лишней границей». Часто она возникает из-за того, что в макете 1С область печати захватывает пустую колонку справа или пустую строку снизу. Нам нужно убедиться, что именованная область, которая выводится методом Вывести(), четко ограничена рамками этикетки. В редакторе макета выделим нужные ячейки и проверим границы через пункт меню «Таблица» — «Имена» — «Назначить имя».
Часто возникает путаница: в настройках указан DataMatrix, а печатается нечто, похожее на QR-код. Такое может случиться, если пытаться извлечь DataMatrix коды из PDF документов без специальной обработки. Для маркировки «Честный Знак» используется специфический стандарт GS1 DataMatrix. Выясним, почему код может отображаться неверно.
В свойствах объекта «РисунокШтрихкод» (поможет инструмент настройки вывода DataMatrix на этикетки) в макете 1С необходимо проверить следующие параметры:
1С:Печать штрихкодов.Для программиста будет полезно проверить код формирования штрихкода. Посмотрим на пример типовой логики:
// Пример настройки параметров компоненты печати штрихкодов
ДанныеШтрихкода = Новый Структура;
ДанныеШтрихкода.Вставить("ТипКода", 16); // Код типа для DataMatrix
ДанныеШтрихкода.Вставить("СодержатСимволГС1", Истина);
ДанныеШтрихкода.Вставить("Текст", СтрокаКодаМаркировки);
// Устанавливаем параметры отображения
ОбластьМакета.Рисунки.Штрихкод.Объект.ТипКода = ДанныеШтрихкода.ТипКода;
ОбластьМакета.Рисунки.Штрихкод.Объект.Сообщение = ДанныеШтрихкода.Текст;
При печати напрямую из документа «Заказ на эмиссию» система подтягивает предопределенные шаблоны — для этого подойдёт комплексное решение для работы с маркировкой. Если вы отредактировали макет, а изменения не применяются, проверьте, какой именно шаблон выбран в настройках документа. Рассмотрим алгоритм проверки:
Перейдем в справочник «Шаблоны этикеток и ценников». Найдем используемый шаблон и откроем его редактор. Убедитесь, что размер этикетки в справочнике указан как 20x20. Если вы создавали макет вручную в «Табличном документе», проверьте свойство Автомасштаб. Его необходимо установить в значение Ложь, чтобы 1С не пыталась подогнать макет под системные настройки принтера по умолчанию.
Если после всех программных настроек принтер продолжает печатать «границу» или смещает изображение, необходимо выполнить аппаратную калибровку. Это позволит принтеру точно определять начало каждой этикетки размером 20 мм.
Выполним следующие действия:
Принтер прогонит несколько этикеток и определит расстояние между ними (Gap). Теперь программные настройки 20x20 в 1С будут точно соответствовать физическому положению бумаги.
Проанализировав ситуацию, мы видим, что проблема печати 20x20 в 1С — это всегда комплекс факторов — поможет расширение для удобной работы с маркировкой. Нулевые поля в параметрах страницы, отключение автотекста в штрихкоде и точная калибровка датчика принтера — три столпа, на которых держится корректная маркировка. Помните, что для «Честного Знака» критически важна плотность печати, поэтому на малых размерах старайтесь делать элементы штрихкода максимально четкими, избегая любого масштабирования графики.