Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Внешние компоненты для ТСД на Android (Zebra)          
vbi Подменю пользователя
сообщение 19.05.22, 11:37
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Внешние компоненты для ТСД на Android. Работает на ТСД Zebra MC33

Компонента ZebraDW - для Зебровской програмулины DataWedge - создает и активирует нужный профиль на ТСД для того чтобы могла работать компонента перехвата событий и направлять в 1С.

Компонента Component - это компонента UniversalBroadcast, которая перехватывает широковещательные сообщения Android и направляет в 1С как внешние события.

Компоненты в архивах (под паролем разумеется) - их распаковываем, а те уже архивы (архивы в архиве) после распаковки, их НЕ распаковываем это и есть ВК.

Создаем новые общие макеты типа ВнешняяКомпонента и загружаем туда распакованные внутренние файлы.

Переходим к коду:

Использовать 32х битную мобильную платформу или моб. приложение (одна из компонент поддерживает только 32)
// Вначале обявляем переменные где будут хранится компоненты, иначе ничего не заработает

&НаКлиенте
Перем мКомпонентаНастройки Экспорт;
&НаКлиенте
Перем мКомпонентаОповещений Экспорт;

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ПідключенняДрайвера();
КонецПроцедуры

&НаКлиенте
Процедура ПідключенняДрайвера()

    Если ПодключитьВнешнююКомпоненту("ОбщийМакет.ZebraDW", "DWSetup", ТипВнешнейКомпоненты.Native) Тогда        
        мКомпонентаНастройки = Новый ("AddIn.DWSetup.ZebraDW");
        мКомпонентаНастройки.УстановитьПараметр("ProfileName", "1C");
        мКомпонентаНастройки.УстановитьПараметр("EventName", "barcode_event");
    
        Если НЕ мКомпонентаНастройки.Подключить() Тогда
            ТекстОшибкиКомпоненты = "";
            КодОшибки = мКомпонентаНастройки.ПолучитьОшибку(ТекстОшибкиКомпоненты);
            СообщениеПользователю = Новый СообщениеПользователю();
            СообщениеПользователю.Текст = "Ошибка: "+ КодОшибки + ", " + ТекстОшибкиКомпоненты;
            СообщениеПользователю.Сообщить();
        КонецЕсли;
    Иначе
        СообщениеПользователю = Новый СообщениеПользователю();
        СообщениеПользователю.Текст = "Ошибка подключения компоненты ""ZebraDW""";
        СообщениеПользователю.Сообщить();
    КонецЕсли;

    Если ПодключитьВнешнююКомпоненту("ОбщийМакет.Component", "Broadcasts", ТипВнешнейКомпоненты.Native) Тогда              
        мКомпонентаОповещений = Новый ("AddIn.Broadcasts.UniversalBroadcast");        
        мКомпонентаОповещений.УстановитьПараметр("FilterName", "barcode_event");
        //мКомпонентаНастройки.УстановитьПараметр("Category", "android.intent.category.DEFAULT"); //// це не треба
                
        ШаблонДанных = мКомпонентаОповещений.ПолучитьШаблонОписанияДанных();
        ТипДанные = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных, "com.symbol.datawedge.data_string", XMLСтрока(Ложь), XMLСтрока(0));          
        
        мКомпонентаОповещений.УстановитьПараметр("CaptureData", ТипДанные);
        
        Если НЕ мКомпонентаОповещений.Подключить() Тогда
            ТекстОшибкиКомпоненты = "";
            КодОшибки = мКомпонентаОповещений.ПолучитьОшибку(ТекстОшибкиКомпоненты);
            СообщениеПользователю = Новый СообщениеПользователю();
            СообщениеПользователю.Текст = "Ошибка: "+ КодОшибки + ", " + ТекстОшибкиКомпоненты;
            СообщениеПользователю.Сообщить();
        КонецЕсли;        
    Иначе        
        СообщениеПользователю = Новый СообщениеПользователю();
        СообщениеПользователю.Текст = "Ошибка подключения компоненты ""UniversalBroadcast""";
        СообщениеПользователю.Сообщить();        
    КонецЕсли;    

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

&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
    //Сообщить("+" + Источник + " - "+ Событие + " - " + Данные); ///// Далее можно просто раскоментировать и видеть XML который пришел
    
    Если Событие = "UniversalBroadcastEvent"  Тогда
        ОбробкаВводуШтрихкода(Данные);
    КонецЕсли;    
        
КонецПроцедуры

&НаКлиенте
Процедура ОбробкаВводуШтрихкода(Данные)
        ЧтениеXML = Новый ЧтениеXML();
        ЧтениеXML.УстановитьСтроку(Данные);
                
        Пока ЧтениеXML.Прочитать() Цикл  //Цикл по структуре            
            Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "MessageData" Тогда
                ЧтениеXML.Прочитать(); // Поч. елемента
                ЧтениеXML.Прочитать();//Знач
                Если  ЧтениеXML.Значение = "barcode_event" Тогда
                    ЧтениеXML.Прочитать();// Кін. елемента
                    ЧтениеXML.Прочитать();// Поч. елемента
                        Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "FilterData" Тогда  //Определяем начало элемента
                            ЧтениеXML.Прочитать();
                            Если ЧтениеXML.ТипУзла=ТипУзлаXML.Текст Тогда
                                Сообщить(СокрЛП(ЧтениеXML.Значение));   //// Тут наш штрихкод
                                Возврат;
                            КонецЕсли;
                        КонецЕсли;
                КонецЕсли;

            КонецЕсли;
        КонецЦикла;

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

Прикрепленные файлы
Прикрепленный файл  Component.zip ( 1,6 мегабайт ) Кол-во скачиваний: 145
Прикрепленный файл  ZebraDW.zip ( 1,28 мегабайт ) Кол-во скачиваний: 125
 


Signature
Впроваджую, супроводжую

Спасибо сказали: Vofka,

Vofka Подменю пользователя
сообщение 20.05.22, 10:27
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13988
Из: Киев
Спасибо сказали: 4564 раз
Рейтинг: 3693.4

Опубликовал.

Спасибо сказали: vbi,

Karatel555 Подменю пользователя
сообщение 15.06.22, 6:43
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

vbi @ 19.05.22, 15:37 * ,
А можно узнать пароль к архиву?

vbi Подменю пользователя
сообщение 07.07.22, 10:52
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Karatel555 @ 15.06.22, 7:43 * ,
Читайте правила форума, там все на счет паролей написано.


Signature
Впроваджую, супроводжую

lisovliss Подменю пользователя
сообщение 13.07.23, 13:34
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

vbi @ 07.07.22, 10:52 * ,
Большое спасибо!

Richevil Подменю пользователя
сообщение 09.11.23, 18:16
Сообщение #6

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

вопрос все заводится все подключается но потом выскакивает ошибка 1 001 - DataWeadge приложение не найдено, но оно есть и профили там тоже есть Zebra TC21

Tiger_77 Подменю пользователя
сообщение 07.02.24, 14:20
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 2 раз
Рейтинг: 0

Richevil @ 09.11.23, 18:16 * ,

Можете вручну додати профіль, там нічого складного:

[необходимо зарегистрироваться для просмотра ссылки]

замість "com.dwexample.ACTION" напишіть "barcode_event"

Сообщение отредактировал Vofka - 07.02.24, 19:32

dave2000 Подменю пользователя
сообщение 11.07.24, 22:57
Сообщение #8

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Tiger_77 @ 07.02.24, 14:20) *
Можете вручну додати профіль, там нічого складного:
[необходимо зарегистрироваться для просмотра ссылки]
замість "com.dwexample.ACTION" напишіть "barcode_event"


Яка у вас версія Андроїд? Пишуть, що з 11 версії воно вже так не працює.
Додав вручну профіль 1С, все одно помилка "1 001 - DataWeadge приложение не найдено".

Є якісь ще способи?


Profi_1C77 Подменю пользователя
сообщение 11.09.24, 13:25
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 45
Спасибо сказали: 14 раз
Рейтинг: 14

vbi @ 11.07.24, 23:57 * ,
Есть ли компонента x64?

gesha2281 Подменю пользователя
сообщение 21.09.24, 12:02
Сообщение #10

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

dave2000 @ 11.07.24, 22:57 * ,
Вдалось знайти спосіб запустити?

dima.kovp@gmail.... Подменю пользователя
сообщение 07.10.24, 8:29
Сообщение #11

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

gesha2281 @ 04.10.24, 0:06 * ,
При підключенні драйвера необхідно закоментити пункт із підключенням "ZebraDW" та налаштувати профыль вручну

Із важливого в налаштуваннях профілю необхідно:
в Applications вказати 1с*,
Keystroke output зняти ознаку Enabled,
Intent output поставити галку Enabled,
Intent action прописати barcode_event,
Intent delivery обрати Brodcast intent,
та у розділі Basic data formatting зняти галку у Send ENTER key.

Також у налаштуваннях самої DataWedge дати доступ на відображення поверх інших програм, через це буде трохи не зручно користуватися пристроєм тому що значок сканування буде на екрані та доведеться постійно його кудись рухатии щоб не заважав,
але без цього мені не вдалося налаштувати сканування. Також інколи при оновленні 1с на ТСД при першому скануванні вилітає 1с-ка, але це тільки після оновлення, в іншому проблем не виникає

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 10.11.24, 21:47
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!