Dialogdan alınan tarihleri range olarak query’ye eklemek

Merhaba

Rapor yaparken diyalog alanından aldığınız başlangıç ve bitiş tarihlerini nasıl query’e range olarak ekleneceğini anlatacağım .

Öncelikle  classdecleretaion da  değişkenlerimizi tanımlayalım.

      public class ReportRun extends ObjectRun
      {
         DialogField      dfStartDate;
         DialogField      dfEndDate;

         TransDate        startDate;
         TransDate        endDate;

      }

Daha sonra dialog metodunda şunları yazalım

public Object dialog(Object _dialog)
    {
         DialogRunBase       dialog;
       ;
         dialog = _dialog;
        dfStartDate = dialog.addField(typeid(TransDate),”Başlangıç Tarihi”);
        dfEndDate = dialog.addField(typeid(TransDate),”Bitiş Tarihi”);
        return dialog;
    }

Şimdi de dialogdaki değerleri değişkenlerimize atayalım.

public boolean getFromDialog()
      {
          ;
          startDate = dfStartDate.value();
          endDate   = dfEndDate.value();
          return true;
      }

eğer değerleri kontrol etmek isterseniz şunu yapabilirsiniz

if(!endDate)
            endDate = DateTimeUtil::date(datetimeutil::maxValue()); // Maksimum değeri atar

 if(!startDate)
            startDate =DateTimeUtil::date(datetimeutil::minValue()); //  Minimum değeri atar

Son olarak fatch metoduna nasıl range olarak ekleyebiliriz onu görelim. örnek olarak purchline tablosunu seçtim.

      public boolean fetch()
      {
          boolean ret;
          Query                                      q;
          QueryRun                              qRun;
          QuerybuildDataSource    qbd;
          QuerybuildRange               qbr;
             PurchLine           tmpPurchLine;
          ;
             q         = element.query();
          qbd    = element.query().dataSourceNo(1);
          qbr    = qbd.addRange(fieldnum(PurchLine,CreatedDate));// kriteri vereceğim tablonun tarih alanı
          qbr.value(sysquery::range(startDate,endDate));
            qRun = new QueryRun(q);
            while(qRun.next())
          {

             tmpPurchLine = qrun.get(tablenum(PurchLine));

            // buraya diğer işlemlerinizi yazabilirsiniz

             element.send(tmpPurchLine);

        }

 
Comment are closed.