Имя: Пароль:
1C
1C 7.7
v7: Подскажите как в документе сделать постоянно активным поле ввода?
0 TDV
 
23.10.16
01:45
Собственно весь и вопрос.
1 Zamestas
 
23.10.16
02:10
(0) Для чего?
2 Garykom
 
гуру
23.10.16
02:29
1. Тока не говори что не потянул подключение драйвера сканера

2. Постоянно активным никак, но можно сделать что оно будет активироваться каждый раз после любого действия ну или для 77 есть такая замечательная ВК которая умеет нажатия кнопок на активной форме перехватывать, обзывается formex
3 Tolia_2016
 
23.10.16
04:03
(2) Где 77?
4 TDV
 
23.10.16
11:09
(2) со сканером вроде как разобрался. Решил не имитировать COM порт, а сделать постоянно активным поле ввода. Думаю вот теперь как его побороть.

Господа профессионалы, подскажите в каком направлении копать или где что почитать?
5 TDV
 
23.10.16
11:11
ДА в 77
6 TDV
 
23.10.16
11:16
Читал про процедуру Активизировать, но она работает только ПриОткрытии
7 TDV
 
23.10.16
11:32
А если в этом поле (ПолеВвода) при открытии написать Активировать его, а потом при сканировании передать CR а для этого поля написать обработку которая открывается, а дальше по закрытию данной обработки как то можно передать документы чтобы активировалось опять это поле?
8 FN
 
23.10.16
11:49
Есть следующие варианты.

ПОСТАВИТЬ в сканере префикс например F7 и кнопку на форме с таким хоткеем + ввести строку.

Ложное закрытие формы

Предупреждение и возврат в процедуре,  привязанной к реквизиту
9 TDV
 
23.10.16
12:37
(8) А есть уже реализованные примеры?
10 FN
 
23.10.16
13:07
Полно. Гуглится на ура.
11 TDV
 
23.10.16
13:17
В принципе прочитал дофига в инете, правильно я понял, вот что я планирую сделать:

На форме добавляю кнопку (наверное ее можно сделать невидимой) и добавляю ей префикс F7 (перед этим сканер программирую с префиксом F7(150)) если форма будет активна, то должна сработать данная кнопка

Потом написать процедуру ввод значение где и будет сам штрих код (у сканера программирую суффикс после штрих кода ENTER CH13)

Ну и дальше уже ищем данный штрих
12 palpetrovich
 
23.10.16
13:24
(11) "Ложное закрытие формы" из (8) - примерно так:
Перем МожноЗакрыть;
Процедура ПриОткрытии()
    МожноЗакрыть = 0;
КонецПроцедуры
Процедура ПриЗакрытии()    
    Если МожноЗакрыть = 0 Тогда
        Активизировать("ТвоеПоле", 1);
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
КонецПроцедуры
Процедура КнопкаЗакрыть()
    МожноЗакрыть = 1;
    Форма.Закрыть();
КонецПроцедуры
Процедура ИзмТвоеПоле()
    // блаблабла
    Форма.Закрыть();
КонецПроцедуры
13 FN
 
23.10.16
13:29
11 да, все так.
Если сканер не программируется то делай как в 12, но уже с реквизитом.
14 TDV
 
23.10.16
13:39
Пытаюсь пока по принципу с F7
15 TDV
 
23.10.16
13:43
у меня почему то происходит следующее:

Я разместил кнопку присвоил ей F7

Потом когда сканирую кнопка срабатывает

но открывается окно вводСтроку так как я в кнопке прописал следующуй процедуру

Процедура ПоискТовараПоШтрихКоду()
Перем ЗнШтрих;  
    Если ВвестиЗначение(ЗнШтрих,"Введите штрих код:","Строка","13")=1 Тогда
        Сообщить(ЗнШтрих);
    Иначе    
        Сообщить("Штрих код не введен!");
    КонецЕсли;
Конецпроцедуры

И опять надо сканировать

После этого он мне сообщает
штрих код но уже с буквой "В" спереди

В чем может быть проблема

Я думал будет так:
раз я установил префикс F7 и присвоел его кнопки
то значит срабатывает кнопка потом записывает в поле штрих и нажимается ENTER

Что то не так делаю?
16 palpetrovich
 
23.10.16
13:45
ВвестиЗначение - нафейхуа?
17 TDV
 
23.10.16
14:04
А как получить штрих код? я думал из этого поля?
18 palpetrovich
 
23.10.16
14:15
(17)  "Потом когда сканирую кнопка срабатывает"  - вот и анализируй что получил за вычетом префикса
19 TDV
 
23.10.16
14:19
У меня сканер запрограммирвоан так

префикс F7 потом штрих код и суффикс (ENTER) и все
20 TDV
 
23.10.16
14:20
(18) А как я это проанализирую если у меня сканер USB он должен ввести куда то в какое то поле свой штрих код
21 TDV
 
23.10.16
14:32
Я что подумал, просто сканер быстрей передает ифнормацию чем происходит вызов кнопки, наверное надо задержку какую то поставить
22 TDV
 
23.10.16
15:01
у меня сканер настроен так
F7+ Штрихкод + ENTER
Я так думаю он передает эту инфу всю сразу (пакетом), а можно как то его настроить на посимвольное передачу?
23 TDV
 
23.10.16
15:13
Или я просто как то кнопку эту неправильно добавил на форму...
24 Смотрящий
 
23.10.16
15:17
(23) "Решил не имитировать COM порт" из (4), вызывают твои метания духа
25 TDV
 
23.10.16
15:26
(24) В смысле?
26 TDV
 
23.10.16
15:26
Там и драйвера не потходят
27 Смотрящий
 
23.10.16
15:35
(25) У тебя сканер работает сейчас в варианте "в разрыв клавиатуры" - легко подключается (ткнул кабель и усе), но тупо валит последовательность считываемых символов в буфер клавиатуры, а буфер уже валит в фокус активного элемента формы - ты и занимаешься ерундой - пытаешься "отловить" такой нефокусный ввод в конкретное поле.
А эмулировал бы COM-порт - тупо ловил бы событие в процедуре "ОбработкаВнешнегоСобытия".
28 Fragster
 
гуру
23.10.16
17:38
в одном особо извращенном случае в снеговике я делал поле многострочным, и при изменении текста анализировал на перевод строки...
29 Злопчинский
 
23.10.16
21:33
Потому что полное дятловство держать на форме много элементов на которые может становиться фокус и при этом использовать клавиатурный ввод

Сделай на форме всего один элемент, который может быть активным - это пусть и будет поле ввода для шк

У меня так туева хуча обработок успешно работает
30 Torquader
 
23.10.16
22:03
Когда я пытался переписать диалог ввода даты, чтобы он при переходе на другую кнопку сам закрывался, оказалось, что любой элемент управления, кроме кнопки, на который ставится фокус, генерирует событие начала редактирования.
К сожалению, из этого события менять активный элемент нельзя, но можно сделать ложное закрытие (дать команду "Форма.Закрыть") и в ПриЗакрытии её отменить и установить фокус на начало элемента.

P.S. а что не взлетело со сканером-то ?
Последний драйвер SCANOPOS, насколько я помню, прекрасно перехватывает клавиатуру.

P.P.S. клавиатурный сканер плох тем, что если в приложение в панели "Пуск" эксплорера нечаянно ткнуть мышью, то оно просто становится неактивным, и весь ввод идёт мимо. Без Vk такое дело перехватить очень проблематично, а если есть Vk, то можно и просто перехватывать весь клавиатурный ввод у всех процессов сразу.
31 TDV
 
23.10.16
22:55
Все ребят сделал, всем спасибо