ERP 2.4 "Рабочее место работника склада" на ТСД + Android 7

Решение задачи использования терминала сбора данных в режиме онлайн при помощи типовой обработки ERP 2.4 «Рабочее место работника склада», запуском ERP на мобильном клиенте 1С. Для настройки использовался ТСД Urovo V5100 на ОС Андроид 7.

Чтобы запустить ERP 2.4 на мобильном клиенте в режиме "Рабочее место работника склада", долго гуглить не придется, всё давно описано, например тут. Это же описание есть в файлах поставки ERP 2.4 — Enterprise202_4_8_84AddDocsНастройка терминала сбора данных для мобильного рабочего места работника склада.htm

Я же опишу быстрый старт, чтобы сканер ТСД в этом рабочем месте сканировал, работал так будто вы на ПК обычным сканером сканируете.

1. Создаем расширение, адаптацию, отключаем безопасный режим и защиту от опасных действий;

2. Создаем общий модуль с флажком "Клиент (Управляемое приложение)";

3. Наполняем модуль одной функцией:


Функция ИнициализироватьВнешнююКомпонентуRSDriver(глВКRSDriver) Экспорт

#Если МобильноеПриложениеКлиент ИЛИ МобильныйКлиент Тогда

УстановитьВнешнююКомпоненту ("ОбщийМакет.RSDriver");

Если ПодключитьВнешнююКомпоненту("ОбщийМакет.RSDriver", "RSDriver", ТипВнешнейКомпоненты.Native) Тогда

Попытка

глВКRSDriver = Новый ("AddIn.RSDriver.RSDriver");

ИмяДрайвера         = "";
ОписаниеДрайвера    = "";
ДоступныеУстройства = "";
Версия = 0;
ТипВК  = "";
Загружен = Ложь;
Адрес = "";

глВКRSDriver.ПолучитьОписание(ИмяДрайвера,ОписаниеДрайвера,ДоступныеУстройства,Версия,ТипВК,Загружен,Адрес);
//Сообщить(ДоступныеУстройства);

Возврат Истина;
Исключение
Сообщить(ОписаниеОшибки());
Сообщить("Ошибка создания класса RSDriver");
Конецпопытки;

Иначе
Сообщить("Компонента RSDriver не загружена");
КонецЕсли;

#КонецЕсли

Возврат Ложь;

КонецФункции


Код взят из конфигурации поставщика Urov: https://www.rightscan.ru/download/?dcfile=1s-konfiguraciya-rs-driver-api—rsdriverapicf
Компоненты с драйверами находятся в этом cf в общих макетах, используемые компоненты нужно себе в расширение перетянуть. Я использовал только макет RSDriver.

4. Добавляем в расширение форму обработки рабочего места работника склада (в своем случае 480х640) и размещаем в модуле расширения формы код:

&НаКлиенте
Перем глВКRSDriver;

#Область ОбработчикиСобытийФормы

&НаКлиенте
Процедура ТСД_ПриОткрытииПосле(Отказ)
ТСД_ОбщегоНазначения.ИнициализироватьВнешнююКомпонентуRSDriver(глВКRSDriver);
ИнициализироватьСканер();
КонецПроцедуры

&НаКлиенте
Процедура ТСД_ПриЗакрытииПосле(ЗавершениеРаботы)
ОтключитьСканер();
КонецПроцедуры

&НаКлиенте
Процедура ТСД_ВнешнееСобытиеПосле(Источник, Событие, Данные)

#Если МобильноеПриложениеКлиент ИЛИ МобильныйКлиент Тогда
Если ПараметрыРежима.Режим = "Сканирование"
И Источник = "RSDriver" И Событие = "Barcode" Тогда
ПриСканированииЗначенияНаСервере(Данные);
КонецЕсли;
#КонецЕсли

КонецПроцедуры

#КонецОбласти

&НаКлиенте
Процедура ИнициализироватьСканер()

#Если МобильноеПриложениеКлиент ИЛИ МобильныйКлиент Тогда

глВКRSDriver.УстановитьПараметр("Barcode_BEEP", Истина);
глВКRSDriver.УстановитьПараметр("Barcode_BZZ", Истина);
глВКRSDriver.Подключить("Barcode");

#КонецЕсли

КонецПроцедуры

&НаКлиенте
Процедура ОтключитьСканер()

#Если МобильноеПриложениеКлиент ИЛИ МобильныйКлиент Тогда

Попытка
глВКRSDriver.Отключить("Barcode");
глВКRSDriver.ЗакончитьОжиданиеПриемаДанных();
Исключение
КонецПопытки;

#КонецЕсли

КонецПроцедуры


Не забываем убедиться что обработчики событий привязаны к вызову этих обработчиков в форме.

Стоит учесть нюанс, что бывает сканер по какой то причине глючит (у меня такое пару раз случалось) и это усложняет понимание что не так в коде, потому что в отладке ожидаешь что при сканировании остановишься в обработчике "ВнешнееСобытие", а оно как будто не отрабатывает, а дело в том что сканер ничего не посылает. Проверяется предустановленной "1С Мобильная торговля", если сканер не работает в ней, то закрываем все приложения, перезагружаем устройство, затем снова открываем "1С Мобильная торговля", проверяем реагирует ли приложение на сканер, если да, то продолжаем эксперименты в мобильном клиенте с ERP.

