Sunday, 23 March 2014

RunBase batch for Dialog in ax 2009

class Runbase_Example extends RunBase
{
     TransDate fromDate,toDate;
     CustAccount custAccount;
     DialogField dlgFromDate,dlgToDate,custDldField;
     #define.CurrentVersion(1)
     #localmacro.CurrentList
     fromDate,toDate
     #endmacro
}
protected Object dialog()
{
    DialogRunbase dialog;
    ;
    dialog = super();
    dialog = super();
    custDldField = dialog.addFieldValue(typeid(CustAccount),CustAccount);
    dlgFromDate = dialog.addFieldValue(typeid(TransDate),fromDate);
    dlgToDate = dialog.addFieldValue(typeid(TransDate),toDate);
    // custDldField = dialog.addFieldValue(extendedTypeStr(CustAccount),custAccount);
    // dlgFromDate = dialog.addFieldValue(extendedTypeStr(TransDate),fromDate);
    // dlgToDate = dialog.addFieldValue(extendedTypeStr(TransDate),toDate);
    return dialog;
}
public boolean getFromDialog()
{
    boolean ret;
    ret = super();
    custAccount = custDldField.value();
    fromDate = dlgFromDate.value();
    toDate = dlgToDate.value();
    return ret;
}
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 static void main(Args args)
{
    Runbase_Example runb = new Runbase_Example();
    ;
    if(runb.prompt())
    {
        runb.run();
    }
}
public void run()
{
;
    info(custAccount);
}

No comments:

Post a Comment