Обработка перехват QR-кода и дальнейшая работа с ним
Не ругайтесь строго, я в первый раз сталкиваюсь. Мне надо написать обработку считывания QR-кода. Помогите начать, дальше я разберусь. Перечитала много информации. Сканер ШК настроен как эмуляция Com, Розница 2.2. В обработке есть строка, в которую должны попасть данные кода. Начала с малого:
Причем это просто скопировала из документа Реализация, но код не попадает никуда. Добавляла и ВнешнееСобытие, ничего. Нужно ли добавлять эти функции при Открытии:
? если их добавлять, то жестко ругается на все.
Я проверяла сканер в самом документе Реализация, он все считывает, ну точнее данные получает, в ошибках о поиске их пишет. А у меня не попадает никуда. Простите, что вопрос может глупый, но учиться то все равно надо. Интернет перерывала, форумы читала, не помогло мне:(
&НаКлиенте
Процедура ОповещениеПоискаПоШтрихкоду(Штрихкод, ДополнительныеПараметры) Экспорт
Если НЕ ПустаяСтрока(Штрихкод) Тогда
СтруктураПараметровКлиента = ПолученШтрихкодИзСШК(Штрихкод);
//ОбработатьДанныеПоКодуКлиент(СтруктураПараметровКлиента);
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолученШтрихкодИзСШК(Штрихкод) Экспорт
СтруктураРезультат = ПодключаемоеОборудованиеРТВызовСервера.ПолученШтрихкодИзСШК(Штрихкод, ЭтотОбъект);
Возврат СтруктураРезультат;
КонецФункции
ПоказатьПричем это просто скопировала из документа Реализация, но код не попадает никуда. Добавляла и ВнешнееСобытие, ничего. Нужно ли добавлять эти функции при Открытии:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПодключаемоеОборудованиеРТВызовСервера.НастроитьПодключаемоеОборудование(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключаемоеОборудованиеРТВызовСервера.НастроитьПодключаемоеОборудование(ЭтаФорма);
ПодключаемоеОборудование
МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено, ЭтаФорма, "СканерШтрихкода, СчитывательМагнитныхКарт");
Конец ПодключаемоеОборудование
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
// ПодключаемоеОборудование
МенеджерОборудованияКлиент.НачатьОтключениеОборудованиеПриЗакрытииФормы(Неопределено, ЭтаФорма);
// Конец ПодключаемоеОборудование
КонецПроцедуры
Показать? если их добавлять, то жестко ругается на все.
Я проверяла сканер в самом документе Реализация, он все считывает, ну точнее данные получает, в ошибках о поиске их пишет. А у меня не попадает никуда. Простите, что вопрос может глупый, но учиться то все равно надо. Интернет перерывала, форумы читала, не помогло мне:(
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
>>
Первое, что надо уточнить, как добавляла внешнее событие? Просто написала процедуру с именем "ВнешнееСобытие"? Нужно тыкнуть правой кнопкой по форме, выбрать свойства и найти событие "ВнешнееСобытие" Создать событие(предварительно удалив свою процедуру), он поставит нужные параметры сам. После этого поставить точку останова внутрь, переключиться в режим предприятия и при открытой форме(событие у нас прописано для формы же?) "пикнуть" сканером по коду. Анализировать, что прилетело из входящих параметров.
Добавляла и ВнешнееСобытие, ничего.
Первое, что надо уточнить, как добавляла внешнее событие? Просто написала процедуру с именем "ВнешнееСобытие"? Нужно тыкнуть правой кнопкой по форме, выбрать свойства и найти событие "ВнешнееСобытие" Создать событие(предварительно удалив свою процедуру), он поставит нужные параметры сам. После этого поставить точку останова внутрь, переключиться в режим предприятия и при открытой форме(событие у нас прописано для формы же?) "пикнуть" сканером по коду. Анализировать, что прилетело из входящих параметров.
(2)Да, разумеется, я не настолько глупа:))
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если ВводДоступен() Тогда
ПодключаемоеОборудованиеРТКлиент.ВнешнееСобытиеОборудования(ЭтотОбъект, Источник, Событие, Данные);
КонецЕсли;
КонецПроцедуры
Показать
Может я не совсем понял смысл слова перехват, но:
если вы работаете во внешней обработке то вам нужно подключить сканер штрихкодов, например так:
В конце естественно отключить
Ну и вот так я получаю параметры штрихкода
У меня так все работает
(3)
если вы работаете во внешней обработке то вам нужно подключить сканер штрихкодов, например так:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ИспользоватьПодключаемоеОборудование = Истина;
МенеджерОборудованияКлиентПереопределяемый.НачатьПодключениеОборудованиеПриОткрытииФормы(ЭтаФорма, "СканерШтрихкода");
КонецПроцедуры
В конце естественно отключить
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
МенеджерОборудованияКлиентПереопределяемый.НачатьОтключениеОборудованиеПриЗакрытииФормы(ЭтаФорма);
КонецПроцедуры
ПоказатьНу и вот так я получаю параметры штрихкода
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
// ПодключаемоеОборудование
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияКлиентПереопределяемый.ЕстьНеобработанноеСобытие() Тогда
ДанныеШтрихкода = МенеджерОборудованияКлиент.ПреобразоватьДанныеСоСканераВМассив(Параметр);
КонецЕсли;
КонецЕсли;
// Конец ПодключаемоеОборудование
КонецПроцедуры
ПоказатьУ меня так все работает
(3)
Да, разумеется, я не настолько глупа:))
Мне не может быть известен уровень вашей подготовки. Самая частая проблема - просто скопировали процедуру, забыв указать ее в свойствах формы. Вторая проблема - пикают сканером в открытом отладчике, разумеется ничего не происходит. То есть, если событие у формы указано, то все должно работать. Еще форма при открытии должна подключаться, а при закрытии отключаться от торгового оборудования. То есть события при открытии и при закрытии тоже надо посмотреть. Так по крайней мере было на обычных формах, но на УФ вроде бы тоже.
(10)Да, в свойствах формы должна быть определена обработка оповещения (см. скрин),
и еще не помню конкретно для чего но у меня на форме есть два реквизита:
ИспользоватьПодключаемоеОборудование - Тип булево
ПоддерживаемыеТипыПодключаемогоОборудования - тип строка длина 0
и еще не помню конкретно для чего но у меня на форме есть два реквизита:
ИспользоватьПодключаемоеОборудование - Тип булево
ПоддерживаемыеТипыПодключаемогоОборудования - тип строка длина 0
Прикрепленные файлы:
(14) Я Вас все-таки добью до конца:), обработка сейчас выглядит просто, 2 реквизита, о которых говорилось выше и поле типа Строка, для ввода данных со штриха, в модуле формы 3 процедуры, при щелканье несколько раз подряд, он попадает - таки в процедуру Оповещения, в условия попадает, они не выполняются и улетает в конец. Вот такие дела:( Я причем сканирую просто набор цифр, в данный момент для тренировок, все просто вроде бы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот