ORKESTRA

ORKESTRA

  orkestra orkestra.com.tr
  Sohbet   İndirme Merkezi

"if parameter" İle Koşula Bağlı Filtre Ekleme

select 
p.reference as CARI_REF
,p.code as CARI_KOD
,p.description as CARI_ACIKLAMA
,plasiyer.reference as PLASIYER_REF
,plasiyer.fullName as PLASIYER_AD_SOYAD
,mektup_il.reference as SEHIR_REF
,mektup_il.description as SEHIR_ADI
,sum(v.valueSign * v.netTotal) as SATIS_TUTARI
,(
select sum(xl.credit) from FinVoucherLine xl left join xl.voucher xv
where xl.accountParty = p and xv.status = 4 and xl.lineType in (1,7,9) and xv.voucherTime >= :basla and xv.voucherTime <= :bitis
) as TAHSILAT_TUTARI

from InvoiceVoucherSales v
inner join v.period per
left join v.party p
left join p.salesman plasiyer
left join p.contactInfo ci
left join ci.primaryAddress mektup
left join mektup.city mektup_il

where per.entity.reference = :entity_reference
and v.status = 4
and v.voucherTime >= :basla
and v.voucherTime <= :bitis

group by p.reference, p.code, p.description, plasiyer.reference, plasiyer.fullName, mektup_il.reference, mektup_il.description
order by p.description

Bu kod belirli tarihler arasında Cari Hesapların satışlarını ve tahsilatlarını göstermektedir.

Parametre hazırlama betiğinde de aşağıdaki kodlar yazılır;

if(getParameter("plasiyer") != null){
    filters.addFilter("party.salesman.reference","=",getParameter("plasiyer"));
}
if(getParameter("sehir") != null){
    filters.addFilter("party.contactInfo.primaryAddress.city.reference","=",getParameter("sehir"));
}
setParameter("basla",DateUtil.createDate(1,1,2000));
setParameter("bitis",DateUtil.createDate(31,12,2500));

Yukarıdaki kodu Veri Derleme Sorgusu içerisinde "Parametre Hazırlama Betiği içerisine yazıldığında Rapordan bir parametre geçildiğinde o parametrenin ilgili sorguda uygulanması sağlanır.

Rapor Olayları - Veri Kaynağını Düzenle

if($P{basla} != null){     DataSource.setParameter("basla",DateUtil.beginDate($P{basla}));
}
if($P{bitis} != null){
    DataSource.setParameter("bitis",DateUtil.endDate($P{bitis}));
}
if($P{sehir} > 0){
    DataSource.setParameter("sehir",$P{sehir});
}
if($P{plasiyer} > 0){
    DataSource.setParameter("plasiyer",$P{plasiyer});
}