Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (драйвер сканера Android для 1С)

Публикация № 1306851

Разработка - Разработка внешних компонент

сканер штрихкоды сканерштрихкодов ТСД android мобильныйклиент

Используя данный драйвер, можно без единой строки кода, просто установив на ТСД мобильный клиент 1С, сразу начать подбирать товары в документах вашей учётной системы. А, адаптировав нужные формы под небольшой размер экрана ТСД, можно просто создать полноценное рабочее место для выполнения операций с помощью ТСД, не прибегая к стороннему софту. Если же на складе плохая связь (или её нет вовсе), то можно использовать возможности мобильного клиента в автономном режиме (потребуется доработка вашей конфигурации). Драйвер также можно использовать и для Android приложения на мобильной платформе. В результате чего можно обойтись без ненужных полей ввода и клавиатуры «на пол-экрана».

Использование сканера в мобильном клиенте 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С.

После того, как драйвер будет встроен в состав конфигурации, его можно использовать для сканирования штрихкодов на мобильном клиенте. Для этого в мобильном клиенте необходимо перейти к списку подключенного оборудования и добавить сканер штрихкодов. В поле Драйвер оборудования выбрать новый драйвер.

После сохранения необходимо перейти в настройки и указать параметры подключения.

Данные параметры необходимо узнать для своей модели ТСД. Обычно, они располагаются в настройках сканера.

После установки и настройки мобильный клиент работает со встроенным в ТСД сканером так, как если бы работал обычный клиент с обычным сканером через 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

Скачать файлы

Наименование Файл Версия Размер
Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (Драйвер сканера Android для 1С):

.zip 11,57Mb
08.10.20
15
.zip 11,57Mb 15 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gzharkoj 350 09.10.20 08:52 Сейчас в теме
В целом полезно, но есть БПО для мобильных приложений, он не заработал?
2. ltfriend 584 09.10.20 09:28 Сейчас в теме
(1) нужно было, чтобы заработало в мобильном клиенте. Из типовых драйверов обычной БПО ни чего не заработало.
Библиотека для мобильного приложения создана, как опция, т.к. внешней компоненте без разницы где работать: в мобильном клиенте или мобильном приложении. Но, если в мобильном приложении используется только сканер ТСД, то можно не добавлять всю мобильную БПО, а использовать только драйвер.
Вообще, делалось для клиента, чтобы без танцев с бубнами, дорогого стороннего софта и обменов кладовщик мог через мобильный клиент собирать заказы. Результатом работы решил поделиться с сообществом.
Yuri1988; +1 Ответить
3. ltfriend 584 09.10.20 09:34 Сейчас в теме
(1) ещё дополню. Если в приложении используется мобильная БПО, но типовые драйвера не подходят, то в ней так же можно использовать этот драйвер. Библиотека сканера для мобильного приложения, описанная в публикации, создана для облегчения внедрения драйвера сканера и работы с ним, если мобильная БПО по какой-то причине не используется.
4. user790708 16.10.20 14:38 Сейчас в теме
1) Для использования в конфигурации с использованием мобильной БПО в обработке ЗаполнениеОписанияДрайвераСканераШтрихкодовAndroid
в процедуре ЗаполнитьОписаниеНаСервере нужно изменить команду подключения на:
Справочники.ДрайверыОборудования.ЗаполнитьПредопределенныйЭлемент(
		Перечисления.ТипыПодключаемогоОборудования.УстройствоВвода,
		"ДрайверСканерыШтрихкодаAndroid",
		"ДрайверСканерыШтрихкодаAndroid",
		"AddIn.com_ptolkachev_AndroidScannerExtension",
		Ложь,
		"1.0.1.1",
		Истина
		);
Показать

2) Понизьте, пожалуйста, версию совместимости конфигурации для интерации,
3) Драйвер работает с ТСД Sumni L2
5. VSydorenko 17.10.20 20:15 Сейчас в теме
Данные параметры необходимо узнать для своей модели ТСД. Обычно, они располагаются в настройках сканера.


А где найти эти настройки для ТСД zebra MC40?
Те, что указаны на скриншотах подходят для UROVO - там все завелось сразу
6. user12klk67694 21.10.20 17:37 Сейчас в теме
Спасибо большое.
Наконец то заработал сканер на UROVO i6200A.
Подскажите где есть информация, где можно почитать о том что нужно прописать параметры:
ОбъектДрайвера.УстановитьПараметр("ActionName", <данные_вашего_ТСД>);
ОбъектДрайвера.УстановитьПараметр("ExtraName", <данные_вашего_ТСД>);
?

