Что такое GS-разделитель ASCII 29 в DataMatrix
Что такое GS-разделитель в коде маркировки, зачем нужен ASCII 29, почему он пропадает в Excel, сканере или 1С и как проверить полный КМ.
Сканер пищит, но в базу попадает обрезанная строка — в половине обращений по маркировке виноват не «битый» DataMatrix, а пропавший GS-разделитель (ASCII 29, FNC1). Код визуально целый, квадрат читается, но структура КМ для ГИС МТ и кассы уже нарушена.
Короткий ответ
GS-разделитель — невидимый символ между блоками кода маркировки. Без него серийник слипается с AI 93 или AI 92, парсер видит неверную длину полей, ГИС МТ отклоняет операцию. GS теряется при копировании в Excel, при неверной настройке сканера и при экспорте в CSV. Решение: не гонять полный КМ через таблицы, настроить передачу FNC1 на сканере (инструкция), проверять строку в онлайн-разборе DataMatrix.
Кому полезна статья
Программистам интеграций 1С/MES, операторам линии, которые копируют коды из файлов, инженерам АСУТП, настраивающим обмен с принтером и камерой, и всем, кто видел «(+93» в середине серийника вместо отдельного поля 93.
Какая проблема возникает на производстве
Линия получает файл кодов из ГИС МТ. Логист «для удобства» открывает выгрузку в Excel, фильтрует, копирует столбец в задание принтера. GS исчезает. Принтер печатает DataMatrix, в котором AI 21 и AI 93 склеены. Камера на линии декодирует строку, но MES сравнивает с эталоном из API — несовпадение. Оператор вручную копирует КМ из ячейки — ошибка повторяется на каждой смене.
На складе та же история: код из УПД вставлен в поле приёмки WMS — криптохвост отделился не там, где нужно, паллета не агрегируется.
Пример реальной ошибки
Вода, укороченный КМ. Эталон после AI 21 (13 символов серийника):
…PRkQ<GS>930ed7
где <GS> — байт 0x1D. После Excel в задании принтера:
…PRkQ(+930ed7
Символ ( — часть серийника, а не разделитель. Сканер на посту отдаёт ту же склейку. Проверка КМ показывает: поле 93 парсится неверно или пустое. Партия 12 000 бутылок — переделка этикеток. Подробный разбор копирования — в статье криптохвост и Excel.
Структура КМ и роль GS
Типовая цепочка для питьевой воды:
| Блок | AI | Примечание |
|---|---|---|
| GTIN | 01 | 14 цифр |
| Серийник | 21 | фиксированная длина |
| Разделитель | GS | ASCII 29 |
| Криптохвост | 93 | 4 символа |
В полной структуре (обувь, парфюм) после серийника идут GS, AI 91, ключ, GS, AI 92. Любой пропущенный GS ломает справочник AI.
DataMatrix на этикетке кодирует байтовую строку, не «текст для человека». Человекочитаемый вид в ЛК «Честный ЗНАК» скрывает непечатаемые символы — отсюда иллюзия, что «скопировал то же самое».
Где GS теряется в цепочке
Excel и CSV — главный враг. Ячейка показывает «текст», но при Save As CSV GS превращается в разрыв поля или исчезает.
Сканер — режим «GS1 без разделителей» для розничного EAN не подходит для полного КМ. Нужен профиль с FNC1 — см. настройку сканеров.
Принтер — если в задание пришла уже испорченная строка, DataMatrix будет математически корректен, но с неверным содержимым. Верификатор даст Grade A при неправильном КМ.
API и JSON — при передаче без экранирования \u001d хост обрезает строку на первом управляющем символе.
Как настроить сканер и хост
- Включите в сканере: DataMatrix, передача FNC1 как GS, отключите strip AI.
- На COM/USB проверьте длину принятого буфера в hex — между концом серийника и
39 33(93) должен быть1D. - В 1С/MES храните КМ как бинарно-безопасную строку или base64, не как «отображаемый текст».
- Для отладки сравните с онлайн-разбором DataMatrix эталон из ГИС МТ и строку со сканера.
Для линии с автоматической проверкой содержимого — верификация DataMatrix и маркировка на производстве.
Печать и камера: GS не «печатается» отдельно
На этикетке нет «отдельной черточки» для GS — он внутри матрицы модулей. Камера либо декодирует полную строку, либо нет. Если камера отдаёт обрезанные данные — проблема в настройках декодера, аналогично ручному сканеру. См. также DataMatrix на линии розлива.
Чек-лист проверки
- Эталон из ГИС МТ не проходил через ручное редактирование в Excel
- Hex-дамп строки со сканера содержит
1Dперед AI 93 или 91 - Проверка КМ разбирает 01, 21, 93 на отдельные поля
- Профиль сканера задокументирован; запасной сканер с тем же профилем
- GTIN в задании сверен через валидатор GTIN
- Интеграция с принтером — потоковая, без копипаста из таблиц (интеграция MES)
Когда пора внедрять систему
Пока коды передаются файлами «для удобства» через Excel — GS будет пропадать снова. Система нужна, когда:
- Заказы кодов и задания принтеру идут напрямую из ГИС МТ / MES / 1С.
- Более одного принтера или линии — единый источник эталона.
- Склад принимает маркированный товар — см. WMS с маркировкой и ТСД для DataMatrix.
Централизованная интеграция 1С, WMS и Честный ЗНАК убирает ручное копирование — а вместе с ним исчезает и класс ошибок с пропавшим ASCII 29.
Что можно автоматизировать
- проверка каждого КМ на наличие GS разделитель перед печатью;
- запрет загрузки файла в принтер, если GS потерян;
- тестовый прогон строки через буфер без Excel;
- журнал: откуда пришла битая строка — Excel, сканер или 1С.
Связанные инструменты
Связанные решения
Когда это становится проблемой бизнеса
Пока оператор вручную копирует КМ между Excel и принтером — живут единицы. Когда в файле 10 000 строк, GS пропадает незаметно, а дубли всплывают на отгрузке — Excel становится узким местом.
- оператор тратит время на ручную сверку
- коды теряются между Excel, 1С и принтером
- сканер читает не ту строку
- в WMS попадает КИ вместо полного КМ
- на линии появляются дубли
- палеты агрегируются с ошибками
- сеть возвращает поставку из‑за невалидных кодов
В таких случаях нужен не ещё один Excel-файл, а модуль проверки, печати, логирования и интеграции с оборудованием.
Когда стоит внедрять систему
Если ошибки с кодами появляются регулярно, КМ проходят через Excel, принтер, сканер, WMS или 1С, а оператор вручную сверяет строки — лучше внедрить модуль проверки, печати и логирования КМ.
ПО для маркировки →Что можно внедрить под вашу задачу
- загрузка КМ из ГИС МТ
- буфер кодов для линии
- проверка структуры AI 01/21/93
- проверка GS-разделителя
- поиск дублей
- печать DataMatrix
- очередь печати
- связь с принтером
- связь со сканером или камерой
- логирование каждого КМ
- статусы: получен, напечатан, нанесён, верифицирован, списан, отгружен
- агрегация коробов и палет
- интеграция с 1С, WMS, MES
- отчёты по смене и партии
С чего можно начать
- Разбор проблемы по описаниюот 0 ₽
- Аудит маркировкиот 15 000 ₽
- Модуль проверки DataMatrixот 60 000 ₽
- AI Support Agent (базовая диагностика)от 60 000 ₽
- Интеграция принтера/сканераот 80 000 ₽
- WMS-стартот 120 000 ₽
- SCADA/HMIот 95 000 ₽
- WMS + ТСД + маркировкаот 250 000 ₽
- XRAY/PACS архивот 200 000 ₽
- Ежемесячное сопровождениеот 15 000 ₽/мес
Это ориентиры. Точная стоимость зависит от оборудования, интеграций, объёма данных и состояния текущего процесса. Для оценки достаточно описать задачу и прислать пример ошибки.
Читайте также
1 июл. 2026 г.
Почему DataMatrix не читается сканером: причины и диагностика
Разбор причин, почему сканер не читает DataMatrix-код маркировки: плохая печать, GS-разделитель, криптохвост, настройки Honeywell, Datalogic, 1С и WMS.
Читать2 июл. 2026 г.
Печать DataMatrix 20x20 мм на пробку: принтер, риббон, этикетка и проверка
Как печатать DataMatrix 20x20 мм на пробку или маленькую этикетку: размер модуля, 300 dpi, риббон, материал, контраст, камера и проверка КМ.
Читать1 июл. 2026 г.
Интеграция печати КМ с MES и 1С: архитектура без Excel на линии
Как связать ГИС МТ, MES и принтер DataMatrix: буфер кодов, очередь печати, верификация, ввод в оборот и типовые схемы для линии розлива.
ЧитатьЗАЯВКА
Разобрать проблему
Опишите контур: оборудование, симптом, пример кода, ошибки или фрагмент лога. Отвечу, где узкое место — данные, печать, сканер, WMS, 1С или сервер.
Частые вопросы
Что такое GS-разделитель в коде маркировки?
Это управляющий символ ASCII 29 (Group Separator), в терминологии GS1 — FNC1. Он отделяет переменные поля КМ друг от друга, например серийник (AI 21) от криптохвоста (AI 93).
Почему GS не виден в Excel и блокноте?
Символ непечатаемый. Excel, Word и мессенджеры при копировании часто удаляют или заменяют его пробелом, скобкой или обрезают строку.
Как проверить, что GS на месте?
Вставьте декодированную строку в онлайн-разбор DataMatrix: если поля 21 и 93 разобрались отдельно — разделитель сохранён. Либо смотрите hex-представление: между серийником и «93» должен быть байт 1D.