Имя: Пароль:
1C
1C 7.7
v7: 1с 7.7 курсор в поле ввода
0 Gugolovski
 
21.06.17
08:45
В справочнике, в форме элемента, есть поле ввода. После внесения данных и нажатия Enter, курсор переходит на другие поля. Можно ли курсор оставить в этом поле?
1 monsterZE
 
21.06.17
09:08
да, через хитрость с ложным закрытием формы.
2 monsterZE
 
21.06.17
09:15
навскидку

Процедура ПриЗакрытии()
    
    Если ЛожноеЗакрытие=1 тогда
      Активизировать(ФокусНа,0);
      АктивизироватьОбъект(Объект);
      ЛожноеЗакрытие = 0;
          СтатусВозврата(0);
    КонецЕсли;            
    
КонецПроцедуры

по ентер
    ЛожноеЗакрытие = 1;
    Форма.Закрыть(0);

...посмотрел - правда у себя пользую формекс, для отлова ентера
3 monsterZE
 
21.06.17
09:18
подбор товара по коду

Объект = СпрТов.ТекущийЭлемент();
ФокусНа = "Наименование";
4 Ёпрст
 
21.06.17
09:18
5 Злопчинский
 
21.06.17
09:19
(1) можно и без ложного закрытия, как минимум ещё два способа
6 aka AMIGO
 
21.06.17
09:20
(4) О! Архив жив?! :)
Хорошо, что кто-то заботится о нём :)
7 monsterZE
 
21.06.17
09:21
(4) тебе надо уже ид кошелька в подпись добавить =) для взносов шекелей
8 monsterZE
 
21.06.17
09:23
(5) ну презентуй =)
9 Масянька
 
21.06.17
09:24
А ТКВ?
(0) Зачем?
10 aka AMIGO
 
21.06.17
09:24
+(6) Жаль, ссылки уже битые
11 monsterZE
 
21.06.17
09:33
(0) у меня была необходимость возвращать фокус в поле ввода, после подтверждения количества в подборе.
в поле ввел код, нажал ентер - фокус на товар, еще ентер, ввод количества (если флажек фокуса активен - встаем на тоже поле, если нет, остаемся в списке товаров)
12 Ёпрст
 
21.06.17
09:34
(10) на что именно ? все ссылки живые, на все примеры с синьоры
13 Gugolovski
 
21.06.17
09:34
(9) А что такое ТКВ?
Ввожу в поле ввода штрихкод-PDF417, через него высчитывается алкокод.
Возможно захочется за раз несколько штрихкодов проверить
14 Ёпрст
 
21.06.17
09:35
(9) при вводе штрихкода, например, чтоб фокус не улетал с поля ввода.
15 Масянька
 
21.06.17
09:52
(13) У Ё спроси :)
Понятно...
16 Gugolovski
 
21.06.17
09:55
(5) а какие способы? что-то я не так делаю и не выходит.
//**************************
//поле ввода - "PDF417"

Перем МожноЗакрыть;
Процедура PDF417()
...
Если ПустоеЗначение(_АлкогольКодАП_НИН)=1  Тогда
     _АлкогольКодАП_НИН = текAlcCode;
    
иначе
    Если текAlcCode <> _АлкогольКодАП_НИН  Тогда
        
        Предупреждение("Внимание не совпадение кода алкогольной продукции");
        сообщить(_АлкогольКодАП_НИН + " = Код АП в карточке товара");
        сообщить(текAlcCode + " = Код АП со сканера");
    КонецЕсли;
КонецЕсли;
PDF417 = "";
МожноЗакрыть=0;
Форма.Закрыть(0);
КонецЕсли;    
КонецПроцедуры

Процедура ПриЗакрытии()
    
     Если МожноЗакрыть=0 тогда
          Активизировать(PDF417);
          СтатусВозврата(0);
     КонецЕсли;            
     МожноЗакрыть=1;
....
КонецПроцедуры

//**************************
17 Ёпрст
 
21.06.17
09:58
(16)
Активизировать("PDF417");
18 Злопчинский
 
21.06.17
09:59
Наша мировая клюшечная ноосфера с эгрегором дарит вам
1. Ложное закрытие
2. Сделать поле ввода единственным активным объектом на форме на котором м.б. фокус
3. После энтера в поле ввода вызвать внешнюю обработку, в которой ПриОткрытиии сделать СтатусВозврата(0)
19 Ёпрст
 
21.06.17
10:01
(18)
4.формексом сделать что угодно
20 Злопчинский
 
21.06.17
10:01
(16) перед конец если в прищакрытии возврат куда дел?
21 Злопчинский
 
21.06.17
10:02
(19) а как?
22 Ёпрст
 
21.06.17
10:02
(20) он там не нужен
23 Gugolovski
 
21.06.17
10:04
(17) Точно, дело в них, в кавычках. С ними работает
24 Ёпрст
 
21.06.17
10:04
(21)
1. формекс умеет подавлять сообщения "формула не может быть вызвана в элементах диалога" и обходит это ограничение
2. тупо отлов клавиш
25 Gugolovski
 
21.06.17
10:05
Не всегда понимаю куда их ставить (кавычки), а где можно без них.))
26 Ёпрст
 
21.06.17
10:08
(25) там где написано ИМЯ реквизита в параметрах метода - туда ставишь Имя в ковычках.
27 aka AMIGO
 
21.06.17
10:09
(25) Активизировать(<?>,);
Activate(<?>,);
Синтаксис:
Активизировать(<ИмяРеквизита>,<Режим>)
Назначение:
Активизировать для редактирования поле диалога.
Параметры:
<ИмяРеквизита> - необязательный параметр. Строка с именем поля диалога, которое нужно активизировать. Пустое имя элемента диалога используется для активизации всей формы.
28 Gugolovski
 
21.06.17
10:11
(26) спасибо.
29 Злопчинский
 
21.06.17
20:27
(24)  это я знаю
Но каким образом п.1 может помочь с позиционированием?
30 FN
 
21.06.17
22:50
(18) 4. Предупреждение в процедуре также оставит фокус на элементе.
31 Злопчинский
 
21.06.17
23:15
(30) ну,это некущяво
Разве только попробовать тайм-аут поставить в предупреждении -1, тогда моргнет и всн
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.