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;
}





No comments: