Мобильная платформа 1С используется
стандартный ввод-вывод и при сканировании штрих-кода длиной 68
символов (например алкомарка) на это уходить более 4-х секунд.
Данная программа обходит стандартный ввод-вывод и передает штрих-код на прямую в мобильную платформу 1С это занимает доли секунды.
Совместимое оборудование:
Драйвер разработан для использования в оборудовании на котором стоит SDK hht.emdk. Ну или иными словами если стоит утилина datawedge или datascan то скорее всего данный драйвер будет работать с вашим оборудованием.
Драйвер тестировался на оборудовании: АТОЛ Smart.Droid на android 4.4
Драйвер тестировался когда мобильные конфигруации 1C располагаются на веб сервере
Описание как пользоваться:
1. Установить драйвер сканера 1С
2. Установить мобильную платформу 1С (тестировалось на 8.3.10)
2.1. Прописать в константах ID мобильной базы
2.2. Организовать взаимодействие между мобильной платформой и драйвером :
2.2.1. обратиться из 1С к драйверу при открытии например так: см. ниже процедуру ПриОткрытии()
данным кодом вы передаете ID базы из которой происходит сканирование в драйвер сканера штрих-код
в ответ драйвер при сканировании будет передавать штрих-код именно по ID этой базы
( если же ID базы не передавать то штрих-код мобильная платформа не примет! )
ниже описан кода как пользоваться драйвером из 1С. Описан разбор отсканированного штрих-кода который пришел в мобильную платформу 1С из драйвера.
========================================================================
&НаКлиенте
Процедура ПриОткрытии(Отказ)
#Если МобильноеПриложениеКлиент Тогда
УстановитьПараметрыВДрайвереСканераТСД(ИдентификаторБазы Истина);
Параметр = Неопределено;
ОП = Новый ОписаниеОповещения("ОбработкаУведомлений" ЭтаФорма Параметр);
ДоставляемыеУведомления.ПодключитьОбработчикУведомлений(ОП);
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура УстановитьПараметрыВДрайвереСканераТСД(ИдентификаторБазы ПередаватьШтрихКодИзДрайвераВ1С)
#Если МобильноеПриложениеКлиент Тогда
Приложение = Новый ЗапускПриложенияМобильногоУстройства();
Приложение.ИмяКласса = "ru.palpet.scandriver1c.ViewActivity";
Приложение.Приложение = "ru.palpet.scandriver1c";
Приложение.Действие = "ru.palpet.scandriver1c.intent.action.MAIN";
Приложение.ДополнительныеДанные.Добавить("DB_ID" ИдентификаторБазы );
Приложение.ДополнительныеДанные.Добавить("transferBarcodeTo1C" ПередаватьШтрихКодИзДрайвераВ1С );
Приложение.Запустить(Ложь);
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаУведомлений(Уведомление Локальное Показано ДопПараметры) Экспорт
СтруктураШтрихКода = Новый Структура("type length Barcode");
Текст = СтрЗаменить(Уведомление.Данные " " "");
Текст = СтрЗаменить(Текст "{" "");
Текст = СтрЗаменить(Текст "}" "");
Текст = СтрЗаменить(Текст "" Символы.ПС);
Для к = 1 По СтрЧислоСтрок(Текст) Цикл
ТекущаяСтрока = СтрПолучитьСтроку(Текст к);
ТекущаяСтрока = СтрЗаменить(ТекущаяСтрока """" "");
ТекущаяСтрока = СтрЗаменить(ТекущаяСтрока ":" Символы.ПС);
Если СтрПолучитьСтроку(ТекущаяСтрока 1) = "type" Тогда
СтруктураШтрихКода.Вставить("type" СтрПолучитьСтроку(ТекущаяСтрока 2) );
ИначеЕсли СтрПолучитьСтроку(ТекущаяСтрока 1) = "length" Тогда
СтруктураШтрихКода.Вставить("length" СтрПолучитьСтроку(ТекущаяСтрока 2) );
ИначеЕсли СтрПолучитьСтроку(ТекущаяСтрока 1) = "Barcode" Тогда
СтруктураШтрихКода.Вставить("Barcode" СтрПолучитьСтроку(ТекущаяСтрока 2) );
КонецЕсли;
КонецЦикла;
Если Не СтруктураШтрихКода.Свойство("Barcode") Тогда
Возврат;
КонецЕсли;
Сообщение = "";
АлкоКод = РасшифроватьМарку(СтруктураШтрихКода.Barcode);
Результат = ДобавитьТоварПоШтрихКоду(АлкоКод Сообщение СтруктураШтрихКода.Barcode);
КонецПроцедуры
========================================================================
Данная программа обходит стандартный ввод-вывод и передает штрих-код на прямую в мобильную платформу 1С это занимает доли секунды.
Совместимое оборудование:
Драйвер разработан для использования в оборудовании на котором стоит SDK hht.emdk. Ну или иными словами если стоит утилина datawedge или datascan то скорее всего данный драйвер будет работать с вашим оборудованием.
Драйвер тестировался на оборудовании: АТОЛ Smart.Droid на android 4.4
Драйвер тестировался когда мобильные конфигруации 1C располагаются на веб сервере
Описание как пользоваться:
1. Установить драйвер сканера 1С
2. Установить мобильную платформу 1С (тестировалось на 8.3.10)
2.1. Прописать в константах ID мобильной базы
2.2. Организовать взаимодействие между мобильной платформой и драйвером :
2.2.1. обратиться из 1С к драйверу при открытии например так: см. ниже процедуру ПриОткрытии()
данным кодом вы передаете ID базы из которой происходит сканирование в драйвер сканера штрих-код
в ответ драйвер при сканировании будет передавать штрих-код именно по ID этой базы
( если же ID базы не передавать то штрих-код мобильная платформа не примет! )
ниже описан кода как пользоваться драйвером из 1С. Описан разбор отсканированного штрих-кода который пришел в мобильную платформу 1С из драйвера.
========================================================================
&НаКлиенте
Процедура ПриОткрытии(Отказ)
#Если МобильноеПриложениеКлиент Тогда
УстановитьПараметрыВДрайвереСканераТСД(ИдентификаторБазы Истина);
Параметр = Неопределено;
ОП = Новый ОписаниеОповещения("ОбработкаУведомлений" ЭтаФорма Параметр);
ДоставляемыеУведомления.ПодключитьОбработчикУведомлений(ОП);
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура УстановитьПараметрыВДрайвереСканераТСД(ИдентификаторБазы ПередаватьШтрихКодИзДрайвераВ1С)
#Если МобильноеПриложениеКлиент Тогда
Приложение = Новый ЗапускПриложенияМобильногоУстройства();
Приложение.ИмяКласса = "ru.palpet.scandriver1c.ViewActivity";
Приложение.Приложение = "ru.palpet.scandriver1c";
Приложение.Действие = "ru.palpet.scandriver1c.intent.action.MAIN";
Приложение.ДополнительныеДанные.Добавить("DB_ID" ИдентификаторБазы );
Приложение.ДополнительныеДанные.Добавить("transferBarcodeTo1C" ПередаватьШтрихКодИзДрайвераВ1С );
Приложение.Запустить(Ложь);
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаУведомлений(Уведомление Локальное Показано ДопПараметры) Экспорт
СтруктураШтрихКода = Новый Структура("type length Barcode");
Текст = СтрЗаменить(Уведомление.Данные " " "");
Текст = СтрЗаменить(Текст "{" "");
Текст = СтрЗаменить(Текст "}" "");
Текст = СтрЗаменить(Текст "" Символы.ПС);
Для к = 1 По СтрЧислоСтрок(Текст) Цикл
ТекущаяСтрока = СтрПолучитьСтроку(Текст к);
ТекущаяСтрока = СтрЗаменить(ТекущаяСтрока """" "");
ТекущаяСтрока = СтрЗаменить(ТекущаяСтрока ":" Символы.ПС);
Если СтрПолучитьСтроку(ТекущаяСтрока 1) = "type" Тогда
СтруктураШтрихКода.Вставить("type" СтрПолучитьСтроку(ТекущаяСтрока 2) );
ИначеЕсли СтрПолучитьСтроку(ТекущаяСтрока 1) = "length" Тогда
СтруктураШтрихКода.Вставить("length" СтрПолучитьСтроку(ТекущаяСтрока 2) );
ИначеЕсли СтрПолучитьСтроку(ТекущаяСтрока 1) = "Barcode" Тогда
СтруктураШтрихКода.Вставить("Barcode" СтрПолучитьСтроку(ТекущаяСтрока 2) );
КонецЕсли;
КонецЦикла;
Если Не СтруктураШтрихКода.Свойство("Barcode") Тогда
Возврат;
КонецЕсли;
Сообщение = "";
АлкоКод = РасшифроватьМарку(СтруктураШтрихКода.Barcode);
Результат = ДобавитьТоварПоШтрихКоду(АлкоКод Сообщение СтруктураШтрихКода.Barcode);
КонецПроцедуры
========================================================================
Show More >