Готово. Полноценное рабочее место работника склада на ERP 2.4 на Android 7.

P.S. Интерфейс, конечно, для работы на Android ИМХО не удобен совсем, придется пилить свои формы для мобильного клиента.

Расширение разработано и протестировано на ERP 2.4.7.141 и мобильный клиент 8.3.14.53.

8 Comments

  1. Turbokey

    Добрый день.

    Есть несколько вопросов. Очень интересно, как вы получили режим на ТСД, который выставлен на скриншоте к статье. Я подключаю ТСД к ERP по RDP через программку Parallels Client, ТСД на Андроиде. Вид окна совершенно не читаемый. идет эмуляция виндового окна.

    Так же не могу подключить сканер, не ловит события. Возможно я то-то делаю не так. Если есть время, помогите разобраться с этим функционалом.

    Reply
  2. chemezov

    Добрый день.

    По RDP я не пробовал. Т.к. есть мобильный клиент. И не уверен что сканер по RDP на Android будет так просто настроить, если вообще возможно, по этой причине я и не стал в эту сторону копать. Т.к. в официальном руководстве для RDP используется ОС Windows для мобильных устройств и соответственно RDP клиент который с точно портами для сканера работает, а в Android на этом пути еще кому то предстоит стать первооткрывателем :).

    В моем варианте сканер работает потому что есть нативный драйвер для сканера под Android который настраивается в открытой ERP в подсистеме подключаемого оборудования так же как это бы делалось на ПК.

    Reply
  3. user703219

    Добрый день. А как вы сделали приложение с мобильным клиентом для 7 андроида (Для сборки же не будет доступно собирать приложение для мобильного клиента?)

    Reply
  4. user703219

    (3)все норм, просто я туплю

    Reply
  5. Turbokey

    (2) Большое спасибо за развернутый ответ.

    Я предполагал что мои сложности со сканером упираются с систему на ТСД.

    Не сочтите за наглость. А где Вы взяли мобильный клиент? Сами разрабатывали или есть готовые разработки под ЕРП ?

    Reply
  6. chemezov

    (5) Мобильный клиент это мобильное приложение, поставляемое с мобильной платформой 1С. Оно там в папке лежит, в официальной поставке. Обычный тонкий клиент просто под Андроид.

    Reply
  7. Turbokey

    С мобильным клиентом все ясно. Я почему то решил, что скриншоты — это спец.интерфейс отдельной разработки под мобильное устройство.

    Большое спасибо, что направили ход изучения и внедрения.

    Достаточно легко получилось запустить место работника склада, на мобильном клиенте.

    Но проблема всплывшая при работе с RDP тут же проявилась и здесь.

    При работе на ТСД в стандартной форме мобильного рабочего места (что в RDP что в мобильной платформе) при сканировании форма не ловит событие сканирования. В мобильном клиенте, не отлавливается даже нажатие кнопок курсора.

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

    Reply
  8. chemezov

    (7)

    не отлавливается даже нажатие кнопок курсора

    Какой у вас ТСД? Если Urovo V5100, то для этого ТСД задействовать кнопки получиться только при помощи дополнительного ПО, я его качал тут https://infostart.ru/public/1039819/

    При работе на ТСД в стандартной форме мобильного рабочего места (что в RDP что в мобильной платформе) при сканировании форма не ловит событие сканирования

    Точно не помню, что помогло. Сначала тоже не работало. Надо потанцевать с бубном.

    1. Проверить, точно ли работает сканер в стороннем предустановленном приложении;

    2. Проверит, работает ли сканер в 1С мобильном приложении, которое бесплатно поставляется от поставщика (у UROVO это МРМ или 1С Мобильная торговля.

    3. Использовать версию мобильного клиента не выше 8.3.13.

    Если первые два пункта покажут что все в порядке со сканером, то скорее всего поможет использование мобильного клиента версии 8.3.12 например. На 8.3.14 у меня драйвер сканера точно не работал.

    4. Если у вас не UROVO, то скорее всего дело в драйвере сканера. В моем варианте реализации я подключаю компоненту драйвера устройства сканера в коде, жестко из макета. Возможно этот драйвер вам не подошел.

    Есть желание разобраться с работой ТСД и работой со встроенным сканером штрихкода.

    Мои изыскания привели меня к разработке мобильного приложения, в котором при помощи выше упомянутой разработки с инфостарта я отлавливаю в приложении нажатия клавиш и программно делаю все что мне нужно в 1С на ТСД (перемещения по строкам ТЧ, переходы внутри приложения между видами документов и т.д.). Однако для срочного внедрения, если на объекте имеется стабильный WiFi, вполне можно поработать и в стандартном ЕРПшном месте работника склада через мобильный клиент. Но всё управление будет точно только через тачскрин.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *