Имя: Пароль:
1C
1С v8
Как сделать чтобы в форме при изменении реквизита фокус сам перескакивал
,
0 popcorn
 
30.09.11
10:27
Как сделать чтобы в форме при изменении реквизита фокус сам перескакивал на другой реквизит, чтобы не нужно было жать ентер?
1 Stepa86
 
30.09.11
10:29
а без нажатия на ентер как определить, что пора прыгать?
2 popcorn
 
30.09.11
10:30
(1) ПриИзменении сработало
3 Stepa86
 
30.09.11
10:33
(2) так оно при сходе с элемента срабатывает, а это или ентер или клик в другой элемент
4 PR
 
30.09.11
10:34
(3) Видимо он по F4 выбирает :))
5 jsmith82
 
30.09.11
10:35
Процедура РеквизитПриИзменении(Элемент)

УстановитьФокус(Элемент.Имя);

КонецПроцедуры

Процедура УстановитьФокус(Имя)
Индекс = СписокЭлементов(Имя).Индекс
ТекущийЭлемент = Элементы[СписокЭлементов[Индекс = 1]];
КонецПроцедуры

СписокЭлементов = Новый СписокЗначений()
СписокЭлементов.Добавить("Номер");
СписокЭлементов.Добавить("Дата");
СписокЭлементов.Добавить("Организация");
...
6 Stepa86
 
30.09.11
10:43
(5) >> ТекущийЭлемент = Элементы[СписокЭлементов[Индекс = 1]];

наверно там должен быть +

Коллизий нет при таком перескоке? типа попадание одних данных в другие поля?
7 popcorn
 
30.09.11
10:49
(5) Ограниченно рабочий вариант. Если редактируется поле  типа Дата, то нормально перескакивает, а если редактируется с типом СправочникСсылка, то фокус ввода перескакивает во второе поле, но первое поле тоже выделено курсором и при нажатии ентер во втором поле перескакивает не в третье поле, а в то которое после первого, тоесть сново во второе.