|
v7: Отследить переход на конкретный реквизит в форме справочника | ☑ | ||
---|---|---|---|---|
0
ЯнСмит
01.09.23
✎
18:53
|
Штатно отловить начало редактирования реквизита похоже никак, помнится вроде в Formex'е была подобная возможность, но что-то никак не найду ... подскажите?
|
|||
1
Guk
01.09.23
✎
19:37
|
(0) текст на форме, в процедуре текста проверяй текущий элемент формы...
|
|||
2
Guk
01.09.23
✎
19:41
|
+(1) только не в процедуре, а в функции...
|
|||
3
ЯнСмит
01.09.23
✎
19:56
|
Через Форма.АктивныйЭлемент()?... пробовал не работает ((
|
|||
4
Guk
01.09.23
✎
20:11
|
вот так работает...
Функция ТекЭлемент() Сообщить(Форма.АктивныйЭлемент()); КонецФункции Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФлагСтандОбр) к=1; КонецПроцедуры ТекЭлемент() - формула на закладке Дополнительно текстового элемента диалога на форме... |
|||
5
ЯнСмит
01.09.23
✎
21:00
|
Ваня спасибо, работает, но вот только по завершению редактирования реквизита, а вот мне вперлось при начале ))
|
|||
6
Guk
01.09.23
✎
21:10
|
странно. у меня именно в при начале работает...
|
|||
7
ЯнСмит
02.09.23
✎
13:02
|
если у тебя задействована ПриНачалеВыбораЗначения, то похоже реквизит сложный (список, перечисление, или справочник), у меня же просто текстовое поле ...
|
|||
8
Duke1C
06.09.23
✎
17:46
|
(7) Для чего нужно? Так то и "простому текстовому реквизиту" можно кнопку для выбора навесить, чтоб штатная ПриНачалеВыбораЗначения сработала
|
|||
9
HawkEye
06.09.23
✎
17:48
|
(0) зачем?
|
|||
10
Злопчинский
06.09.23
✎
21:00
|
(7) я бы порекомендовал присмотреться к (1)
|
|||
11
ЯнСмит
06.09.23
✎
21:46
|
(8) (9) Это нужно для того чтобы при позиционировании на поле текстового реквизита оно автоматически заполнялось определенной частью другого, уже заполненного реквизита, то бишь типа префикса, причем без потери фокуса, ну а дальше уже юзер добавляет в конец заполненного некие свои символы
(10) а я бы к (3) =)) |
|||
12
Злопчинский
07.09.23
✎
10:50
|
(11) (3) есть подмножество (1)
|
|||
13
Злопчинский
07.09.23
✎
10:51
|
(11) ну так После заполнения другого реквизита заполняй как тебе надо твой реквизит, проблема в чем?
|
|||
14
ЯнСмит
07.09.23
✎
15:17
|
(13) проблема в том, что эти действия разнесены во времени, требуемый реквизит заполняется только при определенных условиях, как правило гораздо позже "родительского"
|
|||
15
Duke1C
07.09.23
✎
17:20
|
(14) Ну оставь для пользователя только "нужный ему кусок" для заполнения. Т.е. на форме отдельный реквизит, пользователь в него пишет что хочет, а после этого в свой "требуемый реквизит" пиши с нужным префиксом.
|
|||
16
HawkEye
07.09.23
✎
20:53
|
(11) поле сделай недоступным, кнопку поставь около поля, открывай по ней ввестистроку и заполняй как хочешь....
|
|||
17
ЯнСмит
07.09.23
✎
21:40
|
Да понятно, что альтернативных вариантов куча, вопрос то был в другом ...
|
|||
18
Злопчинский
07.09.23
✎
23:50
|
(17) не надо долюиться в бетонную стену. ее можно обойти
|
|||
19
Злопчинский
07.09.23
✎
23:52
|
(14) да и похрен. родительскиц реквизит отработал - заполни дочерний. стали известны дополнительные какие-то условия - ДОзаполни или (перезаполни) дочерний. Работай по событию окончания редактирования "предыдущих" реквизитов
|
|||
20
Salimbek
08.09.23
✎
08:41
|
(17) Там несколько вопросов решать придется. Надо ли оно вам?
1) Отлавливать переход на данное поле: Формэксом, например, отлавливать мышь по координатам. И отлавливать переход по кнопке Tab с предыдущего Элемента формы и т.д. 2) Когда вы подставите текст в это поле, и активируете его - этот текст автоматом выделится и Пользователь, начав вводить новые символы сотрет ваше заполнение, так что ему надо будет сначала нажимать кнопку End или ->, или вам через Формэкс отправлять нажатие клавиши. Я бы сделал через ActivX-элемент, в котором и события можно ловить и свойства можно как угодно редактировать. (19) Согласен, этот подход более правильный. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |