Как в 1С:УНФ 3.0 настроить генерацию штрихкодов EAN-128 (GS1-128)?

Пользователь 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет Промышленность, строительство и АПК
← На главную

При организации производственного учета, особенно с использованием серий и сроков годности, часто возникает задача по маркировке продукции. Одним из наиболее функциональных форматов штрихкодирования является EAN-128 (современное название — GS1-128), который позволяет закодировать сразу несколько параметров в одном штрихкоде. Рассмотрим, как реализовать генерацию таких кодов в конфигурации «1С:Управление нашей фирмой» (УНФ) 3.0 и можно ли обойтись стандартными средствами программы.

Основная проблема заключается в том, что для маркировки требуется не просто штрихкод товара, а составной код, включающий, например, код товара (GTIN), номер серии и дату производства. Давайте разберемся, готова ли типовая УНФ к такой задаче.

Что такое штрихкод GS1-128 и в чем его преимущество?

Стандарт GS1-128 — это не просто штрихкод, а целый язык для кодирования данных. Его ключевая особенность — использование идентификаторов применения (Application Identifiers - AI). Это специальные префиксы (двух-, трех- или четырехзначные числа в скобках), которые сообщают сканеру, какая именно информация следует за ними. Это позволяет в одной строке "упаковать" множество различных данных.

Проанализируем пример, который обсуждался на форуме: необходимо закодировать EAN-13 товара, его серию и дату выпуска — для этой задачи есть обработка для штрихкодирования серий и даты производства. В формате GS1-128 это будет выглядеть следующим образом:

В итоге строка данных для штрихкода может выглядеть так: (02)04601234567890(21)SN54321(11)231225. При сканировании такого кода система, поддерживающая стандарт GS1-128, автоматически "поймет", где здесь код товара, где серия, а где дата, и сможет правильно распределить эти данные по соответствующим полям в документе.

Возможности стандартной конфигурации 1С:УНФ 3.0

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

  1. Чтение и разбор готовых кодов GS1-128. Здесь у УНФ все в порядке. Система способна корректно считывать и разбирать информацию из уже нанесенных на товар штрихкодов. Если настроить шаблоны штрихкодов, то при сканировании составного кода данные автоматически попадут в нужные поля (номенклатура, характеристика, серия). Это полезно, если вы работаете с товарами, которые уже промаркированы поставщиком.
  2. Генерация простых штрихкодов. Программа без проблем генерирует и печатает простые типы штрихкодов, например, EAN-13 для карточки номенклатуры (автоматическое создание штрихкодов) или внутренний штрихкод для весового товара.
  3. Встроенный редактор этикеток. В УНФ есть мощный инструмент для создания и редактирования шаблонов ценников и этикеток. В него можно выводить различные данные из системы: наименование, цену, характеристики и, конечно же, поле со штрихкодом.

Ключевое ограничение: как показал опыт пользователей, стандартный функционал не содержит встроенного генератора для "сборки" сложного штрихкода GS1-128 из нескольких разных полей базы данных. Вы можете вывести на этикетку штрихкод номенклатуры (EAN-13) (вывод штрихкода на этикетку маркированного товара), а рядом текстом написать номер серии и дату. Но объединить эти три разных поля в один-единственный штрихкод формата GS1-128 штатными средствами, к сожалению, не получится — есть инструмент редактирования макетов печатных форм без программирования.

Вывод: для генерации GS1-128 необходима доработка

Таким образом, приходим к однозначному выводу: чтобы 1С:УНФ 3.0 могла самостоятельно формировать и печатать на этикетках составные штрихкоды GS1-128, требуется доработка конфигурации — для этого подойдёт автоматизация печати штрихкода GTIN на этикетках. Необходимо создать программный механизм (тот самый "генератор"), который будет по заданным правилам собирать данные из разных мест системы и формировать из них единую строку для кодирования.

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

План реализации через доработку конфигурации

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

Шаг 1. Определение структуры штрихкода

В первую очередь, необходимо четко определить, какая информация и в каком порядке должна содержаться в штрихкоде. Совместно со специалистом нужно составить "формулу" будущего кода. Например:

Шаг 2. Создание алгоритма формирования строки

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

Алгоритм должен выполнять следующие действия:

  1. Получить на вход данные о печатаемой номенклатуре и документе-основании (генерация штрихкода из документов), например, документ Производство.
  2. Извлечь необходимые значения (товарная накладная ТОРГ-12 со штрихкодом):
    • Найти основной штрихкод EAN-13 для данной номенклатуры. Преобразовать его в 14-значный GTIN, добавив "0" в начало.
    • Получить номер серии из табличной части документа Производство.
    • Получить дату документа или специальное поле с датой производства и преобразовать ее в формат ГГММДД.
  3. Собрать итоговую строку, добавляя идентификаторы применения. Например: "02" + гтин + "21" + номерСерии + "11" + датаПроизводства. Важно помнить, что скобки в идентификаторах (02), (21) нужны для удобочитаемости, но в самой кодируемой строке могут отсутствовать. Вместо них для разделения данных переменной длины используется специальный символ-разделитель FNC1, что должен учесть компонент 1С, формирующий изображение штрихкода.

Шаг 3. Интеграция в механизм печати этикеток

После того как функция генерации строки готова, ее нужно встроить в процесс печати.

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

Итог: 1С:УНФ 3.0 является гибкой системой, которая "готова" к работе со стандартом GS1-128 на уровне чтения и обработки данных. Однако для автоматизации создания таких кодов на собственном производстве необходимо расширение базовых возможностей системы с помощью доработок. Это стандартная практика, позволяющая адаптировать программу под уникальные бизнес-процессы компании.

← На главную