При работе с маркированными товарами в приложении «Честный знак. Бизнес», а также используя другие приложения для проверки маркировки на Android, пользователи терминалов сбора данных (ТСД) АТОЛ Smart.Prime часто сталкиваются с критической ошибкой: «FNC1 не указан в коде. Убедитесь, что в настройках вашего устройства подключена возможность передачи FNC1». Эта проблема блокирует возможность корректного сканирования кодов Data Matrix и дальнейшую работу с документами. В этой статье мы подробно разберем, как настроить системные утилиты ТСД, устранить ошибки со спецсимволами (такими как кавычки или буква «ё») и подготовить устройство к полноценной эксплуатации.
Для начала проанализируем ситуацию: почему приложение выдает подобное сообщение? Код GS1 Data Matrix, используемый в системе «Честный знак», содержит специальный непечатный символ-префикс FNC1. Этот символ сообщает сканеру и программному обеспечению, что перед ними именно структура GS1, а не обычный двухмерный код. Если встроенное ПО терминала (сканирующий сервис) настроено на «чистую» передачу текста без обработки служебных символов, приложение «Честный знак» не распознает код как валидную марку. Сложность структуры кода также является причиной, по которой для учетных систем может понадобиться предварительное извлечение кодов DataMatrix из PDF-документов. Для сверки кодов с ГИС ТСМ есть программа инвентаризации и сверки маркировки через ТСД.
На современных прошивках АТОЛ Smart.Prime за работу сканера отвечает утилита Barcode Service. Рассмотрим алгоритм действий для включения передачи префикса:
Такая настройка префиксов является стандартной задачей при работе со сканирующим оборудованием, хотя для некоторых стационарных моделей может потребоваться более сложное программирование сканера через служебные штрихкоды — для организации рабочих процессов с ТСД подойдёт программа автоматизации склада и штрихкодирования.
Обратите внимание: по умолчанию этот флаг часто отключен, что и вызывает ошибку в приложении «Честный знак».
Если на вашем устройстве установлена более ранняя версия системного ПО, вместо Barcode Service может использоваться Barcode Utility. Процесс настройки здесь немного отличается, так как нужные параметры скрыты в контекстных меню. Проанализируем шаги:
Если вы не видите трех точек или дополнительных настроек, это явный признак того, что версия вашей системной утилиты устарела и требует обновления прошивки терминала.
Иногда после включения префикса FNC1 пользователи замечают странное поведение: вместо корректных данных сканер выдает букву «ё» или «я». Разберем, почему это происходит. Проблема заключается в том, что ТСД передает спецсимволы в режиме Keyboard Wedge (эмуляция клавиатуры). Если в операционной системе Android на данный момент выбрана русская раскладка, ASCII-коды префиксов интерпретируются как кириллические символы.
Для решения этой проблемы выполним следующие действия:
Бывают ситуации, когда ТСД Smart.Prime успешно читает FNC1, но игнорирует другие важные знаки, например, двойные кавычки ("). Проанализируем возможные настройки для исправления этой ситуации:
#, но для «Честного знака» обычно требуется передача непечатного символа как есть.]d2 к кодам GS1 DataMatrix, что помогает многим приложениям точно идентифицировать тип кода.Если вышеуказанные настройки отсутствуют или не помогают, необходимо обновить прошивку ТСД. Выясним нюансы этого процесса:
Версии ниже 1.0.7 содержат множество ограничений в работе со сканирующим модулем. Рекомендуется обновиться до версии 1.1.0 или выше. Помните о важном правиле: обновления АТОЛ часто требуют последовательной установки (например, сначала 1.0.7, затем 1.0.8 и так далее). После крупного обновления прошивки желательно выполнить Hard Reset (сброс к заводским настройкам), чтобы новые конфигурационные файлы Barcode Service не конфликтовали со старыми записями в реестре.
Если вы используете ТСД АТОЛ Smart.Prime совместно с мобильной платформой 1С, проанализируем настройки драйвера. В библиотеке подключаемого оборудования (БПО) при использовании режима «Intent» важно включить параметр «Send Data as Events». Это позволит 1С получать данные как внешнее событие. Для этой задачи есть готовая система автоматизации склада с ТСД для 1С.
Пример логики обработки данных в 1С при получении штрихкода может выглядеть так:
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Событие = "Barcode" Тогда
// Очищаем данные от возможных лишних префиксов
ТекущийШтрихкод = СокрЛП(Данные);
// Вызываем типовую функцию обработки маркировки
МенеджерОборудованияКлиент.ОбработатьШтрихкод(ТекущийШтрихкод);
КонецЕсли;
КонецПроцедуры
Соблюдение этих инструкций позволит вам полностью адаптировать ТСД АТОЛ Smart.Prime под требования обязательной маркировки и избежать ошибок при сканировании в любых приложениях экосистемы «Честный знак».