AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.02.2012, 09:54   #1  
andrewK is offline
andrewK
Участник
 
45 / 22 (1) +++
Регистрация: 03.11.2005
Мастер SysWizard
Добрый день.
Никто не знает, зачем в мастере SysWizard
метод
X++:
\Classes\SysWizard\prompt
изменяется название формы?
X++:
form.name(classId2Name(classidget(this)));
Комментирование данной строки влияет на что нибудь?
AX 4.0
Старый 22.02.2012, 10:30   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
там дальше в коде, переменная form используется при инициализации formRun, а точнее передается в args в параметр object
X++:
args.object(form);
    args.caller(this);
    args.name(this.formName());

    // <GEEU>
    args.name(this.formName()); // this is for support of RU address format in CreditCardWizard form
    // </GEEU>
    formRun = classfactory.formRunClass(args);
если залезть в метод formRunClass класса classfactory, то там как раз можно увидеть использование параметра object класса args
X++:
if (args.name())
    {
        formName = args.name();
    }
    else if (args.object())
    {
        formRun = SysDictClass::as(args.object(), classnum(FormRun));
        if (formRun)
        {
            formName = formRun.name();
        }
    }
т.е. получается на основе класса form, тут строится класс FormRun и уже из него берется параметр name(). Предположу, что это и будет тот самый name().
Но это конечно отыгрывает только тогда когда у args не заполнено свойство name(), а оно в нашем случае будет заполнено (см код выше, первый блок). Более того, оно почему то заполняется дважды

P.S. в общем почитайте код, поразбирайтесь в нем, подебажте и скорее всего все прояснится
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: andrewK (1).
Старый 22.02.2012, 12:16   #3  
andrewK is offline
andrewK
Участник
 
45 / 22 (1) +++
Регистрация: 03.11.2005
Спасибо.
Просто исходная проблема была в том, что я через args.caller() пытался узнать существование метода на форме мастера.
А получившееся название формы и название формы в AOT отличались (Одна используемая форма, несколько наследников мастера).

И в результате функция
X++:
\Classes\Global\formHasMethod
не срабатывала.

Пошел по другому пути...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
aEremenko: Мастер импорта Performance Point 2007 для AX Blog bot DAX Blogs 0 30.11.2007 14:40
Темы мастер-класса для разработчиков и администраторов Vadim Korepin DAX: Прочие вопросы 42 12.10.2007 11:42
Мастер отчетов: дизайн fuflexx DAX: Функционал 4 18.05.2006 16:38
Мастер настройки корпоративного портала выдаёт ошибку djoker DAX: Функционал 2 24.02.2005 05:32
Мастер шаблонов Excel падает когда вставляет в Excel поле, не основанное на EDT Ace of Database DAX: База знаний и проекты 5 25.10.2004 18:19
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:07.