|
При нажатии на кнопку определить, какое поле активно | ☑ | ||
---|---|---|---|---|
0
ic-kat
24.08.12
✎
17:45
|
задача такая - есть форма, на ней несколько полей ввода и кнопок,
встаем на одно поле и нажимаем кнопку и нужно чтобы в поле, в котором только что были, менялось значение. как отследить, в каком поле только что были? по ЭтаФорма.ТекущийЭлемент.Имя выдает имя кнопки, на которую нажали. |
|||
1
Wobland
24.08.12
✎
17:51
|
чего только ни понапридумывают. на зачем?
|
|||
2
ic-kat
24.08.12
✎
17:54
|
(1)не было бы нужно, не спрашивала бы.
ты попробуешь помочь или покритиковать зашел? |
|||
3
sanja26
24.08.12
✎
17:55
|
фотку?
какие формы? |
|||
4
Wobland
24.08.12
✎
17:56
|
(2) критиковать цели не имею. а любопытство имею
|
|||
5
PR
24.08.12
✎
17:56
|
(0) Никак.
|
|||
6
ic-kat
24.08.12
✎
17:56
|
(3) УФ
вот мне интересно, зачем фотку спрашивают? уродливым не помогаете? |
|||
7
Wobland
24.08.12
✎
17:56
|
часто иногда спрашивают "а как сделать ересь", не понимая, что правильный ответ: "ересь делать не нужно"
|
|||
8
Wobland
24.08.12
✎
17:57
|
(6) это такая традиция, и мы не в силах её изменить
|
|||
9
sanja26
24.08.12
✎
17:57
|
(5) че это?
|
|||
10
ic-kat
24.08.12
✎
17:58
|
(5) совсем никак?
(4) на форме расположены поля ввода неких параметров и клавиатура с цифрами, нужно заполнить каждое поле. |
|||
11
ic-kat
24.08.12
✎
18:00
|
нашла конечно обходной путь, но он что-то мне не нравится - вставить группу с рамкой и в нее кнопку, при нажатии ее фиксировать, какое "поле" активно
(9) можно все-таки? |
|||
12
Wobland
24.08.12
✎
18:00
|
(10) обработкой активизации запоминаешь, в кнопке узнаёшь
|
|||
13
Юрий Лазаренко
24.08.12
✎
18:00
|
(10) Ну если совсем не думать, то заведи переменную, в которой храни имя последнего активизированного поля. Переменную заполнять при активизации поля. При нажатии кнопки в переменной у тебя будет имя последнего активного поля. Если думать, то возможно найдется более изящное решение.
|
|||
14
Wobland
24.08.12
✎
18:01
|
(13) я что-то более изящного даже нафантазировать не могу
|
|||
15
Юрий Лазаренко
24.08.12
✎
18:01
|
(14) Ну ХЗ, если в СП покопаться, то может и найдется что. Хотя пока навскидку ничего в голову не идет.
|
|||
16
ic-kat
24.08.12
✎
18:02
|
(12) что за обработка активизации?
|
|||
17
Wobland
24.08.12
✎
18:03
|
о! нафантазировал! свойство формы ПредыдущийАктывныйЭлемент ;)
|
|||
18
Wobland
24.08.12
✎
18:03
|
(16) в свойства поля сходи
|
|||
19
sanja26
24.08.12
✎
18:04
|
(18) в УФ нет приАктивизации()
|
|||
20
PR
24.08.12
✎
18:04
|
(19) Можно подумать в обычных есть :))
|
|||
21
sanja26
24.08.12
✎
18:05
|
так она фотку не выложит...
ОкончаниеВВодаТекста() и реквизит формы с типом строка, в который заносить наименование последнего активного реквизита |
|||
22
ic-kat
24.08.12
✎
18:06
|
не нашла ни активизации, ни предыдущегоАктивного...
|
|||
23
Wobland
24.08.12
✎
18:06
|
аа, это я у формы смотрел ;)
|
|||
24
Wobland
24.08.12
✎
18:07
|
делай радиобаттон возле каждого поля
|
|||
25
ic-kat
24.08.12
✎
18:09
|
(21) выложу. если разберусь. на радостях-то)
почему на окончании? я же в него ничего пока не ввожу и вводить буду кнопками с цифрами, а для этого надо понять, в какое именно |
|||
26
ic-kat
24.08.12
✎
18:09
|
(24) чего делать?
|
|||
27
Wobland
24.08.12
✎
18:11
|
(26) круглая галка. переключатель
|
|||
28
ic-kat
24.08.12
✎
18:12
|
(27) костыль получается
хотим уйти на такую форму как раз чтобы меньше кликов делать при заполнении параметров |
|||
29
Wobland
24.08.12
✎
18:12
|
(28) тогда жди 8.4 ;)
|
|||
30
Wobland
24.08.12
✎
18:13
|
плин, если у юзера нету рук (клавиатуры), то придётся жертвовать каким-то удобством
|
|||
31
sanja26
24.08.12
✎
18:14
|
(28) ты когда с поля ввода уходишь на любой другой элемент формы должно сработать ОкончаниеВВодаТекста()
|
|||
32
ic-kat
24.08.12
✎
18:14
|
не срабатывает ((
|
|||
33
ic-kat
24.08.12
✎
18:14
|
(30) с галками ну совсем криво получится, поставить, заполнить, снять, поставить у другого поля...
|
|||
34
Wobland
24.08.12
✎
18:16
|
(33) радиобаттон. один раз поставить и вводить
|
|||
35
PR
24.08.12
✎
18:16
|
Делай кнопки без фокусирования, тогда свойство формы "ТекущийЭлемент" будет указывать на поле ввода.
Например, если ты нажимаешь кнопку в панели кнопок, то фокус на кнопку не переходит. С тебя фото :)) |
|||
36
Wobland
24.08.12
✎
18:18
|
(35) сейчас она захочет это видеть справа от полей. не знаю, мож, в УФ панели кнопок можно и в "тело" формы засунуть...
|
|||
37
PR
24.08.12
✎
18:20
|
(36) Если справа от полей, то при нажатии кнопки известно поле ввода, в котором нужно менять. В чем проблема-то?
|
|||
38
Wobland
24.08.12
✎
18:23
|
(37)
ПолеВвода1 7 8 9 ПолеВвода2 4 5 6 ПолеВвода3 1 2 3 |
|||
39
PR
24.08.12
✎
18:25
|
(38) И че?
Делай три панели по три кнопки и нажимай. |
|||
40
Wobland
24.08.12
✎
18:26
|
(39) ну я не до конца понимаю, как это реализовать. и не хочу. главное, чтоб автор понял ;)
|
|||
41
Aprobator
24.08.12
✎
18:32
|
(6)он не про конфигурацию (... какие формы ....) )))
|
|||
42
Wobland
24.08.12
✎
18:33
|
(41) они пока не управляются никак
|
|||
43
SUA
24.08.12
✎
18:34
|
как вариант - кликом по полю ввода открывается вспомогательная форма и там кнопками вводится значение
|
|||
44
Aprobator
24.08.12
✎
18:39
|
я вообще не понимаю, а чем стандартные поля ввод или выбора не катят?
|
|||
45
SUA
24.08.12
✎
18:44
|
(44)как я понял тачпад
|
|||
46
Aprobator
24.08.12
✎
18:47
|
ну и?
|
|||
47
ic-kat
25.08.12
✎
08:02
|
(35) как без фокусирования делать?
(45) да, тачпад |
|||
48
Wobland
25.08.12
✎
08:07
|
(47) там же чуть ниже: нажимаешь кнопку в панели кнопок
|
|||
49
echo77
25.08.12
✎
08:14
|
(47) а как без фотки разбираться?
|
|||
50
ic-kat
25.08.12
✎
08:33
|
(48) где - там?
|
|||
51
ic-kat
25.08.12
✎
08:38
|
(43) она так и было изначально, хотят сделать, чтобы меньше кликов было - открыли и заполнили все
|
|||
52
ic-kat
25.08.12
✎
08:38
|
(49) я же сказала - будет фотка.
только ни на шаг еще не продвинулась... |
|||
53
Wobland
25.08.12
✎
09:07
|
(50) -> (35)
(52) уже несколько вариантов предложили. делать за тебя никто не станет |
|||
54
Lex_Liven
25.08.12
✎
09:11
|
(52) в поле ввода - никак. используй ПолеНадписи + Гиперссылка. Там можно обработать событие ПриНажатии, только надо сделать СтандарьнаяОбработка = Ложь; а то выскакивает окошко со значением поля.
|
|||
55
Lex_Liven
25.08.12
✎
09:12
|
+(54) Ну и шрифт для тачскрина подогнать надо, конечно. Если совсем никак - пиши на мыло, скину пример.
|
|||
56
ic-kat
25.08.12
✎
09:41
|
(54) ты про декорацию? так и хотела, но без гиперссылки нажатие на обрабатывается, с гиперссылкой не подойдет, сейчас делаю вместо поля кнопку, но не в восторге от этого
(53) да за меня делать не надо. я не поняла про фокусирование, где отключить его. как сделать, чтобы при нажатии не фокусировалось? |
|||
57
Lex_Liven
25.08.12
✎
09:43
|
(54) я про ПолеНадписи, а не декорацию. Почему с гиперссылкой не пойдет?
|
|||
58
Wobland
25.08.12
✎
09:58
|
(56) кнопку на тулбар (или как его там в УФ) забабашь
|
|||
59
ic-kat
25.08.12
✎
09:59
|
(57) да что надпись, что поле надписи, если заголовка нет - то нажатие не отрабатывается.
а у меня открывается форма с пустыми значениями параметров, которые надо заполнить. или я тебя не поняла |
|||
60
Lex_Liven
25.08.12
✎
10:01
|
(59) я серьезно, напиши на мыло - вышлю пример. У меня все работает.
|
|||
61
Wobland
25.08.12
✎
10:04
|
не кнопка, а пункт меню
|
|||
62
ic-kat
25.08.12
✎
10:08
|
(61) и?
(60) написала |
|||
63
Lex_Liven
25.08.12
✎
10:15
|
(62) отправил. Смотри, там два поля типа Число и одно - Строка. Одни и те же две кнопки для любого из трех полей.
|
|||
64
Lex_Liven
25.08.12
✎
10:16
|
(62) да, кстати, обрати внимание на свойство "Формат" у числовых полей - там задано представление нуля.
|
|||
65
ic-kat
25.08.12
✎
10:22
|
(64) получается, что если там поле надписи с ГС, то если его выводить пустым, то нажиматься не будет?
|
|||
66
ic-kat
25.08.12
✎
10:26
|
нет, даже не так, просто не получится при ГС вывести поле пустым, да?
|
|||
67
Lex_Liven
25.08.12
✎
10:27
|
(65) Именно так и получается - нажимать становится не на что.
|
|||
68
ic-kat
25.08.12
✎
10:27
|
можно только 0 оставить
|
|||
69
ic-kat
25.08.12
✎
10:28
|
через формат как раз
|
|||
70
ic-kat
25.08.12
✎
10:28
|
Wobland, ау, ты мне не объяснишь, чего с пунктом меню делать дальше? хочу перебрать все варианты.
|
|||
71
ic-kat
25.08.12
✎
10:30
|
(67)ага, а когда прочерк стоит как представление нуля, то как раз пустое поле выводится
|
|||
72
ic-kat
25.08.12
✎
10:33
|
(71) но чтобы отработалось нужно будет попасть именно в то место, где предположительно стоит этот прочерк ((
|
|||
73
Lex_Liven
25.08.12
✎
10:48
|
(72) там можно представление 0 написать вручную в виде "--------------"
|
|||
74
ic-kat
25.08.12
✎
10:56
|
(73) как-то немного коряво, по-моему
но, спасибо за помощь |
|||
75
Wobland
25.08.12
✎
10:59
|
(70) автор идеи - PR, а я детально не представляю на УФ - общения с ними маловато. иллюстрирую на обычных:
http://screencast.com/t/iWcUlohfcn8r http://screencast.com/t/4jcRVLLKbd0 |
|||
76
Lex_Liven
25.08.12
✎
10:59
|
Кажется, есть способ найти элемент формы по его имени, зафиксированному в переменной, но я, честно говоря, не хочу сейчас искать его.
Фотку это все не отменяет. Кстати, для дописывания в число очередной введенной цифры простой алгоритм знаешь? Число = Число*10+Цифра; |
|||
77
Wobland
25.08.12
✎
11:04
|
(76) ЭлементыФормы["ПолеВвода1"]
|
|||
78
ic-kat
25.08.12
✎
11:06
|
(75) не уверена, что три ряда кнопок на панель засунуть в уф можно
|
|||
79
Wobland
25.08.12
✎
11:14
|
(78) пробовать за тебя добрый дядя будет?
http://screencast.com/t/HDTsfaNK |
|||
80
ic-kat
25.08.12
✎
11:26
|
(79)ты вроде там командную панель воткнул, а тут просто группу кнопок.
по последней картинке не поняла, что нам это дает. |
|||
81
Wobland
25.08.12
✎
11:38
|
(80) это нам даёт желаемый ТекущийЭлемент в команде по одному клику
|
|||
82
shpioleg
25.08.12
✎
11:43
|
А если на каждое нужное поле подвесить обработчик ПриНачалеВыбора, а АвтоВыборНезаполненного выставить в Да ?
Например, &НаКлиенте Перем ПредыдущийЭлемент; &НаКлиенте Процедура Фокусировать(Команда) Сообщить (ПредыдущийЭлемент.Имя); КонецПроцедуры &НаКлиенте Процедура РеквизитЧислоНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) ПредыдущийЭлемент = Элемент; СтандартнаяОбработка = Ложь; КонецПроцедуры &НаКлиенте Процедура РеквизитСтрокаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) ПредыдущийЭлемент = Элемент; СтандартнаяОбработка = Ложь; КонецПроцедуры |
|||
83
Юрий Лазаренко
25.08.12
✎
11:52
|
Повесить на форму обработчик ожидания, в котором запоминать последнее активное поле, а при нажатии кнопки писать в это поле значение, уже предлагали?
|
|||
84
Wobland
25.08.12
✎
11:54
|
(83) 0.1 секунды.. не очень мало, но как-то некрасиво
|
|||
85
Юрий Лазаренко
25.08.12
✎
11:55
|
(84) Зато дешево, удобно и практично (с)
|
|||
86
shpioleg
25.08.12
✎
11:59
|
Еще можно попробовать к полям добавить кнопку (КнопкаСпискаВыбора/КнопкаОчистки/КнопкаОткрытия) и в обработчике нажатия запоминать элемент
&НаКлиенте Процедура РеквизитСтрокаНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) ПредыдущийЭлемент = Элемент; СтандартнаяОбработка = Ложь; КонецПроцедуры А вообще, как то странно, что для строк таблиц есть события при активизации, а для простых элементов нет. |
|||
87
ic-kat
25.08.12
✎
12:16
|
в общем, время поджимает, просто воткнула кнопки вместо полей ввода,
по нажатию на них в реквизит записывается, какое поле активно и в него забивается значение. спасибо всем за идеи и желание помочь. фотку вечером выложу) |
|||
88
Wobland
25.08.12
✎
12:17
|
(87) все вы обещать горазды
|
|||
89
Lex_Liven
25.08.12
✎
12:18
|
(87) есть подозрение, что 46 и три года тем назад было то же самое :)
|
|||
90
Lex_Liven
25.08.12
✎
12:18
|
+(89) 46 тем и три года назад***
|
|||
91
ic-kat
25.08.12
✎
19:28
|
(88) ну что ж ты всех под одну гребенку-то...
|
|||
92
mistеr
25.08.12
✎
19:39
|
(10) А калькулятор в каждом поле задачи не решает?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |