Обработка перехват QR-кода и дальнейшая работа с ним

1. HIVvich 12.05.17 11:13 Сейчас в теме
Не ругайтесь строго, я в первый раз сталкиваюсь. Мне надо написать обработку считывания QR-кода. Помогите начать, дальше я разберусь. Перечитала много информации. Сканер ШК настроен как эмуляция Com, Розница 2.2. В обработке есть строка, в которую должны попасть данные кода. Начала с малого:

&НаКлиенте
Процедура ОповещениеПоискаПоШтрихкоду(Штрихкод, ДополнительныеПараметры) Экспорт
	
	Если НЕ ПустаяСтрока(Штрихкод) Тогда
		СтруктураПараметровКлиента = ПолученШтрихкодИзСШК(Штрихкод);
		//ОбработатьДанныеПоКодуКлиент(СтруктураПараметровКлиента);
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Функция ПолученШтрихкодИзСШК(Штрихкод) Экспорт
	
	СтруктураРезультат = ПодключаемоеОборудованиеРТВызовСервера.ПолученШтрихкодИзСШК(Штрихкод, ЭтотОбъект);
	Возврат СтруктураРезультат;
	
КонецФункции
Показать


Причем это просто скопировала из документа Реализация, но код не попадает никуда. Добавляла и ВнешнееСобытие, ничего. Нужно ли добавлять эти функции при Открытии:

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


&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	ПодключаемоеОборудованиеРТВызовСервера.НастроитьПодключаемоеОборудование(ЭтаФорма);

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

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


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

? если их добавлять, то жестко ругается на все.
Я проверяла сканер в самом документе Реализация, он все считывает, ну точнее данные получает, в ошибках о поиске их пишет. А у меня не попадает никуда. Простите, что вопрос может глупый, но учиться то все равно надо. Интернет перерывала, форумы читала, не помогло мне:(
По теме из базы знаний
Найденные решения
20. tjurikov_ivan 213 12.05.17 14:28 Сейчас в теме
(19)Думаю это не так важно, может мне легче подключиться, у вас есть Team Viewer? напишите в личку
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. webester 26 12.05.17 11:44 Сейчас в теме
>>
Добавляла и ВнешнееСобытие, ничего.

Первое, что надо уточнить, как добавляла внешнее событие? Просто написала процедуру с именем "ВнешнееСобытие"? Нужно тыкнуть правой кнопкой по форме, выбрать свойства и найти событие "ВнешнееСобытие" Создать событие(предварительно удалив свою процедуру), он поставит нужные параметры сам. После этого поставить точку останова внутрь, переключиться в режим предприятия и при открытой форме(событие у нас прописано для формы же?) "пикнуть" сканером по коду. Анализировать, что прилетело из входящих параметров.
3. HIVvich 12.05.17 11:59 Сейчас в теме
(2)Да, разумеется, я не настолько глупа:))

&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
	
	Если ВводДоступен() Тогда
		ПодключаемоеОборудованиеРТКлиент.ВнешнееСобытиеОборудования(ЭтотОбъект, Источник, Событие, Данные);
	КонецЕсли;
	
КонецПроцедуры
Показать
5. tjurikov_ivan 213 12.05.17 12:34 Сейчас в теме
Может я не совсем понял смысл слова перехват, но:
если вы работаете во внешней обработке то вам нужно подключить сканер штрихкодов, например так:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ИспользоватьПодключаемоеОборудование = Истина;
	МенеджерОборудованияКлиентПереопределяемый.НачатьПодключениеОборудованиеПриОткрытииФормы(ЭтаФорма, "СканерШтрихкода");

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

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

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

Показать


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


У меня так все работает
(3)
6. HIVvich 12.05.17 13:19 Сейчас в теме
(5) Спасибо за практическое пособие, именно то, что и нужно, толчок к действию. Но точка останова не срабатывает на ОбработкеОповещения, еще что-то нужно ей?
4. webester 26 12.05.17 12:16 Сейчас в теме
Да, разумеется, я не настолько глупа:))

Мне не может быть известен уровень вашей подготовки. Самая частая проблема - просто скопировали процедуру, забыв указать ее в свойствах формы. Вторая проблема - пикают сканером в открытом отладчике, разумеется ничего не происходит. То есть, если событие у формы указано, то все должно работать. Еще форма при открытии должна подключаться, а при закрытии отключаться от торгового оборудования. То есть события при открытии и при закрытии тоже надо посмотреть. Так по крайней мере было на обычных формах, но на УФ вроде бы тоже.
7. tjurikov_ivan 213 12.05.17 13:29 Сейчас в теме
А сканер подключен в подключаемом оборудовании?
8. HIVvich 12.05.17 13:31 Сейчас в теме
(7) да, конечно, пробовала его в справочнике Номенклатура, сканирует, ищет, т.е. отрабатывает, все хорошо с ним.
9. tjurikov_ivan 213 12.05.17 13:33 Сейчас в теме
(8)точку останова ставите в самом начале процедуры?
10. HIVvich 12.05.17 13:34 Сейчас в теме
(9)и в самом начале в том числе ставила, получается фактически из основы обработки, не считая других действий, лично связанных с обработкой результата, должно быть 3 процедуры, что Вы описали выше?
11. tjurikov_ivan 213 12.05.17 13:38 Сейчас в теме
(10)Да, в свойствах формы должна быть определена обработка оповещения (см. скрин),
и еще не помню конкретно для чего но у меня на форме есть два реквизита:
ИспользоватьПодключаемоеОборудование - Тип булево
ПоддерживаемыеТипыПодключаемогоОборудования - тип строка длина 0
Прикрепленные файлы:
12. HIVvich 12.05.17 13:48 Сейчас в теме
(11) да все так и сделано, куда копать вообще...
13. tjurikov_ivan 213 12.05.17 13:56 Сейчас в теме
(12)Попробуйте в процедуре при открытии написать в самом начале:
ПоддерживаемыеТипыПодключаемогоОборудования = "СканерШтрихкода";
14. tjurikov_ivan 213 12.05.17 13:57 Сейчас в теме
(12)Соответственно нужно добавить реквизиты о которых я писал в 10
15. HIVvich 12.05.17 14:03 Сейчас в теме
(14) Я Вас все-таки добью до конца:), обработка сейчас выглядит просто, 2 реквизита, о которых говорилось выше и поле типа Строка, для ввода данных со штриха, в модуле формы 3 процедуры, при щелканье несколько раз подряд, он попадает - таки в процедуру Оповещения, в условия попадает, они не выполняются и улетает в конец. Вот такие дела:( Я причем сканирую просто набор цифр, в данный момент для тренировок, все просто вроде бы.
16. tjurikov_ivan 213 12.05.17 14:04 Сейчас в теме
(15)прикрепите обработку)
17. HIVvich 12.05.17 14:09 Сейчас в теме
обработка вот:
Прикрепленные файлы:
СканированиеКода.epf
18. tjurikov_ivan 213 12.05.17 14:19 Сейчас в теме
Странно у меня все работает, попробуйте в начале процедуры обработка оповещения написать ЭтаФорма.Активизировать();
19. HIVvich 12.05.17 14:24 Сейчас в теме
В подключениях у меня так, не нашел версию драйвера (хотя они установлены) и в справочнике Номенклатура тоже считывается.
Прикрепленные файлы:
20. tjurikov_ivan 213 12.05.17 14:28 Сейчас в теме
(19)Думаю это не так важно, может мне легче подключиться, у вас есть Team Viewer? напишите в личку
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот