Многие пользователи сталкиваются с тем, что после обновления конфигурации 1С:Розница или при начале работы с маркированной продукцией сканер Honeywell 1450g начинает выдавать ошибки при считывании кодов DataMatrix. Внезапный сбой торгового оборудования может парализовать работу кассы, поэтому важно знать алгоритм восстановления настроек. Чаще всего это сопровождается сообщением об ошибке с указанием конкретной позиции символа, например, «ошибка 31». Давайте разберем по шагам, как выявить причину и устранить эту неисправность.
Первое, что необходимо сделать — исключить проблемы с передачей данных от сканера к компьютеру. Часто ошибки возникают из-за конфликта режима клавиатуры (USB-HID) с системными настройками.
Honeywell 1450g. Это поможет устранить случайные искажения параметров.USB-COM (эмуляция последовательного порта) — это самый надежный способ работы с маркировкой. Для этого часто рекомендуется подключение сканера штрихкода через драйвер NativeAPI, который обеспечивает стабильную связь в типовых конфигурациях. В этом режиме сканер передает данные напрямую через драйвер, минуя системную раскладку клавиатуры, что исключает ошибки из-за включенного Punto Switcher или других программ-перехватчиков.DataMatrix. Загрузите актуальное ПО для вашего устройства с официального сайта производителя.Одной из главных причин ошибок является наличие в коде DataMatrix спецсимвола GS (Групповой разделитель, ASCII-код 29 или FNC1). Если устройство не передает этот разделитель, может потребоваться расширение для передачи символа GS сканерами штрихкодов. Платформа 1С использует XML для обмена данными между клиентом и сервером, а данный символ не является допустимым для стандартного XML. При передаче строки сканирования система «спотыкается» об этот символ.
Как проанализировать ситуацию:
Подключаемого оборудования передает данные в конфигурацию.Если обновление драйверов и настроек сканера не принесло результата, можно применить программный обходной путь. При получении данных от сканера, 1С должна корректно интерпретировать «хвост» маркировки. Рассмотрим пример того, как можно обрабатывать строку перед передачей:
// Пример логики обработки спецсимвола перед передачей на сервер
// В коде маркировки спецсимволы заменяются или экранируются
Функция ОбработатьКодМаркировки(ИсходнаяСтрока) Экспорт
СимволГруппы = Символ(29);
// Проверяем наличие спецсимвола в строке
Если Найти(ИсходнаяСтрока, СимволГруппы) > 0 Тогда
// Заменяем или удаляем символ в зависимости от требований
// Важно: для ФФД 1.2 символ должен быть корректно передан
Результат = СтрЗаменить(ИсходнаяСтрока, СимволГруппы, "");
КонецЕсли;
Возврат Результат;
КонецФункции
Обратите внимание, что полное удаление спецсимвола может быть недопустимо для корректной валидации марки в Честном ЗНАКе. Поэтому лучше использовать методы замены на допустимые последовательности, которые 1С сможет успешно передать, а затем восстановить в серверной процедуре ККМ.
Не забывайте, что 1С:Розница использует Библиотеку подключаемого оборудования (БПО). Ошибки при сканировании часто связаны с тем, что старая версия БПО не умеет корректно парсить современные структуры DataMatrix согласно актуальным требованиям ФФД 1.2.
БПО в вашей конфигурации соответствует требованиям релиза 2.3.5.24 или выше.1С:ИТС.CR (возврат каретки), чтобы 1С понимала, что ввод строки завершен.Применяя эти шаги комплексно, вы сможете избавиться от ошибок сканирования и обеспечить стабильную работу вашего торгового оборудования с маркированной продукцией.