При интеграции терминалов сбора данных (ТСД) в экосистему 1С, особенно при работе с маркированным товаром и стандартами GS1, специалисты часто сталкиваются с проблемой появления "лишних" символов в начале считанного кода. Если на одном устройстве (например, Urovo) код считывается чисто, то на устройствах Intermec (ныне принадлежащих бренду Honeywell) перед данными могут добавляться комбинации типа ]C1 или ]d2. Разберем подробно, почему это происходит и как настроить оборудование для корректной работы.
Для начала проанализируем ситуацию: эти символы не являются ошибкой сканера или повреждением штрихкода. Перед нами — стандартный идентификатор AIM ID (Association for Automatic Identification and Mobility Identifier). Согласно международным стандартам, сканер может передавать информацию о том, какой именно тип штрихкода был считан, чтобы информационная система (в нашем случае 1С) могла правильно интерпретировать данные.
Рассмотрим структуру этих префиксов:
C соответствует линейному коду Code 128, а d — двумерному коду DataMatrix.1 в ]C1 означает, что это не просто Code 128, а стандарт GS1-128 (с символом FNC1 в первой позиции). В случае с ]d2, цифра 2 указывает на формат GS1 DataMatrix.Проблема в том, что если 1С или драйвер торгового оборудования не настроены на прием AIM ID, эти символы попадают в поле поиска как обычный текст, из-за чего товар не находится в базе — для безошибочной проверки кодов маркировки пригодится модуль контроля складских операций по ТСД для 1С. Выясним, как это исправить на уровне настроек терминала.
В терминалах Intermec по умолчанию часто включена опция Transmit AIM ID. В отличие от многих китайских ТСД, где эта функция выключена "из коробки", профессиональное оборудование Honeywell/Intermec строго следует стандартам передачи данных. Чтобы убрать эти символы, нам необходимо изменить системные настройки сканирующего модуля.
Рассмотрим алгоритм действий для большинства моделей Intermec на базе Android или Windows Mobile:
Важное примечание: Эту процедуру желательно повторить для всех используемых типов кодов, особенно для Code 128 и DataMatrix, чтобы исключить появление префиксов в будущем.
Проанализируем вторую проблему, упомянутую в обсуждении: появление странных символов (например, [d2 или других знаков) при сканировании групповых упаковок. В кодах формата GS1 используется невидимый управляющий символ FNC1 (он же GS, Group Separator, ASCII 29).
Если терминал настроен некорректно, он может либо игнорировать этот разделитель, из-за чего GTIN и серийный номер "слипнутся" в одну строку, либо заменять его на печатные символы, которые мешают разбору кода в 1С. Рассмотрим, как это настроить:
В тех же настройках Intermec Settings найдем раздел, отвечающий за обработку спецсимволов. Нам интересен параметр FNC1 Character. Для работы с современными конфигурациями 1С на платформе 8.3 (использующими БПО — Библиотеку подключаемого оборудования), рекомендуется:
GS в исходном виде (ASCII 29), если сканер работает в режиме устройства ввода (не клавиатурный режим).#, если в вашей обработке 1С прописан алгоритм поиска этого разделителя.Посмотрим на ситуацию со стороны программного обеспечения. Почему на одном ТСД всё работает, а на другом — нет? Часто причина кроется в способе передачи данных в 1С. Для этой задачи есть система автоматизации маркировки на ТСД для 1С.
Если ТСД работает в режиме эмуляции клавиатуры, то любой символ, переданный сканером (включая ]C1), "печатается" в активное поле ввода. В этом случае 1С воспринимает префикс как часть штрихкода. Для надежного считывания кодов мобильными устройствами пригодится решение для автоматизации ТСД по штрихкодам.
Если же использовать специализированный драйвер и настроить сканер как "Устройство ввода", то компонента 1С часто умеет самостоятельно отсекать AIM ID, понимая, что это лишь служебная информация о типе кода. Однако, наиболее надежным способом остается именно аппаратное отключение префиксов в настройках самого Intermec, как мы разобрали выше.
Если после всех настроек проблема сохраняется, проанализируем версию прошивки вашего терминала. В старых моделях Intermec утилита Data Collection Engine может требовать обновления для корректной работы с инвертированными кодами DataMatrix или сложными структурами GS1.
Также проверьте настройку DataMatrix Code Page. В некоторых случаях для корректной передачи кириллицы (если она зашита в код) или специфических разделителей требуется установка кодировки UTF-8 или Windows-1251 непосредственно в настройках символики на ТСД.
Подведем итог: появление ]C1 — это штатное поведение профессионального сканера. Для комфортной работы в 1С просто деактивируйте Symbology Identifier в системном приложении настроек сбора данных вашего Intermec. Это позволит синхронизировать работу разных моделей ТСД (например, Urovo и Intermec) и обеспечит единообразную обработку штрихкодов в информационной системе.