После планового обновления конфигурации 1С:Розница (в частности, до версии 2.2.12.30) и платформы 1С:Предприятие 8.3 (версия 8.3.13.1865) многие пользователи сталкиваются с некорректным поведением сканеров штрихкода. Типичные симптомы включают открытие окна выбора товара (вместо мгновенного добавления позиции в РМК) и появление лишних скобок в середине считанных кодов, особенно при работе с маркированной или алкогольной продукцией. Разберем детально причины этих явлений и пошагово настроим систему для восстановления корректной работы.
Проанализируем ситуацию, когда при сканировании товара в Рабочем месте кассира (РМК) вместо добавления номенклатуры в таблицу открывается справочник или окно подбора. Это происходит из-за того, что система воспринимает ввод со сканера как неполный или неоконченный. В новых версиях Библиотеки стандартных подсистем (БСП), на которых базируется современная 1С:Розница, изменились алгоритмы ожидания данных от порта.
Рассмотрим порядок действий для настройки суффикса:
13 (код возврата каретки CR) или 10 (LF).Если в настройках Суффикс указан верно, но проблема сохраняется, проанализируем тайминги. В современных версиях драйверов 1С:Сканеры штрихкода (NativeApi) время ожидания между символами сократилось. Если сканер «медленный», 1С может разрывать штрихкод на части.
Выясним причину появления странных символов, например, когда код 01046... превращается в (01)046.... Это связано с тем, что новые версии драйверов 1С автоматически распознают идентификаторы применения стандарта GS1. Для маркировки честного знака или алкоголя это может быть критично, если конфигурация ожидает «сырые» данные без форматирования.
Для решения этой проблемы выполним следующие шаги:
Разберем специфическую проблему платформы 8.3.13.1865. В этой версии был замечен баг, при котором фокус ввода в окне РМК мог самопроизвольно перескакивать на другие элементы интерфейса при поступлении данных от внешнего устройства. Это заставляет программу открывать дополнительные диалоговые окна вместо обработки события ВнешнееСобытие.
Посмотрим на возможные пути решения:
Если вы обладаете правами разработчика и проблема не решается настройками, проанализируем, как программно обрабатывается ввод. В модуле формы РМК обычно присутствует обработчик, реагирующий на сканирование. Проверьте, как интерпретируются данные в процедуре ПриВнешнемСобытии.
Типичная логика, которую стоит проверить в коде:
Процедура ВнешнееСобытие(Источник, Событие, Данные)
// Проанализируем, приходит ли суффикс в данных
Если Событие = "BarCodeValue" Тогда
Штрихкод = СокрЛП(Данные);
// Если драйвер NativeApi, скобки могут быть уже добавлены здесь
ОбработатьШтрихкод(Штрихкод);
КонецЕсли;
КонецПроцедуры
Если вы видите, что переменная Данные содержит лишние символы, стоит вернуться к настройкам NativeApi и проверить параметры форматирования. Также убедитесь, что в справочнике Номенклатура штрихкоды записаны без учета этих специфических скобок.
Подведем итог и составим четкую последовательность действий:
#13, добавьте его в поле суффикса.Помните, что совместная работа новой платформы и обновленной конфигурации требует синхронности в версиях драйверов. Не забывайте обновлять компоненты, которые 1С предлагает установить при первом открытии окна настроек оборудования.