Имя: Пароль:
1C
1С v8
Сканер штрихкода в управляемой форме. Несколько внешних событий
0 IamAlexy
 
16.09.12
23:47
Собственно вопрос:

Есть некая конфа.
Подключен сканер штрихкода (атоловские дрова халявные, 1Совые из библиотеки подключаемого - пофиг, эффект и там и там наблюдается)

В ней пытаюсь реализовать следующую логику:

1. если у пользователя активна обработка и сканируется штрихкод - выполняется одно действие
2. если у пользователя ничего не открыто - выполняется другое действие.

первое - обработка внешнего события в форме обработки
второе - обработка внешнего события в модуле управляемого приложения.


собственно все вроде работает, но внешние события со штрихкода срабатывают оба.
Сначала то которое в обработке, затем то которое в модуле.


отсюда вопрос: это как то лечится чем то осмысленным кроме костылей типа глобальной переменной ЭтотШтрихкодОбработан ?
1 CepeLLlka
 
16.09.12
23:50
А нету случаем проверки на Активна форма, не активна форма? Нее?
2 wraithik
 
16.09.12
23:50
Обрабатывать в модуле управляемого приложения и если у формы ВводДоступен() то слать ей, иначе самому разруливать.
3 CepeLLlka
 
16.09.12
23:51
Или если не активна отрабатывает всё равно? Недавно я смарел в Рознице 2.0 проверка на активность там была вроде..
4 IamAlexy
 
16.09.12
23:52
(2) да там специфичная логика ожидается в форме.. причем форм будет штук десять с разной логикой обработки внешних данных..

пихать все в модуль управляемого приложения уж очень нехочется..
5 IamAlexy
 
16.09.12
23:53
причем событие срабатывает у всех открытых форм +  то что в модуле управляемого приложения.

независимо от того что сейчас активно
6 IamAlexy
 
16.09.12
23:53
причем в режиме закладок когда несколько закладок - все работают
7 IamAlexy
 
16.09.12
23:54
бл.
8 Азат
 
16.09.12
23:57
(5) а если в модуле упр приложения разруливать? а все штрихкоды разделить по первой букве например?
9 IamAlexy
 
17.09.12
00:03
(8)  пример
есть штрихкод техкарты

сценарии по сканированию:

без открытых форм открывается форма техкарты
В производственной очереди формируется документ списания материалов по техкарте
В документе по внешнему событию техкарта добавляется в список обрабатываемых
в очереди на выпуск формируется выпуск продукции
в очереди на отгрузку она добавляется в бланк отгрузки
в очереди на доставку в маршрутный лист
и тд...

это собссно все один и тот же штрихкод, действие определяется контекстом в котором сработало внешнее событие...


причем самый прикол в том что "раньше" оно типа работало - хз с какого момента стали ВСЕ события открытых форм обрабатываться...


я конечно пихнул переменную "штрихкодобработан" и проверку на "вводдоступен()" - вроде проблема решилась, но тем не менее осадочек остался...
10 IamAlexy
 
17.09.12
02:11
оп

и ВводДоступен() всегда возвращает ложь

чтозахрень?
11 IamAlexy
 
17.09.12
02:23
ааааххх
вотжежблин
коварство... хитро, хитро...
12 sanja26
 
17.09.12
03:09
так ты на владельца проверяй))) как вариант предложил
обработку внешнего события.. не ругайте строго
13 IamAlexy
 
17.09.12
03:11
да не.. там хитрость в том что когда отладчиком получаешь вводдоступен то оно всегда ложь... потому что на момент проверки активная форма не та в которой отладчик стоит а форма конфигуратора :)

плять
хоть бы в СП про это написали ироды..
14 sanja26
 
17.09.12
03:12
(13) может не неадо конфигуратор открывать?
15 IamAlexy
 
17.09.12
03:14
(14) надо
16 sanja26
 
17.09.12
03:17
(15)тебе-то да, а клиенту? а штату 1с-разработчиков))
в УТ-10 обраьотка перехватывает все движений сканера, если ее форма открыта