В автономном режиме подключчение/инициализация сканера точно такая же как и для мобильного клиента , никаких дополнительных параметров прописывать не надо ?
7. V_K 24.10.20 18:44 Сейчас в теме
На мобильном клиенте при попытке настроить светит красным что "Драйвер устройства на текущем рабочем месте не установлен". Нажимаю "Установить драйвер" не помогает
8. ltfriend 584 26.10.20 09:07 Сейчас в теме
(7) напишите модель вашего устройства.
9. V_K 26.10.20 09:12 Сейчас в теме
Оставьте свое сообщение

См. также

daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

Функция предназначена для склонения выражений, которые часто требуется при формировании печатных форм договоров и прочих печатных форм. Функция склоняет по падежам ФИО, должности, числительные, валюты, единицы измерения, предметы. Также функция склоняет глаголы и прилагательные по числам и родам и существительные по числам. Имеется режим определения рода переданного выражения. Поддержка форматной строки для вывода результата. Функция не использует внешние библиотеки и веб-сервисы, написана на чистом языке 1С, и поэтому легко встраивается в любую конфигурацию или внешнюю обработку. Правила склонения оформлены в виде таблицы и могут быть легко изменены при необходимости.

1 стартмани

14.02.2015    104646    98    daMaster    90    

Сравнение реального дохода со средним доходом из API.HH.RU

Зарплата Управленческие v8 v8::СПР ЗУП3.x УУ Абонемент ($m)

Внешняя обработка на управляемой форме для 1С:Предприятие 8.3 по интеграции с HH.RU используя HH REST API. Ключевые функции: получение списка вакансий по должностям (Ключ для работы не нужен); расчет среднего дохода; Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.13.1513) Зарплата и управление персоналом, редакция 3.1 (3.1.11.68) совместно с API.HH.RU.

1 стартмани

11.11.2019    4394    6    solaru    2    

Конфигурация для рекламного агентства

Управление услугами и сервисом Управление взаимоотношениями с клиентами (СRM) Производство готовой продукции (работ, услуг) Управление взаимоотношениями с клиентами (СRM) Производство готовой продукции (работ, услуг) v8 Реклама, PR и маркетинг УУ Абонемент ($m)

Данная конфигурация выполнена для решения тестового задания: Цель задания: 1) Понять, на каком из клиентов сколько мы заработали;  2) Понять, по какому виду СМИ сколько мы заработали;  3) Проследить по каждой услуге: у кого за сколько купили и кому за сколько продали, с возможностью перейти в соответствующий документ. Реализовано с помощью: 1. Справочники - контрагенты, номенклатура 2. Документы - Поступление услуг, реализация услуг 3. Отчеты - отчет по контрагентам, номенклатуре и движений.

1 стартмани

21.05.2019    5365    0    solaru    0    

Загрузка номенклатуры в УТ 10.3 из Excel файла с генерацией штрихкодов

Загрузка и выгрузка в Excel Обработка справочников Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8 УТ10 Россия Абонемент ($m)

Обработка позволяет генерировать новые номенклатурные позиции на основе данных из файла Excel с последующей генерацией штрихкодов (ШК). Может быть полезна при больших поступлениях товаров на склад, где ручное создание и присваивание штрихкода  (ШК) может занимать много времени.

1 стартмани

24.03.2017    8246    7    solaru    0    

Под капотом управляемых форм

Практика программирования v8 1cv8.cf Бесплатно (free)

Управляемые формы уже давно и плотно вошли в жизнь 1С-разработчика. Однако, судя по недавним публикациям на Инфостарте, многие до сих пор мало знакомы с ними. Предлагаю разобраться с тем, что же это такое.

26.08.2013    270236    Evil Beaver    271    

[NotaBene] Универсальный отчет по таблице значений

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

1C v.7.7 Готовое решение. Не требует настройки. Не требует допрограммирования. Данная обработка решает часто встречающуюся задачу вывода в "красивом" виде таблицы значений (полученной, например, из запроса). Поддерживается произвольное группирование данных, отключение/включение группировок, в т.ч и создание "шахматок" (типа "продажи понедельно"). Обработка может использоваться как и в отладочных целях (для нормального просмотра ТЗ), так и в составе вполне рабочих отчетов. По крайней мере, я неоднократно клиентам данную обработку ставил вместо того, чтобы каждый раз писать замороченные выводы данных. И клиенты довольны, и мне - проще...

2 стартмани

07.05.2007    29542    3    CheBurator    63