Skip links

ExistsJoin ve NotExistJoin ile Lookup yazmak

ExistsJoin ve NotExistJoin ile Lookup yazmak

Merhaba
Şöyle bir istek olsun.  Seçilecek vergi numarası ne müşteri nede satıcı tablosunda kullanılmış olsun. Bu gibi bir istekte notexistjoin kullanabiliriz. Eğer müşteride veya satıcıda  kullanılanlar listelensin denseydi existjoin kullanacaktık.
client static void lookupETGVATNum (FormStringControl ctrl, Common common)
{
SysTableLookup          sysTableLookup = SysTableLookup::newParameters(tablenum(TaxVATNumTable), ctrl);
Query                   query = new Query();
QueryBuildDataSource    queryBuildDataSource = query.addDataSource(tablenum(TaxVATNumTable));
QueryBuildRange         queryBuildRange = queryBuildDataSource.addRange(fieldnum(TaxVATNumTable, CountryRegionId));
QueryBuildDataSource    qdbs;
;
// CustTable müşteri tablosunda olmayanları getiriyoruz
qdbs  = queryBuildDataSource.addDataSource(tablenum(CustTable));
qdbs.addLink(fieldnum(TaxVATNumTable , vatNum ),fieldnum(CustTable , vatNum ));
qdbs.joinMode(joinmode::NoExistsJoin);

// VendTable satıcı tablosunda olmayanları getiriyoruz
qdbs  = queryBuildDataSource.addDataSource(tablenum(VendTable));
qdbs.addLink(fieldnum(TaxVATNumTable , vatNum ),fieldnum(vendTable , vatNum ));
qdbs.joinMode(joinmode::NoExistsJoin);
sysTableLookup.addLookupfield(fieldnum(TaxVATNumTable, vatNum));
sysTableLookup.addLookupfield(fieldnum(TaxVATNumTable, Name));
sysTableLookup.addLookupfield(fieldnum(TaxVATNumTable, CountryRegionId));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
Selamlar.

Join the Discussion