h1. Серийный код транспортной упаковки с прикладными идентификаторами 21, 91 и 92: поля фиксированной и переменной длины Серийный код транспортной упаковки (SSCC) - это уникальный международный идентификатор для отслеживания объектов логистических операций: паллет или контейнеров. В системе GS1 коды SSCC и другие связанные данные кодируются с помощью прикладных идентификаторов (application Identifiers) и баркодов, например, баркода GS1-128. h2. Прикладные идентификаторы: h3. 01: универсальный код товара Global Trade Item Number (GTIN) Фиксированная длина: 14 цифр Идентифицирует товары любого уровня вложенности упаковки (продукты, ящики). h3. 21: Серийный номер Переменная длина: до 20 буквенных символов Присваивает единице товара уникальный серийный номер, что делает ее более отслеживаемой. h3. 91 и 92: Внутренняя информация организации Переменная длина: до 90 символов Используется для кодирования внутренних данных, таких как номер партии или другой информации от изготовителя. h2. Фиксированная/переменная длина полей: Поля фиксированной длины: количество символов после прикладного идентификатора предустановлено. Между полями не нужно вставлять дополнительный разделитель, поскольку длина известна. Пример: прикладной идентификатор 01 всегда состоит из 14 символов. Поля переменной длины: число символов может варьироваться в пределах лимита по максимуму. Прикладные идентификаторы указываются друг за другом, и чтобы разграничить поля нужен символ-разделитель FNC1 (Function Code 1). Пример: прикладные идентификаторы 21, 91 и 92 различаются по длине. Почему переменную длину важно учитывать: h2. При кодировании нескольких элементов данных в баркоде: Если после одного поля переменной длины следует другой прикладной идентификатор, то необходим разделитель, чтобы обозначить конец поля. Если поле переменной длины находится в конце кода, то разделитель не обязателен, поскольку дальше нет информации, которую нужно отделить. h2. Разберем на примере: Допустим, вы кодируете следующую информацию в код GS1-128: 01 GTIN: 12345678901231 (14 символов) 21 Серийный номер: SN12345 (переменная длина) 91 Внутренняя информация: Batch001 (переменная длина) 92 Внутренняя информация: Exp2024 (переменная длина) _Этапы кодирования:_ * Начнем с прикладного идентификатора 01: Разделитель после GTIN не нужен, так как его длина фиксированная. * Затем переходим к прикладному идентификатору 21: Поскольку у него переменная длина, а за ним следует другое поле, после этого идентификатора мы вставляем разделитель. * Добавляем идентификатор 91: Снова поле переменной длины, за которым следует другое поле – вставляем после этого идентификатора разделитель. * Добавляем последний прикладной идентификатор 92: Это последний элемент, поэтому после него разделитель не обязателен. Вот закодированные данные: scss (01)12345678901231 (21)SN12345 (91)Batch001 (92)Exp2024 h2. Основные моменты: Прикладные идентификаторы фиксированной длины (такие как 01): Между ними не требуется вставлять разделители. Прикладные идентификаторы переменной длины (такие как 21, 91, 92): После них нужно вставлять разделитель , если дальше идет еще один идентификатор. Сепаратор позволяет сканерам корректно распарсить все поля. h2. Подведем итоги: Понимание различий между полями фиксированной и переменной длины крайне важно при создании баркодов с несколькими элементами данных. Правильное использование разделителей обеспечивает точное считывание данных и существенно упрощает логистические операции. h1. SGtin пример: 010360797188301321583hwHr?.fA-h\u001d91EE09\u001d92fzNUSTDdkjucjEX6wd/6YRma+BSjg+379r4CvAszZc0= (01)03607971883013 ---- раздел(01) 14 знаков GTIN код номенклатуры (21)583hwHr?.fA-h ---- раздел(21) серийный признак переменной длинны поэтому следует разрыв 1d \u001d ---- разрыв означает что предыдущий раздел завершен (91)EE09 ---- разделы(91-99) внутренняя информация компании в нашем случае порядковый номер ключа проверки ЧЗ \u001d ---- break (92)fzNUSTDdkjucjEX6wd/6YRma+BSjg+379r4CvAszZc0= раздел(92) криптохвост данной марки