Показать сообщение отдельно
Старый 11.06.2015, 14:44   #1  
syl is offline
syl
Участник
Аватар для syl
 
236 / 21 (1) +++
Регистрация: 10.06.2015
Адрес: Киев
Получение данных с диалога
Создал такой диалог:

X++:
class DialogCommRate extends RunBase
{
    DialogField             dialogField;
    DialogField             dialogRate;
    DialogButton            dialogButton;
    TradeCurencyConversion  tcc;
    BankGroupId             bgi;

    #define.CurrentVersion(1)
    #localmacro.CurrentList
        tcc,
        bgi
    #endmacro
}

public Object dialog()
{
    DialogRunbase      dlg;
    ;
    dlg = super(dlg);
    dlg.caption("@SYS54755");
    dialogField = dlg.addField(typeid(TradeCurencyConversion));
    dialogRate = dlg.addFieldValue(typeid(BankGroupId), bgi, "Коммерческий курс", "Коммерческий курс");
    dialogRate.visible(false);
    return dlg;
}

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

protected boolean fld1_1_selectionChange()
{
    ;
    dialogRate.visible(dialogField.value() == 2);
    dialogRate.value(bgi);
    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;
}

public boolean getFromDialog()
{
;
    tcc = dialogField.value();
    bgi = dialogRate.value();

    return true;
}

X++:
static void myJob(Args _args)
{
    DialogCommRate d = new DialogCommRate();
    d.prompt();
    //тут ему надо задать начальное значение и получить обратно
}
Подскажите как получить из него значения dialogField и dialogRate после нажатия кнопки ОК?

Так же у меня не выходит передать ему начальное значение dialogRate, создавал метод parm но он не работает.

Последний раз редактировалось syl; 11.06.2015 в 14:47.