18.03.2004, 14:42 | #1 |
Участник
|
Название родительской формы
На форме (форма1) у одного поля перекрыт метод, вызывающий метод таблицы, по которой построен DS этой формы).
Метод таблицы в свою очередь вызывает другую форму (форма2) через agrs(); Можно ли в форме2 получить название формы1, не передавая его в метод таблицы? |
|
18.03.2004, 15:34 | #2 |
Moderator
|
Если запись таблицы передается в форму2 через args.record(), то можно так попытаться:
PHP код:
__________________
Андрей. |
|
18.03.2004, 16:13 | #3 |
Administrator
|
А почему не просто вот так:
PHP код:
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
18.03.2004, 17:32 | #4 |
Moderator
|
2Maxim:
Для этого нужно в методе таблицы при формировании args проинициализировать этого args.caller(), а об этом речи не было. Если в этом методе написать PHP код:
__________________
Андрей. |
|
18.03.2004, 17:47 | #5 |
Administrator
|
OK. Понял. Согласен.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
21.03.2004, 19:06 | #6 |
Участник
|
Спасибо, за ответы.
Они действительно помогли. Но вот выявились какие проблемы: Эта формы вызывается из нескольких форм, а мне нужно сделать только определенные действия в ней при вызове только из определенной формы, вот для этого мне и понадобилось ее название. Так вот если этот вызов происходит из других форм, у которых нет передачи через args.record(), то вылезает ошибка о отсутствии record Я сделал проверку if(element.args().caller()) - эта ошибка ушла, но теперь если я открываю из Нужной формы, у которой нет ни одной записи, то написанное условие отрабатывает как false. Как мне быть, какое условие наложить? И я не совсем понял, предложенный вами вариант получает название DS или формы? Мне кажется что DS, поэтому и выявилась, наверное, вторая проблема ... |
|
22.03.2004, 13:15 | #7 |
Moderator
|
1. Ваши подозрения напрасны. В обоих случаях мы получаем название формы, как оно определено в АОТ.
2. Для того, чтобы получить название формы из args, нужно его проинициализировать в вызывающем форму методе. Как - решать вам. Использовать ли текущую запись или просто через args.caller(element). Само ничего не инициализируется и не передается(за исключением открытия формы через menuitem). По-моему, вам нужно получше изучить имеющийся код системы. Наверняка все уже придумано до вас. Попробуйте подстроить предполагаемое поведение системы под известные возможности реализации.
__________________
Андрей. |
|