Skip links

Dialogdan alınan tarihleri range olarak query’ye eklemek

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

Join the Discussion