|   |   | 
| 
 | Залип внешнего события "Штрихкод" в 1С:Рознице | ☑ | ||
|---|---|---|---|---|
| 0
    
        petya_ petrov_63 22.03.23✎ 10:26 | 
        Есть обработка РабочийСтол. В которой идет сканирование товаров и подбор в табличную часть.
 Имеется следующая проблема: при открытии обработки и сканировании внешнего события не происходит. Но если открыть форму документа чекккм, закрыть её, то после этого замечательным образом событие штрихкод срабатывает. В чем может быть залип? &НаКлиенте Процедура ВнешнееСобытие(Источник, Событие, Данные) Если ВводДоступен() Тогда //Вставить содержимое обработчика Сообщить(">>>" + ТекущаяДата() + ">" + Источник + ":"+ Событие+ ":"+ Данные); Если Событие = "Штрихкод" Тогда ОбработатьШтрихКод(Данные); КонецЕсли; Если Источник="IPO1C_Connect" Тогда Если Событие="IN" Тогда данныеЗвонка = ПолучитьДанныеЗвонка (Данные); Если ПустаяСтрока(данныеЗвонка.НомерТелефона1) Тогда Возврат; КонецЕсли; номерТелефона = БИС_ОбщегоНазначенияКлиентСервер.НомерТелефонаПоРФ(данныеЗвонка.НомерТелефона1); Если ПустаяСтрока(номерТелефона) Тогда Возврат; КонецЕсли; // если номер телефона был IPO1C_Ringing на этот добавочный сообщить(данныеЗвонка.НомерТелефона1); сообщить(ЭтаФорма.ПоследнийВходящийНомер); Если (данныеЗвонка.НомерТелефона1=ЭтаФорма.ПоследнийВходящийНомер) Тогда П = Новый Структура("НомерТелефона", номерТелефона); ОткрытьФорму("ОбщаяФорма.БИС_ФормаВходящегоЗвонка", П, ЭтаФорма); КонецЕсли; КонецЕсли; КонецЕсли; // Если Источник="IPO1C_Ringing" Тогда Если Событие="IN" Тогда данныеЗвонка = ПолучитьДанныеЗвонка (Данные); Если (данныеЗвонка.ВнутреннийНомер=ЭтаФорма.внутреннийТелефон) Тогда ЭтаФорма.ПоследнийВходящийНомер = данныеЗвонка.НомерТелефона1; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры | |||
| 1
    
        НикДляЗапросов 22.03.23✎ 10:27 | 
        В фокусе формы     | |||
| 2
    
        petya_ petrov_63 22.03.23✎ 10:46 | 
        форма активна, программно никак не управляю. Нипонятно.     | |||
| 3
    
        arsik гуру 22.03.23✎ 10:49 | 
        (2) Ну почитай уже чего ни будь по событиям 1С. Открой конфигурация Библиотеку подключаемого оборудования там посмотри.
 Ну по крайней мере открой в отладчике форму в которой сканер подключается и там посмотри как это реализовано. | |||
| 4
    
        petya_ petrov_63 22.03.23✎ 10:54 | 
        Тупо сделал внешнюю обработку с одним событием 
 &НаКлиенте Процедура ВнешнееСобытие(Источник, Событие, Данные) Сообщить(">>>" + ТекущаяДата() + ">" + Источник + ":"+ Событие+ ":"+ Данные); КонецПроцедуры никакие обработки и хитроумные управления фокусом не понадобились. Все срабатывает. | |||
| 5
    
        CaIIIka 22.03.23✎ 10:58 | 
        Событие к форме привязано? В свойствах формы.     | |||
| 6
    
        petya_ petrov_63 22.03.23✎ 11:01 | 
        (5) привязано, иначе оно и после "чудесного" открытия формы чекККМ не срабатывало.     | |||
| 7
    
        CaIIIka 22.03.23✎ 11:06 | 
        В чеке ККМ подтягиваются подключенные устройства. 
 У меня не типовая, но принцип, возможно, схожий. Методы типа: МенеджерОборудованияКлиент.ОбновитьРабочееМестоКлиента() МенеджерОборудованияКлиент.ПодключитьОборудованиеПоТипу(...) В ПриОткрытии поищите. | |||
| 8
    
        petya_ petrov_63 22.03.23✎ 11:07 | 
        Сохранил обработку как внешнюю - тоже не работает.     | |||
| 9
    
        CaIIIka 22.03.23✎ 11:16 | 
        В некоторых случаях через событие формы ОбработкаОповещения реализовано     | |||
| 10
    
        petya_ petrov_63 22.03.23✎ 11:17 | 
        Нет тут через ВнешнееСобытие     | |||
| 11
    
        eddy_n 22.03.23✎ 11:33 | 
        Что может на клиенте инициализироваться в форме Чека ККМ, что обходит стороной эта обработка?     | |||
| 12
    
        petya_ petrov_63 22.03.23✎ 11:43 | 
        (11) Меня лично интересует вопрос почему в пустой обработке работает внешнее событие, а в этом рабочем столе не работает.     | |||
| 13
    
        eddy_n 22.03.23✎ 11:45 | 
        (12) Ещё раз спрошу - точно ВнешнееСобытие в той обработке привязано к Событиям формы?     | |||
| 14
    
        arsik гуру 22.03.23✎ 11:49 | 
        5$     | |||
| 15
    
        petya_ petrov_63 22.03.23✎ 11:49 | ||||
| 16
    
        eddy_n 22.03.23✎ 11:57 | 
        Сейчас под рукой нет, но ясно, что в Чеке ККМ ПриОткрытии() в форме идёт подключение Торгового Оборудования на клиенте.     | |||
| 17
    
        eddy_n 22.03.23✎ 12:00 | 
        Получается, надо смотреть ПриОткрытии() формы этой обработки.     | |||
| 18
    
        eddy_n 22.03.23✎ 12:09 | 
        Никакого расширения не стоит, которое перехватывает ВнешнееСобытие?     | |||
| 19
    
        petya_ petrov_63 22.03.23✎ 12:13 | 
        (16) но в пустой форме то никакого подключения нет и сканер работает. Что пустая форма делает не так?     | |||
| 20
    
        petya_ petrov_63 22.03.23✎ 12:14 | 
        (18) нет расширения с перехватом нет.     | |||
| 21
    
        eddy_n 22.03.23✎ 12:17 | 
        (19) Нет ясности.     | |||
| 22
    
        petya_ petrov_63 22.03.23✎ 12:21 | 
        Остановился на костылях: просто при открытии рабочегостола открываю форму списка документа чекККМ. Костыль, но работает.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |