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.