В современных редакциях конфигурации 1С:Управление торговлей 11 (УТ 11) предусмотрена стандартная функция "Штрихкодирование печатных форм". Она позволяет выводить уникальный идентификатор документа на печать, чтобы в дальнейшем быстро находить его в базе. Однако часто пользователи сталкиваются с тем, что при сканировании штрихкода система либо просто вводит цифры в активное поле (как с клавиатуры), либо вовсе не реагирует. Разберем подробно, как заставить этот механизм работать правильно.
Прежде всего, проанализируем, что именно печатает 1С на документах. Штрихкод, генерируемый системой, обычно использует стандарт Code128. В нем зашифрован внутренний уникальный идентификатор (GUID) объекта и информация о типе метаданных. Именно поэтому код получается длинным (например, 69139359702909829136424172778088819450). Для того чтобы программа поняла, что считанный набор цифр — это ссылка на документ, необходимо выполнение двух условий: правильно настроенное оборудование и корректно работающий обработчик событий в коде формы.
Рассмотрим по шагам, почему режим подключения сканера критически важен для корректной работы поиска:
Если вы используете HID-режим, для имитации работы COM-порта часто требуется программировать сканер на передачу префикса F7. В 1С нажатие F7 традиционно открывает окно поиска, куда сканер затем вставляет штрихкод.
Выясним основную причину, по которой поиск может не срабатывать даже при наличии сигнала от сканера. В 1С существует привязка оборудования к Рабочему месту (РМК). Если настройки сканера были созданы на одном компьютере (или под другим сетевым именем), а вы пытаетесь работать на другом, система может некорректно интерпретировать сигналы.
Решение проблемы через пересоздание РМК:
Проанализируем технические параметры драйвера. Для того чтобы 1С поняла, что ввод данных завершен, сканер должен передавать специальный символ — суффикс. Чаще всего используется CR (возврат каретки, код 13).
Посмотрим, как проверить настройки:
13 (CR). В некоторых случаях для определенных моделей сканеров (например, BurstScan) может потребоваться специфическая таблица символов.Если оборудование настроено верно, но поиск все равно не происходит, стоит проверить программный код. В управляемых формах 1С за обработку данных отвечает процедура ОбработкаОповещения. Рассмотрим пример того, как это реализовано в типовых решениях:
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
// Проверка, что событие пришло именно от подключаемого оборудования
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие Тогда
// Преобразование данных и вызов поиска
СтруктураШтрихкода = МенеджерОборудованияУТКлиент.ПреобразоватьДанныеСоСканераВСтруктуру(Параметр);
ОбработатьШтрихкоды(СтруктураШтрихкода);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Если вы являетесь разработчиком, рекомендуем поставить точку останова в методе ОбработатьШтрихкоды. Если при сканировании отладчик не останавливается на этой строке, значит, событие ScanData не генерируется драйвером или не доходит до формы.
Если ваша база 1С развернута на сервере, а вы подключаетесь через RDP, проанализируем следующие моменты:
regsvr32.Если поиск документов по штрихкоду печатной формы не работает, выполните следующие действия:
Следуя этим инструкциям, вы сможете настроить корректную работу штрихкодирования, что значительно ускорит процесс обработки бумажной документации и поиска соответствующих объектов в информационной базе.