1с сканер штрих кода native api настройка
Внешний компонент «1С:Сканер штрихкода» (Native) версия для платформы «1С Предприятие 8.3».
Основные возможности
Внешний компонент «1С:Сканер штрихкода» (Native) (далее – ВК или «1С:Сканер штрихкода») позволяет получать данные от подключенных сканеров штрихкодов и передавать их в платформу «1С:Предприятие». Компонент поддерживает следующие операционные системы (далее – ОС): Windows x32/x64, Linux (x32/x64), Android (arm, arm64, x86, x86_64), MacOS(x64). Компонент поддерживает следующие режимы подключения к сканирующему оборудованию: клавиатурный (все ОС), virtual COM (все ОС), Bluetooth (Android, Mac), Broadcast (Android).
Схема взаимодействия с оборудованием
Драйвер реализует следующую схему получения и обработки данных от оборудования: данные от устройства поступают в процессор сообщений, который приводит сообщения к стандартизованному виду, после чего, если сообщение соответствует заданным при настройке драйвера критериям, то оно передается в платформу «1С: Предприятие», в противном случае игнорируется.
Клавиатурный режим
В отличие от остальных режимов взаимодействия, клавиатурный режим имеет ряд особенностей, которые отличают его от остальных. В Android, Windows и MacOS клавиатуры в отличие от остальных устройств, представлены общей очередью клавиатурных сообщений. Это приводит к тому, что работа с очередью сообщений на этих системах затрагивает пользовательский ввод. Так же требуется отдельный подход при подключении нескольких обработчиков, работающих с оборудованием в клавиатурном режиме. Поэтому, в случае клавиатурного режима взаимодействие с оборудованием выглядит несколько иначе. ОС формирует очередь клавиатурных сообщений от всех клавиатурных устройств, ВК «изымает» сообщения из системной очереди сообщений, после чего предоставляет их «слушателям» – подключенным экземплярам компонента «1С:Сканер штрихкода» с клавиатурным режимом взаимодействия. Если хотя бы один слушатель принимает переданные сообщения, то в очередь они не возвращаются, а слушатель продолжает обработку и передает данные в платформу 1С. В противном случае, если сообщения остались не востребованы в пределах таймаута, указанного в настройках, ВК возвращает их обратно в очередь сообщений, и они доставляются изначальным адресатам.
Примечание :
Для того чтобы слушатель «принял» сообщения они должны соответствовать критериям (суффиксу и префиксу) указанным в настройках.
Также стоит отметить, что учитывая неоднородность в скорости передачи клавиатурных сообщений у разных моделей сканеров (особенно при передаче «больших», более 40-50 символов, ШК), ВК в качестве таймаута использует время, прошедшее с получения последнего клавиатурного сообщения (тем не менее, если в сообщениях удается обнаружить суффикс, то обработка начинается «досрочно», не дожидаясь истечения таймаута).
Это позволяет получать большие ШК даже от сканеров с низкой скоростью передачи сообщений. Отрицательным моментом может быть, то, что при подключенной ВК с большими значениях таймаута при быстром наборе с клавиатуры может создаваться впечатление «заторможенного» ввода. В этом случае рекомендуется уменьшить таймаут клавиатуры в настройках драйвера так, чтобы скорость ввода была комфортной, но сообщения от сканера при этом считывались корректно.
Ограничения клавиатурного режима
Преимуществами клавиатурного режима является его доступность. Он является умолчанием практически для всех моделей сканеров и доступен на всех ОС. Также его легко проверить, подключив сканер и считав какой-нибудь ШК в текстовый редактор. Однако у этого режима есть и ограничения. На большинстве современных клавиатур от
80 до 110 клавиш, тем не менее, ШК может кодировать последовательность байт каждый из которых может принимать значения от 0 до 255. Т.е., в общем случае, количества клавиш на клавиатуре недостаточно для того чтобы передать данные любого ШК. Для того чтобы обойти это ограничение некоторые сканеры используют Ctrl+X или Alt+X нотацию, которые поддержаны в ВК «1С:Сканер штрихкода». Однако не все модели сканеров предоставляют такие возможности и в случае «нестандартных» значений байт данных в ШК (как правило, значения байт 127) либо не передают никаких данных, либо передают их не стандартизованной последовательностью клавиатурных событий. Поэтому, если необходимо работать со штрихкодами, содержащими не латинские символы или каким-либо образом кодированные данные (больничные листы и т.д.), то лучше воспользоваться подключением по COM, если сканер это позволяет.
«Auto CRLF»
Как правило «по умолчанию» сканеры в клавиатурном режиме настроены с суффиксом ‘CR’ (клавиша Enter), но не для всех моделей сканеров это так. Иногда суффиксом может быть ‘LF’ или ‘CRLF’. Для обобщения всех этих случаев в ВК, кроме обычных односимвольных суффиксов, предусмотрен специальный суффикс «Auto CRLF», который обозначает, что последовательность, состоящая из CRLF в любом сочетании считается суффиксом. Это может облегчить работу с настройками для некоторых моделей сканеров.
Окно «Тест»
Для проверки работы со сканером на Windows и Linux, есть возможность воспользоваться встроенным в ВК окном «Тест». Для этого нужно нажать кнопку «Тест устройства» в форме настроек компонента. Внешний вид окна представлен на следующем рисунке.
Окно тест делает попытку подключения всего доступного оборудования с заданными в форме настроек параметрами. После чего можно сканировать различные ШК, данные полученные с них будут отображаться в поле данных. Получаемая от оборудования информация может быть представлена в окне «Тест» в 3-х режимах: «Тестовом», «Рабочем» и «Отладка клавиатуры». «Тестовый» режим показывает данные от оборудования с заменой непечатаемых символов на их названия, а также названия специальных клавиш, если данные получены от клавиатуры.
«Рабочий» режим отображает данные, так как они передаются в платформу «1С: Предприятие». Если то или иное сообщение, пришедшее от оборудования, не соответствует критериям в настройках (допустим, не совпадает суффикс и/или префикс), то оно не будет отображено в «Рабочем» режиме и не будет передано в платформу «1С: Предприятие».
Режим «Отладка клавиатуры», показывает всю последовательность переданных клавиатурных сообщений, которые были переданы в компоненту. Нажатия клавиш в этом случае отображаются как KEY в случае нажатия функциональной клавиши key в случае высвобождения функциональной клавиши и symbol_ _symbol в случае нажатия и высвобождения клавиши печатаемого символа.
Также для проверки правильности настроек сканера на форме Тест расположен проверочный ШК, отсканировав который можно понять правильность настройки сканера. В случае если настройки сканера и ВК «1С:Сканер штрихкода» настроены одинаково (совпадают настройки суффикса, префикса и специальных клавиш на сканере и в ВК), то в поле данных будет выведено «Ваш сканер настроен правильно» («Your scaner configured correctly»). В случае, когда неправильно настроен суффикс и/или префикс будет выведено соответственно «Данные соответствуют проверочным частично.»(«The data correspond to the verification partly.»), «Неверно настроен суффикс»(«Suffix configured wrong»), «Неверно настроен префикс»(«Prefix configured wrong»).
Android Braodcast
На Андроид устройствах с поддержкой функции сканирования ШК (в том числеТСД) появилась возможность получать результаты сканирования через механизм Broadcast (https://developer.android.com/guide/components/broadcasts), для устройств, которые поддерживают такой механизм передачи результатов сканирования. Для того чтобы, на Android устройстве подключить этот вариант взаимодействия необходимо настроить само устройство на передачу данных по Broadcast. В настройках ВК в поле Устройство необходимо указать Broadcast и настроить поля intent.action intent.category intent.extra intent extra type. Поля intent.action intent.category intent.extra имеют то же значение, что и в документации Android (https://developer.android.com/guide/components/intents-filters?hl=ru) и должны совпадать с теми, что перечислены на устройстве. Для примера приведем настройки ТСД Атол Smart.Lite.
Установленные настройки ВК в МБПО на ТСД Атол Smart.Lite
Настройки ТСД Атол Smart.Lite на Broadcast
Свойства
Компонента не содержит свойств.
Методы
Название (алиас) | Параметры | Возвращаемое значение | Описание |
---|---|---|---|
ПолучитьНомерВерсии(GetVersion | — | — | Метод возвращает строку текущей версии компоненты |
ПолучитьОписание (GetDescription) | — | — | Метод возвращает описание компоненты |
ПолучитьОшибку (GetLastError) | — | — | Метод возвращает последнюю ошибку при работе компоненты |
ПолучитьПараметры (GetParameters) | — | — | Метод возвращает XML документ с описанием настроечных параметров компоненты, передаваемых через метод УстановитьПараметр (SetParameter) |
УстановитьПараметр (SetParameter) | — | — | Метод устанавливает значение одного из параметров, список которых может быть получен методом ПолучитьПараметры (GetParameters) |
Подключить (Open) | — | — | Метод подключает устройство |
Отключить (Close) | — | — | Метод отключает устройство |
ТестУстройства (DeviceTest) | — | — | Метод запускает тест устройства |
Настройки ВК
Начиная с 10-ой редакции драйвера «1С: Сканер штрихкодов» большинство настроек драйвера унифицировано и может быть представлено следующей таблицей. Различия составляют только специфические моменты, связанные с особенностями конкретной ОС.
Название параметра
RU/EN
Нечетно
Нет
300
600
1200
2400
4800
9600
14400
19200
38400
56000
57600
115200
128000
256000
Нет
В системный журнал
Возвращаемые события
В случае успешного получения данных от устройства компонента кодирует их соответствующим образом (Строка, Base64) и передает в 1С:Предприятие в виде одного из следующих событий:
Native Api 1C для сканер штрих кода
Самым простым и удобным способом установки сканера штрих кода в 1С является подключение с помощью технологии Native API. Она используется не только для создания сканера штрих кода, но и для других внешних компонентов. Благодаря ей возможно создавать программы, которые будут часто взаимодействовать с системой 1С. Ниже описана подробная инструкция, как это сделать.
Первый шаг
Изначально необходимо скачать сам драйвер Native Api. Это можно сделать по ссылке или найти и скачать в интернете. Но будьте внимательны и проверяйте файлы из неизвестных сайтов на вирусы.
Собственный интерфейс, такой как Native API может быть установлен на операционные системы Linux и Windows. Установка и использование бесплатны.
Второй шаг
Теперь необходимо разархивировать его. Открыть папку и нажать на файл установки. Следуйте подсказкам, которые появляются при каждом последующем шаге установки.
Этот драйвер дает возможность подключать сканер штрих кода через Com-порт или USB.
Третий шаг
Как только установка завершена, вы можете приступить к непосредственному соединению сканера штрих кода и используемой программой 1С на вашем персональном компьютере. Для этого необходимо подключить сканер любым удобным способом и открыть 1С.
Четвертый шаг
В программе откройте вкладку «Администрирование» и в ней зайдите в «Поиск оборудования». Найдите строку «Использовать подключаемое оборудование» и установите галочку напротив нее.
Теперь открывается новая вкладка под названием «Подключаемое оборудование», в которую необходимо зайти для дальнейшего подключения.
Пятый шаг
Перед вами открылось новое окно. В нём нужно выбрать тип оборудования, в нашем случае это «Сканеры штрих кода». Для создания пары с устройством нажимаете кнопку «Создать».
Шестой шаг
Во всплывшем окне ставите галочку рядом с пунктом «Устройство используется». Напротив строки «Драйвер оборудования» выбираете тот, у которого в скобочках написано «Native API». Далее сохраняете введенные данные, но окно не закрываете.
Седьмой шаг
В следующем этапе требуется нажать на вкладку «Настроить…» в этом же окне, после чего, программа выведет запрос на установку драйвера. Здесь обязательно нужно выбрать «Установить».
Восьмой шаг
В новом окне сверьте данные:
Сохраните введенные данные и закройте окно.
Это был последний шаг, после которого вы можете использовать сканер штрих кода. Для установки сканера штрих кода на иные операционные системы необходимо использовать другой драйвер. Настоятельно рекомендуем, для подключения сканера штрих-кода по технологии Native API обратиться к квалифицированным специалистам.
Подключение и настройка сканера штрихкода
Подключаемое оборудование
В «1С:Управление аптечной сетью» в разделе Настройки подключаемого оборудования (Администрирование – Подключаемое оборудование) должен быть установлен флажок Использовать подключаемое оборудование.
Чтобы сохранить экземпляр необходимо нажать кнопку Записать и закрыть.
Рис. 1. Создание нового экземпляра подключаемого оборудования
Внешняя компонента «Сканер Штрихкода»
После сохранения элемента необходимо нажать на появившуюся на форме кнопку Настроить. В открывшейся форме все реквизиты будут заполнены автоматически.
Рис. 2. Окно настроек драйвера (Windows)
В таблице ниже представлены общие замечания по заполнению данных для Windows и Linux.
Доступные серийные (COM) порты
Устанавливает канал связи, по которому драйвер ожидает поступления данных. В случае Клавиатуры, драйвер будет ожидать событий клавиатуры. В случае одного из доступных COM-портов системы, он будет ожидать данных от него
HID клавиатурного устройства
Имеет смысл, только если в качестве Порта выбрано Клавиатура
Бит данных при передаче по COM порту
(имеет смысл, только если в качестве Порта выбрано COM устройство )
Стоп бит данных при передаче по COM порту
(имеет смысл, только если в качестве Порта выбрано COM устройство )
Диапазон значений от 110 до 256000
Скорость при передаче по COM порту
(имеет смысл, только если в качестве Порта выбрано COM устройство )
код символа от 0 до 127
Символ префикса, передаваемый сканером перед данными штрихкода
код символа от 0 до 127
Символ суффикса, передаваемый сканером после данных штрихкода
Время с начала ввода, за которое ожидается получение клавиатурных событий от сканера
Время с начала ввода, за которое ожидается получение данных от COM порта
Кодировка символов передаваемых сканером (как правило, UTF-8)
клавиша клавиатуры на выбор
Клавиша, нажатием которой, передается символ GS1 (#029)
Тип выходных данных
Тип выходных данных
Строка – данные как они получены от устройства
Base64 – данные полученные от устройства, преобразованные в Base64
Игнорировать состояние клавиатуры
Тест подключения
Чтобы понять, как сейчас настроен сканер, нужно нажать кнопку Тест подключения.
Рис. 3. Тест устройства (выделены подключенные устройства)
На Рис. 5 представлен результат сканирования тестового штрихкода в клавиатурном режиме. В конце основных данных добавлен символ ‘CR’ (#013) – это суффикс, который вставляет сканер после прочитанных данных штрихкода.
Рис. 6. Тест устройства после считывания штрихкода сканером в режиме COM-порта
Возможность подключения нескольких сканеров одновременно
Может быть подключено до 64 COM устройств (если они доступны, каждое устройство может быть подключено только один раз), и одно клавиатурное устройство.
Может быть подключено до 64 COM устройств (если они доступны, каждое устройство может быть подключено только один раз), и до 64 клавиатурных устройство с уникальным HID.
Штрихкоды, содержащие спецсимволы и символы GS1
Пример штрихкода в HRI (Human Readable Interpretation) форме GS1:
Рис. 8. Результат сканирования штрихкода для проверки клавиатурным сканером
Большинство сканеров передают символ GS1 либо нажатием клавиши F8, либо сочетанием клавиш Alt(down)+0+0+2+9+Alt(up) (поведение по умолчанию).
Если это не так, то можно настроить сканер и драйвер 1С:Сканер штрихкодов таким образом, чтобы их настройки были согласованы между собой. В этом случае, при сканировании штрихкода с Рис. 7. необходимо получить тот же результат, что и на Рис. 8. В противном случае, вместо ‘GS’ в результате будет отображена другая последовательность символов.
Однако, данные, которые могут быть кодированы некоторыми типами штрихкодов, не ограничиваются только наличием символа GS1, они могут содержать символы произвольного алфавита, как показано на Рис. 9.
Рис. 9. Результат сканирования в COM режиме штрихкода, содержащего данные кодированные последовательностью символов со сложным алфавитом
Закодированная последовательность символов содержит символы ‘NUL’ (#000), STX (#002), ESC (#027) и т.д. Естественно, что не все типы сканеров (устройств) содержат таблицы и другие механизмы для того, чтобы преобразовать произвольную последовательность символов в валидную последовательность клавиатурных событий. Как правило, использование сканеров (устройств) такого типа приводит к потерям данных, в виду того, что либо для символа нет сопоставления с клавиатурным событием внутри сканера (устройства), либо оно выполняется неизвестной последовательностью клавиатурных событий.
При работе с такими типами штрихкодов рекомендуется использование режима COM.
Тип выходных данных
В компоненте 1СCканер шрихкодов версии 9.х поддерживаются несколько типов исходящих данных:
Тип Строка предназначен для большинства случаев, поскольку, как правило, данные, полученные от сканера, состоят из символов ограниченного и известного алфавита (например, коды EAN8, EAN13 – только цифры, Code93 – цифры и латинские буквы и т.д.).
Тип Base64 предназначен для случаев, когда данные могут содержать неожиданные, непечатаемые спецсимволы. К таким типам штрихкодов можно отнести: PDF417 ОМС полиса, DataMatrix больничного листа, DataMatrix S1 (контрольные марки продукции, маркируемой средствами идентификации). К специальным символам так же относится и символ с кодом 0, который из-за ограничений технологии NativeApi нельзя передать между внешней компонентой и «1С:Предприятием». Подробнее о таких штрихкодах см. в разделе Штрихкоды, содержащие спецсимволы и символы GS1.
Настройка COM соединения
Стандартные настройки COM соединения драйвера 1С:Cканер штрихкодов отражают стандартные настройки COM большинства сканеров. Однако, в каких-то конкретных случаях это может не так. В таких ситуациях нужно воспользоваться инструкцией настройки своего сканера (устройства) и изменить настройки драйвера 1С:Сканер шрихкодов таким образом, чтобы они были согласованы. При правильной настройке в момент чтения тестовых штрихкодов в режиме COM будут получены результаты, как было показано на рисунках выше.
Android. Сканеры мобильных устройств
Настройка сканера на мобильных устройствах имеет свои особенности. Подключение внешних сканирующих устройств рекомендуется производить заранее в операционной системе.
Устройства, подключаемые через Bluetooth, могут определяться операционной системой по-разному: мультимедийное устройство ввода, внешняя клавиатура, Bluetooth-устройство и пр.
Рис. 10. Bluetooth-устройства, определенные операционной системой, как: мультимедийное устройство ввода, внешняя клавиатура, Bluetooth-устройство
Если сканер подключается, в режиме эмуляции клавиатуры, то в его настройках должен быть включен параметр Устройство ввода.
Рис. 11. Настройка для устройств ввода
Далее необходимо указать драйвер 1С:Сканер штрихкода (Native).
В параметрах подключения нужно выбрать значение Клавиатура для устройств, которые эмулируют режим Клавиатура:
Для внешних сканеров, подключаемых через Bluetooth, но не являющихся устройством ввода, необходимо в параметрах подключения выбрать само устройство.
Рис. 15. Настройка подключения Bluetooth-устройства
Чтобы такие сканеры не переключались в режим энергосбережения («спящий» режим) драйвером каждый 5 секунд производится опрос устройства.
Тестирование мобильной версии 1С:Сканер штрихкодов можно выполнить на тех же штрихкодах, что указаны выше.