В структуре кода маркировки отсутствуют разделители GS: причины и решение
Ошибка «в структуре кода маркировки отсутствуют разделители GS» — одна из самых частых проблем при работе с системой «Честный знак». Она возникает при сканировании DataMatrix кода на кассе, в 1С или при загрузке данных в систему маркировки.
Без разделителей GS система не может корректно разобрать структуру кода — не отличает серийный номер от ключа проверки и криптохвоста. Результат: товар невозможно продать, приёмка блокируется.
В этой статье разберём, что такое GS, почему он пропадает и как решить проблему за 10 минут.
Что такое разделитель GS и зачем он нужен
GS (Group Separator) — невидимый управляющий символ с кодом ASCII 29 (0x1D). Он разделяет поля данных переменной длины внутри кода маркировки DataMatrix.
Полная структура кода маркировки «Честного знака»:
[FNC1] + 01 + GTIN(14 цифр) + 21 + Серийный номер(13 символов) + [GS] + 91 + Ключ проверки(4 символа) + [GS] + 92 + Криптохвост(88 символов)
| Элемент | Описание | Длина | Пример |
|---|---|---|---|
| FNC1 (ASCII 232) | Признак формата GS1 | 1 байт | — |
| AI (01) + GTIN | Глобальный номер товара | 14 цифр | 04607034376471 |
| AI (21) + Серийный номер | Уникальный ID экземпляра | 13 символов | sQ!s6FE82pOHk |
| GS (ASCII 29) | Разделитель | 1 байт | невидимый |
| AI (91) + Ключ проверки | Проверочный ключ | 4 символа | AB12 |
| GS (ASCII 29) | Разделитель | 1 байт | невидимый |
| AI (92) + Криптохвост | Электронная подпись ЦРПТ | 88 символов | ... |
Где именно стоят разделители GS
GS ставится только после полей переменной длины, если они не последние в коде:
- После серийного номера (AI 21) — перед ключом проверки (AI 91)
- После ключа проверки (AI 91) — перед криптохвостом (AI 92)
После криптохвоста (AI 92) GS не нужен — это последний элемент.
Почему GS невидим? Это управляющий символ — он не печатается, не отображается в текстовых редакторах, но передаётся сканером. Именно поэтому его так легко потерять при копировании и экспорте данных.
Почему разделители GS пропадают: 5 основных причин
1. Неправильная настройка сканера штрихкодов
Самая частая причина. Большинство сканеров работают в режиме «эмуляции клавиатуры» (HID Keyboard). В этом режиме сканер передаёт данные как нажатия клавиш — но клавиши для символа GS (ASCII 29) на клавиатуре нет.
Что происходит: сканер просто пропускает символ GS, и система получает код без разделителей.
2. Работа через удалённый рабочий стол (RDP)
При подключении через RDP или Citrix непечатаемые символы (включая GS) теряются при передаче между локальной машиной и терминальным сервером.
3. Экспорт/импорт через Excel
Excel удаляет непечатаемые символы при открытии CSV-файлов двойным кликом. Если коды маркировки прошли через Excel — GS гарантированно потеряны.
4. Некорректная обработка в 1С
Некоторые версии 1С и их драйверы оборудования не поддерживают передачу символа GS от сканера. Особенно часто проблема возникает со старыми версиями конфигураций.
5. Ошибка при программном формировании кодов
Если коды маркировки формируются программно (скрипт, интеграция с API), разработчик мог забыть вставить символ GS между полями.
Последствия отсутствия GS
Без разделителей GS система маркировки не может корректно разобрать код:
| Проблема | Описание |
|---|---|
| «Криптохвост не найден» | Система не может определить, где заканчивается серийный номер |
| «Код маркировки не распознан» | Весь код читается как одна строка без структуры |
| Блокировка продажи на кассе | Касса не может проверить подлинность кода |
| Ошибка при приёмке на WB | Wildberries не может связать код с товаром |
| Код ошибки 126 | Ошибка указания в структуре кода маркировки |
Как проверить наличие GS в коде
Способ 1: Текстовый редактор с показом спецсимволов
- Откройте Notepad++ (бесплатный редактор)
- Включите «Вид → Показ символов → Показать все символы»
- Отсканируйте код в открытый документ
- Ищите символ
GSили\x1Dмежду полями данных
Способ 2: Hex-редактор
- Откройте отсканированный код в hex-редакторе
- Ищите байт
1D— это и есть GS - Он должен стоять между AI(21) и AI(91), и между AI(91) и AI(92)
Способ 3: Проверка на портале «Честного знака»
- Зайдите на честныйзнак.рф
- Загрузите или отсканируйте код
- Если код не распознаётся — скорее всего, GS отсутствует
Как исправить: пошаговое руководство
Решение 1: Настройка сканера штрихкодов
Это решает проблему в 80% случаев.
Шаг 1. Переключите сканер в режим COM-порт (Virtual COM Port) вместо режима клавиатуры. В этом режиме все спецсимволы передаются корректно.
Шаг 2. Если COM-режим невозможен — настройте передачу GS как нажатие клавиши:
- Откройте мануал вашего сканера
- Найдите раздел «Control Character Settings» или «Special Characters»
- Настройте GS → F8 или Ctrl+] (зависит от модели)
Шаг 3. Включите режим GS1 DataMatrix:
- В мануале найдите «Enable GS1 mode» или «GS1 DataBar»
- Отсканируйте активационный штрихкод из инструкции
Шаг 4. Обновите прошивку сканера до последней версии.
Решение 2: Настройка 1С
Для 1С:Управление торговлей 11.5+:
- Обновите конфигурацию до версии 11.5.8.267 или новее
- В настройках подключаемого оборудования проверьте драйвер сканера
- Активируйте «Передача служебных символов» в настройках драйвера
Временное решение: отключите проверку структуры кода маркировки в настройках. Это позволит работать, пока вы настраиваете оборудование.
Решение 3: Работа с Excel и CSV
Правила работы с кодами маркировки в табличных файлах:
- Никогда не открывайте CSV с кодами двойным кликом
- Используйте импорт через «Данные → Получить данные → Из текста/CSV»
- Сохраняйте файлы в кодировке UTF-8
- При программном формировании используйте функцию
CHAR(29)для вставки GS
Решение 4: Работа через RDP
- Подключите сканер напрямую к терминальному серверу
- Или настройте перенаправление COM-портов в параметрах RDP-подключения
- Или используйте веб-версию программы вместо терминального клиента
Решение 5: Используйте генератор этикеток с проверкой
Самый простой способ избежать проблем с GS — использовать специализированный генератор этикеток, который автоматически проверяет структуру кода.
KleyKod при генерации этикеток:
- Автоматически проверяет наличие GS-разделителей в загруженных кодах
- Валидирует структуру DataMatrix (GTIN, серийный номер, криптохвост)
- Предупреждает о проблемах до печати, а не после
Чек-лист диагностики
Если вы столкнулись с ошибкой «отсутствуют разделители GS»:
- Проверьте режим сканера (COM-порт vs клавиатура)
- Включите передачу спецсимволов в настройках сканера
- Обновите прошивку сканера
- Проверьте, не работаете ли через RDP
- Убедитесь, что коды не прошли через Excel
- Обновите 1С до последней версии
- Проверьте код в Notepad++ на наличие символа GS
Часто задаваемые вопросы
Что произойдёт, если продавать товар без GS в коде?
Касса не сможет проверить подлинность кода маркировки. Продажа будет заблокирована, а при проверке возможен штраф: до 300 000 ₽ для ИП и до 1 000 000 ₽ для юрлиц.
Можно ли вручную добавить GS в код?
Теоретически да — символ GS можно вставить программно (ASCII 29). Но проще настроить сканер правильно или использовать специализированное ПО.
Почему в Excel не видно символ GS?
GS — непечатаемый управляющий символ. Excel его не отображает и часто удаляет при открытии файла. Используйте Notepad++ или hex-редактор для проверки.
Какие сканеры корректно передают GS?
Большинство современных 2D-сканеров (Zebra, Honeywell, Datalogic) поддерживают передачу GS при правильной настройке. Ключевое — переключить из режима HID в режим COM-порта.
Связана ли ошибка «криптохвост не найден» с GS?
Да, напрямую. Без GS-разделителя система не может определить границу между серийным номером и ключом проверки, поэтому криптохвост (AI 92) не распознаётся.
Генерируйте этикетки без ошибок
KleyKod автоматически проверяет структуру кодов маркировки при создании этикеток. Загрузите Excel от Wildberries и PDF с кодами из «Честного знака» — получите готовые этикетки с проверенными DataMatrix.
15 этикеток в месяц — бесплатно.
Готовы создать этикетки?
200 этикеток бесплатно при регистрации
Попробовать бесплатно