07.04.2007, 20:38 | #1 |
Участник
|
Как в коде получить ID или хотя бы Name, поля таблицы Rec переменной формы на которой в текущий момент находиться курсор (фокус).
Может у кого есть готовый алгоритм? Что бы было более понятнее мне надо: Передать в функцию ID таблицы и ID поля, на котором в текущий момент находиться курсор. ID таблицы непроблема а ID поля??? |
|
08.04.2007, 14:11 | #2 |
Участник
|
Если правильно понял вопрос, то номер поля получают так
Код: integer := rec.FIELDNO(Name); |
|
08.04.2007, 15:42 | #3 |
Участник
|
Цитата:
Мне надо: 1. Пользователь нажимает на карточной форме определенную кнопку 2. в OnPush обрабатывается данное событие, а именно в функцию передается две переменные ID таблицы и ID текущего поля в момент нажатия на котором находился курсор. Вот примерный алгоритм, как бы так в repeatе, узнать ID поля на котором курсор стоит??? Или надо контролы формы обрабатывать?? Код: RecRef.GETTABLE(Rec); TableID:= RecRef.NUMBER; Field.SETRANGE(TableNo, TableID); Field.FIND('-'); REPEAT UNTIL Field.NEXT = 0; |
|
08.04.2007, 16:21 | #4 |
Участник
|
Думаю, придется каждого контрола OnActivate обрабатывать....
И на этом тригере вручную прописывать VarIntegerFieldNo := 1; VarIntegerFieldNo := 2; .... и т.п. Гемор, конечно... Может кто лучше идею даст |
|
08.04.2007, 18:29 | #5 |
Участник
|
Цитата:
1. Нельзя узнать какому полю соответствует контрол формы 2. Нельзя узнать активен ли контрол или нет (это возможно только для формы) Поэтому придеться тупо в OnActivate все мутить. |
|
08.04.2007, 22:34 | #6 |
Участник
|
Самый простой способ повесить на OnActivate запись в глобальную переменную результат от rec.FIELDNO И будет всегда нужный номер поля
|
|
08.04.2007, 23:13 | #7 |
Участник
|
Цитата:
Цитата:
EVALUATE(FormID,DELSTR(CurrForm.OBJECTID(FALSE),1, 5));
RecRef.GETTABLE(Rec); TableID:= RecRef.NUMBER; FieldID:=FIELDNO("Sell-to Customer No."); |
|
09.04.2007, 08:31 | #8 |
Участник
|
А зачем вообще понадобилось знать на каком поле сейчас курсор(кроме того, что необходимо передавать в какую-то функцию)? Возможно существует другое решение?
|
|
09.04.2007, 11:08 | #9 |
Участник
|
|
|
09.04.2007, 12:37 | #10 |
Участник
|
Цитата:
Воспроизведение компьютерного голоса из C\AL На элементе стоиш F1 нажимаеш, а он тебе в динамик бормочет справку по элементу |
|