Помогите настроить сканер ШК для нового документа #808774


#0 by sagitt
Конфигурация УТ 11. Имеется подключенный сканер ШК, работает нормально. Дописал свой документ. В форме документа написал обработчик событий Обработка оповещения и Внешнее событие. Если открыть форму моего документа и прочитать сканером какой-нибудь  штрихкод, то ни одно из этих событий не происходит. Однако, если открыть мой документ и документ РеализацияТоваровИУслуг(одновременно), то начинают возникать оба события в моем документе. Причем не важно,  форма какого документа активна. Явно что-то я не доделываю. Подскажите пожалуйста, что надо сделать, чтобы сканер работал нормально. Спасибо.
#1 by lodger
а попробуй две типовые формы со сканером открыть и просканировать что-нибудь. кажется, что обе формы откликнутся. чтобы понять что форма активна юзают ВводДоступен дальше в СП почитаешь.
#2 by Остап Сулейманович
ВнешнееСобытие в твоем документе скорее всего не нужно. Проверь в модуле формы РеализацияТоваровИУслуг есть ли такое?
#3 by sagitt
Откликаются действительно все открытые формы. ВводДоступен в типовых формах используется в Обработка оповещения, а она в моей форме не вызывается, пока не будет открыта какая-нибудь типовая форма. И что я должен сделать, чтобы стала вызываться Обработка оповещения без открытия дополнительных окон - непонятно.
#4 by Остап Сулейманович
+ Сейчас метода такая - внешнее событие ловится на уровне приложения. А не формы, как раньше. Затем обработчик внешнего события делает Оповестить. И в обработчике оповещения КАЖДОЙ открытой формы можно обработать событие.
#5 by sagitt
ВнешнееСобытие может и не нужно, в стандартных решениях используется Обработка оповещения, но оно тоже не вызывается...пока не открою стандартную форму.
#6 by Остап Сулейманович
"не вызывается...пока не открою стандартную форму." Обработчик к событию привязан?
#7 by lodger
открой форму, правый клик по корню дерева элементов - свойства. там внизу в свойствах Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) прописана как обработка оповещения? в описании процедура 3 параметра указано?
#8 by lenochka-semicova
Смотреть нужно не только ОбработкаОповещения, хотя она должна быть, и в ней нужно проверять ВводДоступен нужно сделать по аналогии как в типовых формах ПриЗакрытии - отключить НЕ ЗАБЫТЬ МенеджерОборудованияКлиентПереопределяемый.НачатьОтключениеОборудованиеПриЗакрытииФормы(ЭтаФорма); также нужно ПриСозданииНасервере – инициализировать ОбщегоНазначенияУТ.НастроитьПодключаемоеОборудование(ЭтаФорма);. Внешнее событие для УТ не нужно, т.к. в УТ срабатывает глобальное ВнешнееСобытие, которое посылает оповещение всем открытым формам, а в каждой открытой форме проверяется в обработке оповещения - активна ли она - т.е. ВводДоступен=Истина. Такая форма будет одна из всех открытых. Пример из УТ-же     Если Источник = "ПодключаемоеОборудование" И ВводДоступен Тогда
#9 by sagitt
Большое спасибо. Очень помогли. На всякий случай добавлю,может комк пригодится: в реквизиты формы надо добавить два реквизита: ИспользоватьПодключаемоеОборудование и ПоддерживаемыеТипыПодключаемогоОборудования
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С