Существует ли штрихкод ITF-14 с расширением AddOn и как реализовать его печать в 1С?

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

При автоматизации складского учета и интеграции с торговыми сетями часто возникает задача передачи дополнительной информации на групповой тара или транспортной упаковке. В розничной торговле для единичных товаров часто применяется формат EAN13 с расширением AddOn5 (или AddOn2), который штатно поддерживается типовой компонентой 1С:Печать штрихкодов. Однако при попытке применить аналогичный подход к штрихкоду ITF-14 разработчики сталкиваются с отсутствием типа ITF14 AddOn.

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

Причины отсутствия ITF-14 с расширением AddOn

Выясним техническую сторону вопроса. Отсутствие типа ITF14 AddOn в 1С — это не недоработка платформы, а прямое следование международным стандартам автоматической идентификации GS1 и ISO/IEC 16388:

  1. Строгий формат стандарта: Символика ITF-14 (Interleaved 2 of 5) предназначена исключительно для кодирования 14 цифр номера GTIN-14. Международный стандарт GS1 не предусматривает для этого типа кода каких-либо дополнительных дополнительных блоков (Add-On).
  2. Ограничения сканеров штрихкодов: Сканеры и терминалы сбора данных (ТСД) настроены на считывание ровно 14 цифровых разрядов в коде ITF-14. Даже если бы удалось сформировать нестандартную картинку штрихкода с дополнительным блоком, большинство сканирующего оборудования не смогло бы корректно распознать такую структуру.
  3. Компонента печати 1С: Внешняя компонента 1С:Печать штрихкодов и встроенные библиотеки БПО (Библиотека подключаемого оборудования) поддерживают блок AddOn только для символик семейства EAN-13.

Практические варианты решения задачи в 1С

Проанализируем основные пути решения проблемы, когда требуется связать упаковку с конкретным артикулом номенклатуры для приемки и возвратов на складе.

Вариант 1. Использование стандарта GS1-128 (EAN-128)

Если для транспортной тары требуется передавать расширенный набор данных в одном линейном штрихкоде, общепринятым стандартом является GS1-128. Данный формат поддерживает так называемые Идентификаторы Применения (Application Identifiers, AI).

С помощью GS1-128 в единый штрихкод можно поместить:

  1. Основной код упаковки GTIN (Идентификатор применения 01).
  2. Артикул товара или номер детали (Идентификатор применения 240 или 241).
  3. Количество в упаковке (Идентификатор применения 37).
  4. Номер партии или серии (Идентификатор применения 10).

В платформе «1С:Предприятие» при использовании компоненты печати штрихкодов выбирается тип EAN128 / GS1-128. Для разделения полей переменной длины в кодируемую строку вставляется служебный символ-разделитель GS (символ с ASCII-кодом 29).

Вариант 2. Печать двух раздельных штрихкодов (Рекомендуемый подход)

Если торговые сети требуют наличия стандартного ITF-14, а вашему собственному складу требуется идентификация внутреннего артикула (например, при обработке возвратов), наиболее надежным решением является печать двух кодов на этикетке:

  1. Стандартный ITF-14: Печатается для торговых сетей и внешней логистики. Содержит 14-значный код упаковки.
  2. Внутренний штрихкод формата CODE128: Печатается рядом и используется исключительно для внутренних нужд предприятия. В него зашифровывается артикул и количество.

Посмотрим на пример формирования внутреннего штрихкода со специальным префиксом для идентификации при сканировании на складе:


// Пример формирования строки внутреннего штрихкода с префиксом, артикулом и количеством
ПрефиксСобственногоШК = "01#";
АртикулТовара = СокрЛП(ВыбраннаяНоменклатура.Артикул);
КоличествоВУпаковке = Формат(КоличествоВТранспортномМесте, "ЧГ=0");

СтрокаШтрихкода = ПрефиксСобственногоШК + АртикулТовара + "#" + КоличествоВУпаковке;
// Итоговый вид строки: "01#96702#12"

При сканировании на складе обработчик события считывания штрихкода разбирает полученную строку:


&НаКлиенте
Процедура ОбработатьШтрихкод(ДанныеШтрихкода)
    Если Лев(ДанныеШтрихкода, 3) = "01#" Тогда
        // Это внутренний штрихкод с артикулом
        МассивЗначений = СтрРазделить(ДанныеШтрихкода, "#");
        АртикулСканированный = МассивЗначений[1];
        КоличествоСканированное = Число(МассивЗначений[2]);
        
        НайтиТоварПоАртикулу(АртикулСканированный, КоличествоСканированное);
    Иначе
        // Обработка стандартного ITF-14 / EAN-13
        ОбработатьСтандартныйШтрихкод(ДанныеШтрихкода);
    КонецЕсли;
КонецПроцедуры

Вариант 3. Использование 2D-кодирования (GS1 DataMatrix)

Если размеры этикетки ограничены и нет возможности разместить два линейных штрихкода, рекомендуется перейти на двумерный код GS1 DataMatrix. Он штатно поддерживается платформой 1С и позволяет разместить код GTIN, артикул, серию и количество в одном компактном двумерном коде.

Вариант 4. Разграничение GTIN-14 через индикатор упаковки

Если один тип коробки используется под разные артикулы товаров, стандарт GS1 предусматривает использование первой цифры кода ITF-14 (так называемый «Индикатор упаковки», принимает значения от 1 до 8). Назначая разные цифры индикатора упаковки для разных артикулов, вы получаете уникальные коды ITF-14 без необходимости использования не поддерживаемых стандартом расширений AddOn.

Резюме

Штрихкода ITF14 AddOn5 не существует ни в международном стандарте GS1, ни в платформе «1С:Предприятие». Для решения задачи передачи артикула вместе с кодом упаковки оптимально использовать формат GS1-128 или размещать на этикетке два штрихкода: стандартный ITF-14 для внешних контрагентов и CODE128 с префиксом для внутреннего складского учета.

← На главную