Эмуляция сканера штрих-кодов через ловкость рук

Понадобилось как отрабатывает внешнее событие на ввод штрихкода.

Посмотрел как это делал Чистов https://expert.chistov.pro/public/326998/, даже написал обработку:

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

&НаКлиенте
Процедура ОбработчикОжидания() Экспорт 
	МассивПосыла = Новый Массив;
	МассивПосыла.Вставить(0, ОтправляемыйШтрихКод); //Это и есть штрихкод
	МассивПосыла.Вставить(1, Неопределено);
	Оповестить("ScanData", МассивПосыла, "ПодключаемоеОборудование");
КонецПроцедуры

Но, увы, эта обработка вызывает у формы ОбработкаОповещения, а не ВнешнееСобытие.

Хотел уже было качать генератор внешнего события у покойного Душелова, но вспомнил, что вопрос можно решить ловкостью рук.

Подключаю сканер в разрыв клавиатуры, таймаут меняю с 35 на 200:

Нажимаю тест подключения. Теперь, если достаточно быстро нажать клавиши 1, 2, 3 и Enter, система воспримет их как ввод штрих-кода с клавиатуры:

Теперь осталось только открыть нужную форму и быстро нажать последовательность из 4-х клавиш. Если нужно ввести свой код, то в отладчике подменить значение штрих-кода на свой.

Проверил — действительно вызывается ВнешнееСобытие.

Так можно выкрутиться без сканера.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован.