Showing posts with label Report filter on dialog basis in AX. Show all posts
Showing posts with label Report filter on dialog basis in AX. Show all posts

Jan 22, 2012

How to create dialog and how to filter on dialog values of the report


   public class ReportRun extends ObjectRun
   {
   TransDate                           startDate , endDate;
   DialogField                         dialogfield1,dialogfield2;
   MyTable                             myTable;

    #define.CurrentVersion(2)
    #localMacro.CurrentList
        startDate,
        endDate
    #endMacro 
   }

   public Object dialog(Object _dialog)
  {
    DialogRunbase dialog = _dialog;
    ;
    dialog.caption('Dialog for date details');
    dialog.addGroup('Period :');
    dialogfield1 = dialog.addField(typeid(Transdate),'From date');
    dialogfield1.value(startDate);
    dialogfield2 = dialog.addField(typeid(Transdate),'To date');
    dialogfield2.value(endDate);
    return dialog;
  }


boolean getFromDialog()
{
    ;
    startDate   =   dialogfield1.value();
    endDate     =   dialogfield2.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;
}


public boolean fetch()
{
    boolean ret;
    ;
    ret      = super();
   queryRun = new QueryRun(this);
   //queryRun.query().clearBaseQueries();
   queryRun.query().addDataSource(tablenum( myTable )).addRange(
                    fieldnum( myTable ,mydateField)).value(queryRange(startDate,endDate));
   return  true;
}