Использование сканера в мобильном клиенте 1С.
Драйвер выполнен в виде внешней компоненты 1С по технологии Native для Android с соблюдением требований к разработке драйверов подключаемого оборудования по версии стандарта 3.3. Поэтому достаточно добавить его в список драйверов подключаемого оборудования в обычном клиенте и добавить сканер на мобильном клиенте, указав загруженный драйвер.
Добавление драйвера из файла в справочник «Драйверы оборудования».
Но это в идеале! К сожалению, при таком добавлении драйвера в информационную базу в мобильном приложении драйвер не заработает. Будет ошибка при его установке. Для того, чтобы драйвер работал в мобильном клиенте, необходимо встроить его в состав конфигурации, по аналогии с типовыми драйверами.
Интеграция драйвера в состав основной конфигурации 1С.
Для того, чтобы встроить драйвер в состав конфигурации, необходимо выполнить следующие действия.
1. Создать общий макет ДрайверСканерыШтрихкодаAndroid с типом Внешняя компонента и загрузить драйвер из zip-архива.
2. В справочнике ДрайверыОборудования добавить новый предопределённый элемент с именем ДрайверСканерыШтрихкодаAndroid и наименованием «Сканеры штрихкода Android».
3. Добавить для перечисления ОбработчикиДрайверовПодключаемогоОборудования новое значение ОбработчикСканерыШтрихкодаAndroid. Комментарий обязательно должен иметь значение СканерШтрихкода.
4. Сохранить конфигурацию.
После описанных выше действий драйвер будет добавлен в состав конфигурации. Но, для того чтобы он был доступен пользователю в списке выбора, необходимо выполнить заполнение нового предопределённого элемента, созданного в п.3. Для этого на сервере (например, во внешней обработке) необходимо выполнить следующий код:
Справочники.ДрайверыОборудования.ЗаполнитьПредопределенныйЭлемент(
Перечисления.ОбработчикиДрайверовПодключаемогоОборудования.ОбработчикСканерыШтрихкодаAndroid,
"AddIn.com_ptolkachev_AndroidScannerExtension",
"ДрайверСканерыШтрихкодаAndroid",
Ложь,
"1.0.1.1",
Ложь);
Примечание. В состав поставки входит готовая конфигурация, содержащая необходимые изменения, обработка по заполнению предопределённого элемента и инструкция по интеграции, что упрощает добавление драйвера в состав конфигурации.
Использование драйвера в мобильном клиенте 1С.
После того, как драйвер будет встроен в состав конфигурации, его можно использовать для сканирования штрихкодов на мобильном клиенте. Для этого в мобильном клиенте необходимо перейти к списку подключенного оборудования и добавить сканер штрихкодов. В поле Драйвер оборудования выбрать новый драйвер.
После сохранения необходимо перейти в настройки и указать параметры подключения.
Данные параметры необходимо узнать для своей модели ТСД. Обычно, они располагаются в настройках сканера.
Обновлено 26.05.2021. Добавлена поддержка режима сканирования с использованием буфера обмена (clipboard). В этом режиме не нужно искать и вводить значения параметров Action Name и Extra Data. Просто установите соответствующий режим в настройках системного приложения сканирования на вашем устройстве (если такой режим поддерживается) и выберите значение clipboard параметра Режим сканирования в настройках драйвера в 1С.
После установки и настройки мобильный клиент работает со встроенным в ТСД сканером так, как если бы работал обычный клиент с обычным сканером через COM-порт.
Открываем нужный документ
Сканируем штрихкод - товар добавляется в документ
Использование драйвера в приложении для мобильной платформы.
Драйвер, по своей сути, является внешней компонентой, поэтому его можно использовать отдельно в своих конфигурациях. В том числе и для мобильной платформы. Т.о., если вы разрабатываете приложение на мобильной платформе 1С и не используете мобильную библиотеку подключаемого оборудования, то можете использовать эту компоненту для получения штрихкодов от сканера. Если в вашей конфигурации используется мобильная библиотека подключаемого оборудования, то достаточно просто добавить в неё этот драйвер.
Общая схема взаимодействия с драйвером выглядит следующим образом.
1. Создать общий макет ДрайверСканерыШтрихкодаAndroid с типом Внешняя компонента и загрузить драйвер из zip-архива.
2. Перед использованием установить драйвер с помощью метода НачатьУстановкуВнешнейКомпоненты
НачатьУстановкуВнешнейКомпоненты(ОповещениеОЗаверщении, "ОбщийМакет.ДрайверСканераШтрихкодовAndroid")
3. Подключить драйвер для использования в форме клиентского приложения на клиенте
ПодключитьВнешнююКомпоненту(
"ОбщийМакет.ДрайверСканераШтрихкодовAndroid",
"com_ptolkachev_AndroidScannerExtension",
ТипВнешнейКомпоненты.Native);
ProgID = "AddIn.com_ptolkachev_AndroidScannerExtension.com_ptolkachev_AndroidScannerExtension";
ОбъектДрайвера = Новый(ProgID);
ОбъектДрайвера.УстановитьПараметр("ActionName", <данные_вашего_ТСД>);
ОбъектДрайвера.УстановитьПараметр("ExtraName", <данные_вашего_ТСД>);
ОбъектДрайвера.Подключить("");
4. При закрытии формы не забыть отключить драйвер
ОбъектДрайвера.Отключить("");
5. При сканировании штрих-кода возникнет событие формы ВнешнееСобытие. В параметрах будут переданы следующие данные:
- Источник – "com_ptolkachev_AndroidScanner";
- Событие – "Штрихкод";
- Данные – считанное значение штрихкода.
Библиотека сканеров Android для мобильной платформы.
Для облегчения взаимодействия с драйвером в приложениях на мобильной платформе была создана мини-библиотека сканеров Android. Она включает в себя 3 константы, одну общую форму для настройки сканера, общий макет, содержащий архив с драйвером и два общих модуля, реализующих методы обращения к драйверу.
Интеграция библиотеки сканеров Android в свою конфигурацию мобильного приложения.
Для интеграции этой библиотеки в свою конфигурацию мобильного приложения необходимо выполнить следующие действия.
1. Выполнить команду Конфигурация > Сравнить, объединить с конфигурацией из файла, выбрать конфигурационный файл (.cf) библиотеки.
2. Выбрать в меню пункт Действия > Отметить по подсистемам файла.
3. Выбрать подсистему СканерШтрихкодовAndroid и нажать Установить.
4. Выполнить объединение конфигураций.
5. Внести изменения в модуль приложения.
- В области описания переменных модуля добавить код
// СканерШтрихкодовAndroid
Перем глПараметрыСканераШтрихкодовAndroid Экспорт;
// Конец СканерШтрихкодовAndroid
- В обработчике ПередНачаломРаботыСистемы добавить код
// СканерШтрихкодовAndroid
МенеджерСканераШтрихкодовAndroidКлиент.УстановитьПараметрыСканера();
// Конец СканерШтрихкодовAndroid
- В обработчике ОбработкаВнешнегоСобытия добавить код
// СканерШтрихкодовAndroid
глПараметрыСканераШтрихкодовAndroid.СобытиеОбработано = Ложь;
МенеджерСканераШтрихкодовAndroidКлиент.ОбработатьСобытие(Источник, Событие, Данные);
// Конец СканерШтрихкодовAndroid
- В конце модуля добавить код по инициализации новой переменной модуля
// СканерШтрихкодовAndroid
глПараметрыСканераШтрихкодовAndroid = Новый Структура;
// Конец СканерШтрихкодовAndroid
6. Для доступа к настройкам сканера необходимо включить общую команду НастройкаСканераШтрихкодаAndroid в состав желаемой подсистемы и просто из нужного места в коде (например, из обработчика команды формы) открыть общую форму НастройкаСканераШтрихкодаAndroid.
ОткрытьФорму("ОбщаяФорма.НастройкаДрайвераСканераШтрихкодовAndroid");
7. Обновить информационную базу.
Обработка считанных штрихкодов.
Для обработки штрихкодов в форме необходимо выполнить следующие действия:
1. Добавить в обработчик события формы ПриОткрытии подключение сканера
// СканерШтрихкодовAndroid
МенеджерСканераШтрихкодовAndroidКлиент.Подключить(УникальныйИдентификатор);
// Конец СканерШтрихкодовAndroid
2. Добавить в обработчик события формы ПриЗакрытии отключение сканера
// СканерШтрихкодовAndroid
МенеджерСканераШтрихкодовAndroidКлиент.Отключить(УникальныйИдентификатор);
// Конец СканерШтрихкодовAndroid
3. В обработчике события формы ОбработкаОповещения добавить обработку полученных штрихкодов, например, так
// СканерШтрихкодовAndroid
Если Источник = "ПодключаемоеОборудование" Тогда
Если ИмяСобытия = "ScanData" И МенеджерСканераШтрихкодовAndroidКлиент.ЕстьНеобработанноеСобытие() Тогда
ОбработатьШтрихкоды(МенеджерСканераШтрихкодовAndroidКлиент.ПреобразоватьДанныеСоСканераВМассив(Параметр));
КонецЕсли;
КонецЕсли;
// Конец СканерШтрихкодовAndroid
Содержимое архива поставки.
- архив с драйвером для платформ Android x86, x86-64, ARM и ARM64;
- конфигурация для интеграции драйвера с вашей учётной системой;
- инструкция по интеграции драйвера в вашу учётную систему;
- библиотека сканеров Android для приложений на мобильной платформе;
- инструкция по внедрению библиотеки сканеров Android в приложение для мобильной платформы;
- конфигурация для мобильной платформы, демонстрирующая внедрение и использование библиотеки сканеров Android.
Работа драйвера была протестирована на конфигурациях "Управление торговлей 11.4.11.102", "Управление нашей фирмой 1.6.20.107" на платформе версии 8.3.17.1549.
При тестировании, так же использовались мобильный клиент и мобильное приложение версий 8.3.17.67 и 8.3.15.105.
Ссылка на исходные коды драйвера: https://github.com/ltfriend/AndroidScannerDriverFor1C