Добрый день!
Давно не подключал сканер ШК в терминале, возникла проблемка
А проблем в том, что, если никаких журналов не открыто, то при считывании кода, открывается обработка,
НО, если открыт любой журнал, то, кроме обработки, еще и открывается документ на котором стоит курсор
Как обойти эту проблему?
Давно не подключал сканер ШК в терминале, возникла проблемка
Процедура ПриНачалеРаботыСистемы()
Если ЗагрузитьВнешнююКомпоненту("vk_rs232.dll")=0 Тогда
Сообщить("Внешняя компонента не была загружена!","!");
Иначе
rs232 = СоздатьОбъект("AddIn.vk_rs232");
КонецЕсли;
//Начинаем слушать порт
Попытка
rs232.ОткрытьПорт("COM1");
rs232.КонецСтроки = Симв(13);
rs232.ПерехватКлавиатуры(1);
Исключение
rs232_2.ОткрытьПорт("COM3");
rs232_2.КонецСтроки = Симв(13);
rs232.ПерехватКлавиатуры(1);
КонецПопытки;
КонецПроцедуры
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
Если Событие = "BarCodeValue" Тогда
ОткрытьФорму("Отчет",Данные,"sk.ert");
КонецЕсли;
КонецПроцедуры
ПоказатьА проблем в том, что, если никаких журналов не открыто, то при считывании кода, открывается обработка,
НО, если открыт любой журнал, то, кроме обработки, еще и открывается документ на котором стоит курсор
Как обойти эту проблему?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Как вариант вставить в форму журнала обработку "ОбработкуВнешнегоСобытия()" и обрабатывать ею, присвоив какой то переменной значение 1, Например: НеОткрывать = 1; А в процедуре журнала "ПриВыбореСтроки()" проверять значение переменной. Простейший код формы журнала документов будет примерно такой:
Перем НеОткрывать;
//========================================================== ============
Процедура ОбработкаВнешнегоСобытия(Парам)
// Код обработкчика
НеОткрывать = 1;
КонецПроцедуры //
//========================================================== ============
Процедура ПриВыбореСтроки()
Если НеОткрывать = 1 Тогда
НеОткрывать = 0;
СтатусВозврата(0);
КонецЕсли;
КонецПроцедуры
НеОткрывать = 0;
Показать
(8) MIracloid2000, Можно сделать глобальную переменную, но процедуру "ПриВыбореСтроки()" придется вставлять в каждый журнал, и оттуда вызывать глобальную процедуру, где делать проверку. В принципе вставить во все формы журнала не сложно, где то была разработка, можно поискать на сайте 1cpp.ru.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот