Как убрать лишние символы ]C1 и ]d2 при сканировании штрихкодов GS1 на ТСД Intermec для 1С?

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

При интеграции терминалов сбора данных (ТСД) в экосистему , особенно при работе с маркированным товаром и стандартами GS1, специалисты часто сталкиваются с проблемой появления "лишних" символов в начале считанного кода. Если на одном устройстве (например, Urovo) код считывается чисто, то на устройствах Intermec (ныне принадлежащих бренду Honeywell) перед данными могут добавляться комбинации типа ]C1 или ]d2. Разберем подробно, почему это происходит и как настроить оборудование для корректной работы.

Почему появляются символы ]C1 и ]d2: понимание AIM ID

Для начала проанализируем ситуацию: эти символы не являются ошибкой сканера или повреждением штрихкода. Перед нами — стандартный идентификатор AIM ID (Association for Automatic Identification and Mobility Identifier). Согласно международным стандартам, сканер может передавать информацию о том, какой именно тип штрихкода был считан, чтобы информационная система (в нашем случае ) могла правильно интерпретировать данные.

Рассмотрим структуру этих префиксов:

  1. Символ "]" — это признак того, что далее следует идентификатор типа кода.
  2. Символ "C" или "d" — код семейства штрихкода. C соответствует линейному коду Code 128, а d — двумерному коду DataMatrix.
  3. Цифра (1, 2 и т.д.) — уточняющий параметр. Например, 1 в ]C1 означает, что это не просто Code 128, а стандарт GS1-128 (с символом FNC1 в первой позиции). В случае с ]d2, цифра 2 указывает на формат GS1 DataMatrix.

Проблема в том, что если или драйвер торгового оборудования не настроены на прием AIM ID, эти символы попадают в поле поиска как обычный текст, из-за чего товар не находится в базе — для безошибочной проверки кодов маркировки пригодится модуль контроля складских операций по ТСД для 1С. Выясним, как это исправить на уровне настроек терминала.

Пошаговая настройка ТСД Intermec для отключения префиксов

В терминалах Intermec по умолчанию часто включена опция Transmit AIM ID. В отличие от многих китайских ТСД, где эта функция выключена "из коробки", профессиональное оборудование Honeywell/Intermec строго следует стандартам передачи данных. Чтобы убрать эти символы, нам необходимо изменить системные настройки сканирующего модуля.

Рассмотрим алгоритм действий для большинства моделей Intermec на базе Android или Windows Mobile:

  1. Откроем основное меню терминала и перейдем в раздел Settings (Настройки).
  2. Найдем пункт Enterprise Settings или Intermec Settings. Это центральный узел управления периферией.
  3. Перейдем по пути: Data Collection -> Internal Scanner.
  4. Выберем пункт Symbology Options. Здесь хранятся настройки для каждого конкретного типа штрихкода.
  5. Нам нужно найти параметр с названием Symbology Identifier или Transmit AIM ID.
  6. Установим значение этого параметра в None (или снимем галочку, в зависимости от версии прошивки).

Важное примечание: Эту процедуру желательно повторить для всех используемых типов кодов, особенно для Code 128 и DataMatrix, чтобы исключить появление префиксов в будущем.

Проблема групповых этикеток и спецсимвола FNC1

Проанализируем вторую проблему, упомянутую в обсуждении: появление странных символов (например, [d2 или других знаков) при сканировании групповых упаковок. В кодах формата GS1 используется невидимый управляющий символ FNC1 (он же GS, Group Separator, ASCII 29).

Если терминал настроен некорректно, он может либо игнорировать этот разделитель, из-за чего GTIN и серийный номер "слипнутся" в одну строку, либо заменять его на печатные символы, которые мешают разбору кода в . Рассмотрим, как это настроить:

В тех же настройках Intermec Settings найдем раздел, отвечающий за обработку спецсимволов. Нам интересен параметр FNC1 Character. Для работы с современными конфигурациями на платформе 8.3 (использующими БПО — Библиотеку подключаемого оборудования), рекомендуется:

Взаимодействие с 1С: режим клавиатуры vs COM-порт

Посмотрим на ситуацию со стороны программного обеспечения. Почему на одном ТСД всё работает, а на другом — нет? Часто причина кроется в способе передачи данных в . Для этой задачи есть система автоматизации маркировки на ТСД для 1С.

Если ТСД работает в режиме эмуляции клавиатуры, то любой символ, переданный сканером (включая ]C1), "печатается" в активное поле ввода. В этом случае воспринимает префикс как часть штрихкода. Для надежного считывания кодов мобильными устройствами пригодится решение для автоматизации ТСД по штрихкодам.

Если же использовать специализированный драйвер и настроить сканер как "Устройство ввода", то компонента часто умеет самостоятельно отсекать AIM ID, понимая, что это лишь служебная информация о типе кода. Однако, наиболее надежным способом остается именно аппаратное отключение префиксов в настройках самого Intermec, как мы разобрали выше.

Дополнительные рекомендации

Если после всех настроек проблема сохраняется, проанализируем версию прошивки вашего терминала. В старых моделях Intermec утилита Data Collection Engine может требовать обновления для корректной работы с инвертированными кодами DataMatrix или сложными структурами GS1.

Также проверьте настройку DataMatrix Code Page. В некоторых случаях для корректной передачи кириллицы (если она зашита в код) или специфических разделителей требуется установка кодировки UTF-8 или Windows-1251 непосредственно в настройках символики на ТСД.

Подведем итог: появление ]C1 — это штатное поведение профессионального сканера. Для комфортной работы в просто деактивируйте Symbology Identifier в системном приложении настроек сбора данных вашего Intermec. Это позволит синхронизировать работу разных моделей ТСД (например, Urovo и Intermec) и обеспечит единообразную обработку штрихкодов в информационной системе.

← На главную