|
Заблокировать внешнее событие | ☑ | ||
---|---|---|---|---|
0
St17
05.07.13
✎
11:34
|
Добрый День!
8.2 УТ Изминеная! Задача такова. Есть форма с ТЗ куда заполняется строчки с номенклатурой. Нужно сканером по ШК товара определить номенклатуру и если НЕ определил вывести предупреждение и заблокировать возможность дальнейшего сканировать пока пользователь не нажмет "ОК" на предупреждении. Использовал переменную в виде флага и ВводДоступен(). В результате программа не производит нечего пока весит предупреждение ,как только предупреждение убираем события произошедшие во время якобы блокировки (В виде предупреждения) происходят в той же последовательности. Подскажите куда копать! Как заблокировать внешнее событие? |
|||
1
Ork
05.07.13
✎
11:35
|
(0)
1. Как подключен сканер? 2. Кто есть драйвер сканера? |
|||
2
St17
05.07.13
✎
11:50
|
Процедура ПриОткрытии()
ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма); КонецПроцедуры Процедура ВнешнееСобытие(Источник, Событие, Данные) Если Не ВводДоступен() Тогда Возврат; КонецЕсли; ПолучитьСерверТО().ОбработатьВнешнееСобытие(Источник, Событие, Данные, ЭтаФорма); КонецПроцедуры Функция СШКНоменклатура(Номенклатура, Характеристика, Серия, Качество, Единица, Количество, СШК) Экспорт .... КонецФункции |
|||
3
St17
05.07.13
✎
11:51
|
Атол Сканер ШтрихКода
|
|||
4
Ork
05.07.13
✎
11:57
|
(3) Для Атолла когда-то задавал вопрос тов. MikeFromAtol. Был здесь такой пользователь.
Его ответ был таким : если событие легло в очередь - только обработать. Если не хотите что бы оно вообще ложилось - нужно отключать устройство. По памяти - свойство DeviceEnabled. |
|||
5
Ork
05.07.13
✎
11:59
|
+ (4) После обработки не забудьте его включить.
Для клавиатурных сканеров получим гемор такого плана : при отключенном устройстве внешняя компонента просто не генерит внешнее событие. Ввод со сканера считается вводом с клавиатуры. И на все ваши Предупреждение(), Вопрос() и прочее будет "нажимать" кнопку "по умолчанию". |
|||
6
St17
05.07.13
✎
13:38
|
(4)
Спасибо. Сделал отключение. ПолучитьСерверТО().ОтключитьКлиента(ЭтаФорма); Процедура ВнешнееСобытие(Источник, Событие, Данные) Если Не ВводДоступен() Тогда Возврат; КонецЕсли; ПолучитьСерверТО().ОбработатьВнешнееСобытие(Источник, Событие, Данные, ЭтаФорма); ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма); (5) Создал форму с сообщение и двумя кнопками "ОК" и "Повторить сообщение"! По умолчанию поставил кнопку "Повторить сообщение" |
|||
7
St17
05.07.13
✎
13:39
|
"Повторить сообщение" заменил на картинку с восклицательным знаком. Смотрится отлично!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |