1с сканер штрих кода драйвер android

Мобильный клиент, подключение сканера ШК

(0) Буквально пару дней назад сделал такой драйвер. Ещё описание не подготовил, поэтому, пока ни куда не выкладывал.
Драйвер на github: https://github.com/ltfriend/AndroidScannerDriverFor1C
Ссылка на релиз: https://github.com/ltfriend/AndroidScannerDriverFor1C/releases/tag/v1.0.1.2
Проверялось на мобильном клиенте с УТ. Подойдёт для любой конфигурации с библиотекой подключаемого оборудования (обычной, НЕ мобильной). Т.е. добавляете драйвер, устанавливаете его в мобильном клиенте и можете сканировать в документах (заказах, реализациях и т.п.).
Единственное, с чем столкнулся, не работает, если в справочнике «Драйверы оборудования» создать новый элемент и загрузить драйвер из файла, поэтому придётся встроить его в состав конфигурации.
Для этого:
1. Создать общий макет «ДрайверСканерыШтрихкодаAndroid» с типом «Двоичные данные» и загрузить архив с драйвером.
2. В справочник «ДрайверыОборудования» добавить новый предопределенный элемент с именем «ДрайверСканерыШтрихкодаAndroid» и наименованием «Сканеры штрихкода Android».
3. Добавить в перечисление «ОбработчикиДрайверовПодключаемогоОборудования» новое значение «ОбработчикСканерыШтрихкодаAndroid», синоним «Сканеры штрихкода Android», комментарий (ВАЖНО!) «СканерШтрихкода».
4. Создать обработку в которой в серверной функции выполнить код:
Справочники.ДрайверыОборудования.ЗаполнитьПредопределенныйЭлемент(
Перечисления.ОбработчикиДрайверовПодключаемогоОборудования.ОбработчикСканерыШтрихкодаAndroid,
«AddIn.com_ptolkachev_AndroidScannerExtension»,
5. После обновления ИБ в режиме 1С:Предприятие выполнить обработку из пункта 4.

После этого в состав конфигурации будет добавлен новый драйвер.

В мобильном клиенте перейдите к настройке оборудования (обычно, например в УТ, это НСИ и администрирование > Администрирование / РМК и оборудование > Оборудование / Подключаемое оборудование. Добавить новое оборудование и выбрать драйвер из списка «Сканеры штрихкода Android».
После сохранения перейти в настройки и указать параметры Broadcast сообщения «Action Name» и «Extra Data» (обычно, их значения можно узнать в настройках сканера на устройстве). После чего можно
сканировать встроенным в ТСД сканером в мобильном клиенте 1С.

Подробное описание с примерами и картинками будет выложено в ближайшие дни на infostart.

> Подробное описание с примерами и картинками будет выложено в ближайшие дни на infostart.

(только сделал драйвер, прошёл уже испытание в поле, описание ещё не успел подготовить, просто поделился с другом, он показал мне этот пост, вот вам выкладываю раньше, но без нормально описания, но там сложного ни чего нет).

Источник

Внешняя компонента «1С:Сканер штрихкода» для платформы «1С:Предприятие 8.3»


Общие сведения

Для работы 1С:Предприятия со сканерами штрихкодов применяется внешняя компонента системы 1С:Предприятие «1С:Сканер штрихкода», версия 9.0.х . Она принимает от сканера прочитанный им штрихкод и передает его для обработки в 1С:Предприятие. Компонента также может использоваться для работы с другими устройствами, способ передачи данных которыми аналогичен способу передачи данных сканером штрихкодов. Компонента «1С:Сканер штрихкода», версия 9.0.х разработана по технологии NativeAPI.

Свойства

Компонента не содержит свойств.

Методы


Название (алиас) Параметры Возвращаемое значение Описание
ПолучитьНомерВерсии(GetVersion) Метод возвращает строку текущей версии компоненты.
ПолучитьОписание (GetDescription) Метод возвращает описание компоненты
ПолучитьОшибку (GetLastError) Метод возвращает последнюю ошибку при работе компоненты.
ПолучитьПараметры (GetParameters) Метод возвращает XML документ с описанием настроечных параметров компоненты, передаваемых через метод УстановитьПараметр (SetParameter).
УстановитьПараметр (SetParameter) Метод устанавливает значение одного из параметров, список которых может быть получен методом ПолучитьПараметры (GetParameters).
Подключить (Open) Метод подключает устройство
Отключить (Close) Метод отключает устройство.
ТестУстройства (DeviceTest) Метод запускает тест устройства

Настройка компоненты (Windows,Linux)

Настройка компоненты происходит при помощи формы настройки (Рис. 1.), доступ к которой может быть получен средствами БПО.

Рис. 1. Форма настройки компоненты «1С: Сканер штрихкода»(Native)

Параметры настройки (Windows,Linux)


-Клавиатура (по умолчанию)



-UTF-8 (по умолчанию)

-NONE (по умолчанию)

-Строка (по умолчанию)

Название Возможные значения Описание
Порт Параметр задает порт оборудования, через который данные от оборудования должны поступать к компоненте. В случае «Клавиатура», компонента в качестве источника данных будет воспринимать клавиатурные события в системе. В случае «COM1-N», компонента в качестве источника данных будет оживать данные от соответствующего COM-порта в системе.
Бит данных (только для «COM1-N») Параметр задает количество бит данных (параметр должен совпадать с тем, который указан при конфигурировании сканера).
Стоп-бит (только для «COM1-N») Параметр задает количество стоп-бит (параметр должен совпадать с тем, который указан при конфигурировании сканера).
Скорость (только для «COM1-N») -110
-300
-600
-1200
-2400
-4800
-9600 (по умолчанию)
-14400
-19200
-38400
-56000
-57600
-115200
-128000
-256000
Параметр задает скорость передачи данных (параметр должен совпадать с тем, который указан при конфигурировании сканера).
Префикс (только для Windows) Один из кодов символов от 0 до 127 или NONE (по умолчанию) Параметр устанавливает один из кодов символов, как символ префикса, который сигнализирует компоненте о том, что со следующего символа начинаются символы штрихкода (параметр должен совпадать с тем, который указан при конфигурировании сканера).
Суффикс Один из кодов символов от 0 до 127 (по умолчанию 13 (CR)). Параметр устанавливает один из кодов символов, как символ суффикса, который сигнализирует компоненте о том, что символы штрихкода окончены (параметр должен совпадать с тем, который указан при конфигурировании сканера).
Таймаут клавиатуры Число (по умолчанию 75 (мс)) Параметр устанавливает максимальную задержку между последовательно идущими символами при работе в режиме «Клавиатуры»
Таймаут COM-порта Число (по умолчанию 5 (мс)) Параметр устанавливает максимальную задержку между последовательно идущими символами при работе в режиме «COM1-N»
Кодировка COM-порта Параметр устанавливает кодировку входящего потока данных
Символ GS (только для «Клавиатуры») Параметр устанавливает клавишу которой сканером будет передаваться символ GS (#29)
Тип выходных данных Параметр устанавливает тип выходных данных. В случае Строка данные будут передаваться без изменений. В случае Base64 данные будут передаваться в виде строки содержащей данные кодированные в Base64.

ВАЖНО!
Настройки драйвера должны совпадать с настройками сканера

Параметры настройки (Android)


-Клавиатура (по умолчанию)

-Список зарегистрированных Bluetooth устройств

-Строка (по умолчанию)

Название Возможные значения Описание
Устройство Параметр задает устройство, через которое данные должны поступать к компоненте. В случае «Клавиатура», компонента в качестве источника данных будет воспринимать клавиатурные события в системе. В случае одного из Bluetooth, компонента в качестве источника данных будет оживать данные от соответствующего Bluetooth устройства.
Тип выходных данных Параметр устанавливает тип выходных данных. В случае Строка данные будут передаваться без изменений. В случае Base64 данные будут передаваться в виде строки содержащей данные кодированные в Base64.

ВАЖНО!
Настройки драйвера должны совпадать с настройками сканера

Возвращаемые события

В случае успешного получения данных от устройства компонента кодирует их соответствующим образом (Строка, Base64) и передает в 1С:Предприятие в виде одного из следующих событий

Источник

Внешний компонент «1С:Сканер штрихкода» (Native) версия для платформы «1С Предприятие 8.3».

Внешний компонент «1С:Сканер штрихкода» (Native) для платформы «1С Предприятие 8.3» поставляется в составе «Библиотеки подключаемого оборудования» (далее — БПО). «1С:Библиотека подключаемого оборудования для мобильных приложений» (далее — МБПО) и предназначен для использования ТОЛЬКО в их составе. Самостоятельное использование внешнего компонента не предусмотрено. Компонент предназначен для получения данных от оборудования – сканеров штрихкодов (далее – ШК) и передаче их в платформу «1С: Предприятие».

Основные возможности

Внешний компонент «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

Диапазон значений Значение по умолчанию Комментарий Порт/Port Клавиатура Параметр определяет канал, по которому ВК ожидает данные от сканирующего устройства. Клавиатура, доступные COM/Bluetooth порты перечислены в этом параметре Префикс/Prefix Символы от 0(NUL)…127(DEL) -1(NONE) Указывает символ префикс сообщения от устройства. По умолчанию префикс отсутствует Суффикс/Suffix Символы от 0(NUL)…127(DEL) 13(CR) Указывает символ суффикс сообщения от устройства. По умолчанию суффикс CR (обычно передается клавишей ENTER). ТипВыходныхДанных/ OutputDataType Строка, Base64 Строка Задает формат передачи данных от ВК к платформе «1С: Предприятие» Символ GS/GS symbol Спец. клавиши F1..F12, INSERT, TAB и т.д. NONE Задает клавишу, которой передается символ GS в GS1 штрихкодах Таймаут клавиатуры (мс)/ Timeout keyboard (ms) 25(Windows)/75 (остальные ОС и веб клиент) Таймаут клавиатуры, после истечения которого начинается обработка принятых клавиатурных сообщений Бит данных / Data bits 1..8 8 Бит данных при передаче по COM порту Стоп бит / Stop bits 1,2 1 Стоп бит при передаче по COM порту Четность / Parity Четно
Нечетно
Нет Нет Четность передачи по COM порту Скорость / Speed 110
300
600
1200
2400
4800
9600
14400
19200
38400
56000
57600
115200
128000
256000 9600 Скорость передачи по COM порту Кодировка COM-порта / Serial encoding
UTF-8 Кодировка принятых по COM/Bluetooth/Broadcast сообщений Регенерация сообщений / Message regeneration Да
Нет Нет Склейка сообщений переданных по COM/Bluetooth в случае низкой скорости передачи, когда сообщение доставляется разорванным на 2-е и более части Тип лога / Log type В файл
В системный журнал NONE Тип лога компоненты Лог файл / Log file Путь к файлу лога при выборе параметра «Тип лога» «в файл» Windows Игнорировать состояние клавиатуры / Ignore keyboard state Нет Если настройка включена, то ВК игнорирует состояние клавиши «CAPS LOCK», на основной клавиатуре. Linux HID устройство / HID device Выбор HID идентификатора устройства сканера, для монопольного доступа к нему Android Устройство / Device Эквивалент настройки Порт на Desktop платформах Standard android.intent.action. NONE
Standard android.intent.category NONE
Standard Intent Extra NONE Стандартный ключ intent.extra Пользовательсктй Intent Extra/User Intent Extra Пользовательский ключ intent.extra (из настроек ТСД) Пользовательское Intent Action/User Intent Action Пользовательский intent.action (из настроек ТСД) Пользовательская Intent Category/User Intent Category Пользовательский intent.category (из настроек ТСД) Тип данных/Extra data type

String Тип данных используемого ключа intent.extra

Возвращаемые события

В случае успешного получения данных от устройства компонента кодирует их соответствующим образом (Строка, Base64) и передает в 1С:Предприятие в виде одного из следующих событий:

Источник

Читайте также:  Earn to die and android
Оцените статью