0
Отвечен

Urovo DT40 как получить ШК как внешнее событие

Илья Архипов 8 месяцев назад в UROVO обновлен Михаил Феоктистов 8 месяцев назад 3

Добрый день.  Пытаюсь настроить работу в 1с через RDP подключение к 1С:ERP (релиз 2.4.11.102) . В ней хочу настроить не "в разрыв клавиатуры" а через внешнее событие Для этого нужна .dll библиотека. Стандартная 1с библиотека не отрабатывает.  Нет ли для этого ТСД какой то специализированной?

Ответ

ПРИКРЕПЛЕН

Разобрался сам. Заработало со стандартной dll вшитой в 1С


Обязательно на форме должны были быть реквизиты : ИспользоватьПодключаемоеОборудование - булево
ПоддерживаемыеТипыПодключаемогоОборудования - строка неограниченной длины
важно чтобы был возведен флаг 
ИспользоватьПодключаемоеОборудование = Истина;

в суффикс шк был прописан [ENTER] см картинку либо суффикс совпадающий с тем что настроите в 1С

для подключения по RDP использую встроенное приложение RPD2
в 1C  в настройки торгового оборудования следует добавить оборудование - сканер драйвер  "1С:Сканеры штрихкода (NativeApi)" стандартный  Настройки в нем такие : 

при открытии формы обработки примерный листинг рабочего кода :  

&НаКлиенте
Процедура ПриОткрытии(Отказ)
....
// МеханизмВнешнегоОборудования
ИспользоватьПодключаемоеОборудование = Истина;

МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(
Новый ОписаниеОповещения("НачатьПодключениеОборудованиеПриОткрытииФормыЗавершение", ЭтотОбъект),
ЭтотОбъект,
"СканерШтрихкода");
// Конец МеханизмВнешнегоОборудования

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

&НаКлиенте
Процедура НачатьПодключениеОборудованиеПриОткрытииФормыЗавершение(РезультатВыполнения, ДополнительныеПараметры) Экспорт

Если НЕ РезультатВыполнения.Результат Тогда

ПриОшибкеПодключенияОборудованияНаСервере(РезультатВыполнения.ОписаниеОшибки);

КонецЕсли;

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


&НаСервере
Процедура ПриОшибкеПодключенияОборудованияНаСервере(ОписаниеОшибки)

РабочееМестоРаботникаСкладаСервер.ПриОшибкеПодключенияОборудования(ЭтаФорма, ОписаниеОшибки);

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


у формы должно быть привязано событие : ОбработкаОповещения! 
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
СтруктураШК = новый структура;

// ПодключаемоеОборудование
Если ВводДоступен() И Источник = "ПодключаемоеОборудование" Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие() Тогда
// Преобразуем предварительно к ожидаемому формату
//Сообщить("Имя события : "+ИмяСобытия +" Источник "+Источник + " Параметр "+ Параметр); 
Если Параметр[1] = Неопределено Тогда
Штрихкод = Параметр[0];
Иначе
Штрихкод = Параметр[1][1];
КонецЕсли;
//Сообщить("Штрихкод "+Штрихкод);
СтруктураШК.Вставить("Штрихкод",Штрихкод);
ОбработкаШК(СтруктураШК,);

КонецЕсли;
КонецЕсли;


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

ХОРОШО, МНЕ ПОНРАВИЛОСЬ
Оценка удовлетворенности от Илья Архипов 8 месяцев назад
На рассмотрении

Добрый день, на ТСД такая функция будет работать только в мобильном клиенте. 

ПРИКРЕПЛЕН

Разобрался сам. Заработало со стандартной dll вшитой в 1С


Обязательно на форме должны были быть реквизиты : ИспользоватьПодключаемоеОборудование - булево
ПоддерживаемыеТипыПодключаемогоОборудования - строка неограниченной длины
важно чтобы был возведен флаг 
ИспользоватьПодключаемоеОборудование = Истина;

в суффикс шк был прописан [ENTER] см картинку либо суффикс совпадающий с тем что настроите в 1С

для подключения по RDP использую встроенное приложение RPD2
в 1C  в настройки торгового оборудования следует добавить оборудование - сканер драйвер  "1С:Сканеры штрихкода (NativeApi)" стандартный  Настройки в нем такие : 

при открытии формы обработки примерный листинг рабочего кода :  

&НаКлиенте
Процедура ПриОткрытии(Отказ)
....
// МеханизмВнешнегоОборудования
ИспользоватьПодключаемоеОборудование = Истина;

МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(
Новый ОписаниеОповещения("НачатьПодключениеОборудованиеПриОткрытииФормыЗавершение", ЭтотОбъект),
ЭтотОбъект,
"СканерШтрихкода");
// Конец МеханизмВнешнегоОборудования

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

&НаКлиенте
Процедура НачатьПодключениеОборудованиеПриОткрытииФормыЗавершение(РезультатВыполнения, ДополнительныеПараметры) Экспорт

Если НЕ РезультатВыполнения.Результат Тогда

ПриОшибкеПодключенияОборудованияНаСервере(РезультатВыполнения.ОписаниеОшибки);

КонецЕсли;

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


&НаСервере
Процедура ПриОшибкеПодключенияОборудованияНаСервере(ОписаниеОшибки)

РабочееМестоРаботникаСкладаСервер.ПриОшибкеПодключенияОборудования(ЭтаФорма, ОписаниеОшибки);

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


у формы должно быть привязано событие : ОбработкаОповещения! 
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
СтруктураШК = новый структура;

// ПодключаемоеОборудование
Если ВводДоступен() И Источник = "ПодключаемоеОборудование" Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие() Тогда
// Преобразуем предварительно к ожидаемому формату
//Сообщить("Имя события : "+ИмяСобытия +" Источник "+Источник + " Параметр "+ Параметр); 
Если Параметр[1] = Неопределено Тогда
Штрихкод = Параметр[0];
Иначе
Штрихкод = Параметр[1][1];
КонецЕсли;
//Сообщить("Штрихкод "+Штрихкод);
СтруктураШК.Вставить("Штрихкод",Штрихкод);
ОбработкаШК(СтруктураШК,);

КонецЕсли;
КонецЕсли;


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

Сервис поддержки клиентов работает на платформе UserEcho