При внедрении торгового оборудования в 1С:Управление торговлей 11.4 пользователи часто сталкиваются с ситуацией, когда сканер работает корректно, но для добавления товара в документ (например, в «Реализацию товаров и услуг») приходится предварительно нажимать кнопку «Поиск по штрихкоду» или клавишу F7. Это существенно замедляет работу склада или кассовой зоны. Разберем подробно, как настроить оборудование так, чтобы система «слышала» сканер в автоматическом режиме.
Первым делом проанализируем текущие настройки драйвера в системе. В современных версиях 1С, включая УТ 11.4.13, разработчики рекомендуют использовать технологию Native API. Рассмотрим, почему это важно:
COM-объекты) постепенно снимаются с поддержки и могут нестабильно работать в новых релизах платформы.Для того чтобы 1С понимала, что данные пришли именно от сканера, а не от пользователя, печатающего на клавиатуре, необходимо настроить внешнее событие. Если в настройках указан порт «Клавиатура», ключевую роль начинают играть префиксы и суффиксы.
Разберем ситуацию: почему 1С требует нажатия F7? Это происходит потому, что программа не получает сигнала о завершении ввода данных. Чтобы исправить это, нам необходимо настроить суффикс.
Суффикс — это специальный непечатный символ, который сканер добавляет в конец каждого считанного штрихкода. Самым распространенным и правильным для 1С является суффикс CR (Carriage Return), соответствующий коду #13 (имитация нажатия клавиши Enter).
Выполним следующие шаги для настройки:
13 (CR).Важный нюанс: настройки в 1С — это только половина дела. Сам физический сканер должен «знать», что ему нужно передавать этот суффикс. Для этого необходимо взять инструкцию к вашей модели сканера и считать из нее специальный управляющий штрихкод, который обычно называется Set Suffix CR или Add Enter Key.
Проанализируем ситуацию, описанную в некоторых старых внедрениях (например, в УПП), где на сканерах настраивают префикс F7. В этом случае сканер сначала посылает сигнал нажатия клавиши F7, 1С открывает окно поиска, затем сканер «впечатывает» код и нажимает Enter.
Рассмотрим недостатки этого метода:
F7, сканер просто не сработает.Caps Lock могут исказить передаваемый штрихкод.В современных конфигурациях на управляемых формах использование Native API в связке с правильно настроенным суффиксом позволяет драйверу генерировать внешнее событие. 1С перехватывает его программно, даже если курсор не стоит в поле ввода, и автоматически обрабатывает полученный код.
Если работа в режиме клавиатуры вызывает сбои (например, при работе через RDP или при высокой скорости сканирования символы «проглатываются»), перейдем к более надежному методу — эмуляции COM-порта.
Для этого выполним последовательность действий:
USB Serial Emulation.COM3).COM-порт.Преимущество этого метода заключается в том, что 1С работает с портом напрямую, игнорируя текущую раскладку клавиатуры и положение курсора. Это критически важно при работе с маркировкой («Честный ЗНАК»), где коды DataMatrix содержат спецсимволы и имеют большую длину.
Посмотрим на ситуацию, когда база 1С находится на сервере. В режиме клавиатуры задержки сети часто приводят к тому, что штрихкод «разваливается» на части. Выясним, как это лечится:
После внесения любых изменений в настройки оборудования (в 1С или в самом сканере) обязательно нужно:
'4601234567890' [CR (#13)].#13 не отображается, значит, сканер не запрограммирован на его передачу.Рассмотрим пример того, как система обрабатывает данные на уровне кода (упрощенно), если всё настроено верно. Драйвер вызывает процедуру:
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Источник = "СканерШтрихкода" Тогда
// Система автоматически находит товар по Штрихкоду
ОбработатьШтрихкод(Данные);
КонецЕсли;
КонецПроцедуры
Таким образом, правильная настройка Native API и суффикса CR позволяет избежать лишних действий и делает работу со сканером в 1С:УТ 11.4 максимально эффективной.