Вход | Регистрация

1С:Предприятие ::

Метки: 

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

Я
   sagitt
 
21.11.17 - 10:22
Конфигурация УТ 11. Имеется подключенный сканер ШК, работает нормально.

Дописал свой документ.
В форме документа написал обработчик событий Обработка оповещения и Внешнее событие.
Если открыть форму моего документа и прочитать сканером какой-нибудь  штрихкод, то ни одно из этих событий не происходит. Однако, если открыть мой документ и документ РеализацияТоваровИУслуг(одновременно), то начинают возникать оба события в моем документе. Причем не важно,  форма какого документа активна.
Явно что-то я не доделываю. Подскажите пожалуйста, что надо сделать, чтобы сканер работал нормально.
Спасибо.
 
  Рекламное место пустует
   lodger
 
1 - 21.11.17 - 10:32
а попробуй две типовые формы со сканером открыть и просканировать что-нибудь.
кажется, что обе формы откликнутся.

чтобы понять что форма активна юзают ВводДоступен()
дальше в СП почитаешь.
   Остап Сулейманович
 
2 - 21.11.17 - 10:38
(0)
ВнешнееСобытие в твоем документе скорее всего не нужно. Проверь в модуле формы РеализацияТоваровИУслуг есть ли такое?
   sagitt
 
3 - 21.11.17 - 10:41
Откликаются действительно все открытые формы.
ВводДоступен() в типовых формах используется в Обработка оповещения(), а она в моей форме не вызывается, пока не будет открыта какая-нибудь типовая форма.

И что я должен сделать, чтобы стала вызываться Обработка оповещения() без открытия дополнительных окон - непонятно.
   Остап Сулейманович
 
4 - 21.11.17 - 10:42
+ (2) Сейчас метода такая - внешнее событие ловится на уровне приложения. А не формы, как раньше. Затем обработчик внешнего события делает Оповестить. И в обработчике оповещения КАЖДОЙ открытой формы можно обработать событие.
   sagitt
 
5 - 21.11.17 - 10:44
ВнешнееСобытие() может и не нужно, в стандартных решениях используется Обработка оповещения(), но оно тоже не вызывается...пока не открою стандартную форму.
   Остап Сулейманович
 
6 - 21.11.17 - 11:11
(5) "не вызывается...пока не открою стандартную форму." Обработчик к событию привязан?
   lodger
 
7 - 21.11.17 - 11:12
(5) открой форму, правый клик по корню дерева элементов - свойства.
там внизу в свойствах Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) прописана как обработка оповещения?
в описании процедура 3 параметра указано?
   lenochka-semicova
 
8 - 21.11.17 - 11:27
(0) Смотреть нужно не только ОбработкаОповещения, хотя она должна быть, и в ней нужно проверять ВводДоступен()
нужно сделать по аналогии как в типовых формах

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

ПриЗакрытии - отключить НЕ ЗАБЫТЬ МенеджерОборудованияКлиентПереопределяемый.НачатьОтключениеОборудованиеПриЗакрытииФормы(ЭтаФорма);

также нужно ПриСозданииНасервере – инициализировать ОбщегоНазначенияУТ.НастроитьПодключаемоеОборудование(ЭтаФорма);.


Внешнее событие для УТ не нужно, т.к. в УТ срабатывает глобальное ВнешнееСобытие, которое посылает оповещение всем открытым формам, а в каждой открытой форме проверяется в обработке оповещения - активна ли она - т.е. ВводДоступен()=Истина. Такая форма будет одна из всех открытых.
Пример из УТ-же
    Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
   sagitt
 
9 - 21.11.17 - 14:52
Большое спасибо. Очень помогли.

На всякий случай добавлю,может комк пригодится:

в реквизиты формы надо добавить два реквизита:

ИспользоватьПодключаемоеОборудование
и
ПоддерживаемыеТипыПодключаемогоОборудования


Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует