К статье
Практический материал

Документы и Печать · 11 мин

Как настроить двухмерный штрихкод в 1С

Как настроить двухмерный штрихкод в 1С: выбор формата QR-кода или DataMatrix, установка компоненты печати, настройка макета, подключение сканера и проверка результата.

Двухмерные штрихкоды — QR-код и DataMatrix — применяются в 1С для маркировки товаров, печати платёжных квитанций по ГОСТ Р 56042-2014, идентификации сотрудников и ускорения поиска документов. В отличие от линейных кодов (EAN-13, Code 39), двухмерные форматы вмещают сотни символов и требуют отдельной компоненты генерации картинки, поскольку шрифтом их вывести нельзя.

Настройка сводится к трём задачам: установить компоненту формирования изображения штрихкода, добавить область с кодом в макет печатной формы и заполнить её корректной строкой данных. В типовых конфигурациях (УТ 11, ERP, Бухгалтерия 3.0, УНФ) значительная часть уже реализована — остаётся включить нужные опции и проверить печать. В самописных решениях потребуется доработка макета и процедуры печати.

Ниже разобран полный цикл: от выбора формата и подготовки данных до проверки читаемости кода сканером и типичных ошибок, из-за которых код печатается, но не считывается.

Выбор формата: QR-код или DataMatrix

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

QR-код используют для платёжных квитанций (стандарт ГОСТ Р 56042-2014, применяемый банками), ссылок на сайт, электронных визиток и произвольных текстовых данных. Он хорошо читается камерами смартфонов и большинством 2D-сканеров.

DataMatrix обязателен для маркировки товаров в системе «Честный ЗНАК» (обувь, одежда, табак, лекарства и другие группы). Код содержит GTIN, серийный номер и может включать код проверки. Для работы с маркировкой в типовых конфигурациях есть подсистема «Маркировка товаров».

Оба формата поддерживают коррекцию ошибок: код остаётся читаемым даже при частичном повреждении. Но чем выше уровень коррекции и чем длиннее строка данных, тем плотнее и мельче получается матрица — это нужно учитывать при выборе размера картинки на печатной форме.

Сравнение вариантов

QR-код

Подходит для квитанций, ссылок, внутренних документов. Ограничение: не принимается системой маркировки «Честный ЗНАК».

DataMatrix

Обязателен для маркированных товаров. Ограничение: требует строгой структуры данных с разделителями GS (код 29).

PDF417

Встречается в транспортных и таможенных документах. Ограничение: поддерживается не всеми компонентами и сканерами.

Проверка наличия компоненты печати штрихкодов

Двухмерный штрихкод в 1С формируется как картинка, которую генерирует специальная компонента. В типовых конфигурациях на платформе 8.3 используется встроенная функциональность подсистемы «Печать» (БСП) — компонента «1С:Печать штрихкодов» поставляется вместе с конфигурацией и подключается автоматически при первом обращении.

Чтобы проверить доступность компоненты в типовой конфигурации, откройте раздел «Администрирование» → «Печатные формы, отчеты и обработки» и убедитесь, что функциональность печати включена. Затем сформируйте любую печатную форму, где штрихкод предусмотрен (например, этикетку или квитанцию). Если вместо кода появляется сообщение об ошибке подключения компоненты — её нужно установить.

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

Настройка печати QR-кода в типовых конфигурациях

В «1С:Бухгалтерии 3.0» QR-код для оплаты по реквизитам выводится на счёт на оплату. Проверьте настройки: откройте карточку организации, заполните банковский счёт, ИНН, КПП и корреспондентский счёт — именно из этих данных формируется строка кода. Затем в печатной форме счёта включите вывод QR-кода, если соответствующая опция доступна в настройках печатной формы.

Строка платёжного QR-кода формируется по стандарту: начинается с ST00012 (или актуальной версии формата), далее через символ «|» идут поля Name (получатель), PersonalAcc (расчётный счёт), BankName, BIC, CorrespAcc, Sum (сумма в копейках), Purpose (назначение платежа). Ошибка в любом поле делает код нечитаемым для банковского приложения, поэтому сверяйте реквизиты с карточкой организации.

В «1С:Управление нашей фирмой» и «Управлении торговлей 11» QR-коды и DataMatrix выводятся на этикетках и ценниках. Настройка выполняется в разделе печати этикеток: выберите шаблон этикетки, откройте его в редакторе и проверьте, что поле штрихкода привязано к нужному реквизиту номенклатуры.

Порядок действий для QR-кода на счёте
  1. 1
    Заполните в карточке организации ИНН, КПП, расчётный счёт и банк с БИК
  2. 2
    Откройте документ «Счёт на оплату» и укажите сумму и назначение
  3. 3
    Сформируйте печатную форму и проверьте, что QR-код отображается
  4. 4
    Отсканируйте код приложением банка и сверьте подставленные реквизиты и сумму

Настройка DataMatrix для маркировки товаров

Для работы с маркировкой включите функциональность: в УТ 11 и ERP это раздел «НСИ и администрирование» → «Настройка НСИ и разделов» → «Маркировка» (в разных версиях путь может отличаться). Укажите товарные группы, по которым ведётся учёт кодов маркировки, и настройте обмен с «Честным ЗНАКом» через сертификат электронной подписи.

Код DataMatrix формируется из GTIN (14 цифр), серийного номера и при необходимости кода проверки. Части строки разделяются специальным символом-разделителем GS (код ASCII 29) — это частая причина проблем: если вместо разделителя подставлен обычный пробел или его нет вовсе, сканер прочитает код, но система маркировки его не примет.

Печать этикеток с DataMatrix выполняется из обработки «Печать этикеток и ценников» или из документов маркировки. В шаблоне этикетки поле с кодом должно иметь достаточный размер: при слишком маленькой области матрица уплотняется, и принтер этикеток может напечатать её нечётко.

Добавление двухмерного штрихкода в собственный макет

Если код нужен в нестандартной печатной форме, добавьте его через конфигуратор. Откройте макет табличного документа, выделите ячейки под картинку, в свойствах области установите тип «Картинка» и задайте имя области, например «ОбластьШтрихкод».

В модуле менеджера объекта или в общей процедуре печати сформируйте картинку штрихкода и поместите её в область. В конфигурациях с БСП используется программный интерфейс модуля генерации штрихкодов: передаются строка данных, тип кода (для QR — соответствующее значение перечисления типа), ширина и высота картинки в пикселях, уровень коррекции ошибок. Результат — двоичные данные картинки, которые присваиваются рисунку области.

Размер области задавайте с запасом: для QR-кода с длинной строкой (платёжная квитанция — это 150–300 символов) рекомендуется область от 3×3 см. После вставки проверьте печать на реальном принтере: на экране код может выглядеть чётким, но при печати с низким разрешением мелкие модули сольются.

Перед изменением типовой печатной формы скопируйте её во внешнюю печатную форму или расширение. Это сохранит возможность обновлять конфигурацию без потери доработок и позволит быстро откатиться к типовому варианту при ошибках.
ПЗ
Практическое замечание

Подключение и настройка 2D-сканера

Для считывания двухмерных кодов нужен сканер с поддержкой 2D-форматов — линейный лазерный сканер их не прочитает физически. Подключение к 1С выполняется двумя способами: в режиме эмуляции клавиатуры (сканер «печатает» данные в активное поле) или через драйвер с событием в 1С.

Режим клавиатуры проще: откройте документ, установите курсор в поле штрихкода и отсканируйте код. Недостаток — данные попадают туда, где стоит курсор, а специальные символы (тот же разделитель GS) могут теряться. Для маркировки рекомендуется подключение через драйвер: в разделе «Подключаемое оборудование» добавьте сканер, выберите драйвер (стандартный «1С:Сканеры штрихкода» или драйвер производителя) и протестируйте считывание.

В настройках сканера проверьте суффикс окончания передачи (обычно Enter) и передачу специальных символов. Для DataMatrix маркировки включите в настройках сканера распознавание разделителя GS — без этого строка придёт склеенной, и 1С не сможет разобрать её на GTIN и серийный номер.

Контрольные точки

Как проверить результат

Чтение кода сканером
Норма

Сканер распознаёт код с первого раза с расстояния, удобного для работы

Тревожный признак

Код читается только с нескольких попыток или не читается вовсе

Структура данных DataMatrix
Норма

В 1С код разбирается на GTIN и серийный номер, документ маркировки проводится

Тревожный признак

Строка приходит целиком, без разделителей, система маркировки отклоняет код

Платёжный QR-код
Норма

Банковское приложение подставляет получателя, счёт и сумму

Тревожный признак

Приложение сообщает о неверном формате или подставляет не те реквизиты

Типичные ошибки и способы их устранения

Самая частая проблема — код печатается, но не читается. Причины: слишком маленькая область печати, низкое качество печати (истощённый тонер, термопринтер с загрязнённой головкой), недостаточные поля вокруг кода (тихая зона). Увеличьте размер области, поднимите уровень коррекции ошибок и проверьте печать на другом принтере.

Вторая группа ошибок — неверная строка данных. Для платёжного QR проверьте версию формата и обязательные поля; для DataMatrix — наличие разделителей GS и корректность GTIN (контрольная цифра рассчитывается по стандартному алгоритму). Полезно расшифровать содержимое кода онлайн-декодером и сравнить с ожидаемой строкой.

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

Типичные ошибки
01
Печать QR-кода в области меньше 2×2 см — модули сливаются, код не читается
02
Использование пробела вместо разделителя GS в DataMatrix — система маркировки отклоняет код
03
Заполнение реквизитов организации с ошибками — банк не принимает платёж по QR-коду
04
Доработка типового модуля печати без расширения — изменения теряются при обновлении
05
Проверка читаемости только на экране — на бумаге код оказывается нечитаемым

Частые вопросы

Можно ли напечатать QR-код в 1С без внешних компонент?

В типовых конфигурациях на базе БСП компонента уже встроена и подключается автоматически, поэтому отдельная установка не требуется. В самописной конфигурации без БСП понадобится либо добавить аналогичную компоненту, либо генерировать картинку сторонним способом и вставлять её в макет.

Почему сканер читает DataMatrix, но 1С выдаёт ошибку структуры?

Сканер передаёт строку без разделителей GS (код 29), и 1С не может выделить GTIN и серийный номер. Включите в настройках сканера передачу специальных символов или переключите его в режим работы через драйвер, где обработка разделителей выполняется корректно.

Какой размер QR-кода выбрать на печатной форме?

Зависит от длины строки: чем больше данных, тем плотнее матрица. Для платёжных квитанций практичный минимум — около 3×3 см. Ориентируйтесь на реальную проверку: напечатайте образец и отсканируйте его приложением банка с типичного расстояния.

Можно ли сформировать код маркировки самостоятельно, без «Честного ЗНАКа»?

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

Что делать, если после обновления конфигурации штрихкод перестал печататься?

Проверьте, не были ли доработки внесены в типовые модули — при обновлении они могли быть заменены. Восстановите доработку через расширение или внешнюю печатную форму. Также проверьте подключение компоненты печати и очистите кэш клиента.

Подойдёт ли линейный сканер для чтения QR-кодов?

Нет. Лазерные сканеры читают только одномерные (линейные) штрихкоды. Для QR и DataMatrix нужен 2D-сканер с имидж-сенсором либо камера смартфона с соответствующим приложением.

Итог

Что важно запомнить

Двухмерный штрихкод в 1С формируется компонентой генерации картинки: в типовых конфигурациях она встроена. QR-код — для квитанций и ссылок, DataMatrix — для маркировки. Проверяйте размер области печати, структуру строки данных и читаемость кода сканером на реальном отпечатке, а доработки выполняйте через расширение.