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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.07.2015, 16:38   #1  
syl is offline
syl
Участник
Аватар для syl
 
236 / 21 (1) +++
Регистрация: 10.06.2015
Адрес: Киев
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Вы ВНИМАТЕЛЬНО посмотрите на то, что написал Вам Craz в самом первом ответе. И сравните со своим кодом. Не замечаете отличий Намекаю Обратите внимание на первые строчи метода

Наводящий вопрос: Как Вы думаете, где происходит отработка штатного метода modify на объекте формы? Ну, грубо говоря, где выполняется super() метода модификации?
X++:
Object      control = dialog.formRun().controlCallingMethod();
boolean     ret = control.modified();
dialog не определен в методе, посему данный код подсвечивается ошибкой
Старый 14.07.2015, 18:14   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от syl Посмотреть сообщение
X++:
Object      control = dialog.formRun().controlCallingMethod();
boolean     ret = control.modified();
dialog не определен в методе, посему данный код подсвечивается ошибкой
X++:
class DialogHH extends RunBase
{
    DialogField             dlgFactureDate;
    DialogField             dlgFactuDocId;
    DialogField             dlgRegInERNN;

    DialogButton            dialogButton;

    FactureDate_RU           factureDate;
    FactuDocId          factureDocId;
    RegInERNN           regInERNN;

    // Ссылка на класс диалога должна быть определена в ClassDeclaration
    // для перекрытия методов modified объектов диалога
    DialogRunbase   dialog;

    #define.CurrentVersion(1)
    #localmacro.CurrentList
        factureDate,
        factureDocId,
        regInERNN
    #endmacro
}

public Object dialog(DialogRunbase _dialog, boolean _forceOnClient)
{
//    DialogRunbase      dialog;	// определен в ClassDeclaration
    ;
    dialog = super(_dialog)
    dlgFactureDate = dialog.addFieldValue(typeid(FactureDate_RU), factureDate);
    
    dialog.customFieldName_RU("dlgFactuDocId");
    dlgFactuDocId = dialog.addFieldValue(typeid(FactuDocId), factureDocId);

    dlgRegInERNN = dialog.addFieldValue(typeid(RegInERNN),regInERNN);
    dlgRegInERNN.allowEdit(false);
    return dialog;
}

public void dialogPostRun(DialogRunbase _dialog)
{
    ;
    Super(_dialog);
    _dialog.formRun().controlMethodOverload(true);
    _dialog.formRun().controlMethodOverloadObject(this);
}

protected boolean dlgFactuDocId_modified()
{
    FormControl control = dialog.formRun().controlCallingMethod();
    boolean     ret = control.modified();
    ;

    if (ret)
    {
         if ((dlgFactuDocId.value() == 'ПНЕ') || (dlgFactuDocId.value() == 'РКЕ'))
         {
             dlgRegInERNN.value(true);
         }
         else
         {
             dlgRegInERNN.value(false);
         }
    }

    return true;
}

public boolean getFromDialog()
{
;
    factureDate = dlgFactureDate.value();
    factureDocId = dlgFactuDocId.value();
    regInERNN = dlgRegInERNN.value();

    return true;
}

public container pack()
{
    return [#CurrentVersion,#CurrentList];
}

public boolean unpack(container packedClass)
{
    Version version     = runbase::getVersion(packedClass);

    switch (version)
    {
        case #CurrentVersion:
            [version,#CurrentList] = packedClass;
            break;
        default:
            return false;
    }

    return true;
}
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Два поля-lookup. Автоматическая установка значения Vasiliusis DAX: Программирование 20 12.02.2013 08:40
Имитация выбора значения поля на DS формы. bodeaux DAX: Программирование 8 04.12.2012 10:41
Получение значений из диалога Antant DAX: Программирование 10 05.06.2006 15:17
метод leave у поля диалога? braathe DAX: Программирование 5 26.01.2006 09:23
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16

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

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

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