InventColor tablosuna yazılan metot
client static void lookupColorIdGroupBy(FormStringControl ctrl, str _filterStr ) { SysTableLookup sysTableLookup; Query query; QueryBuildDataSource queryBuildDataSource; QueryBuildRange queryBuildRange; ; sysTableLookup = SysTableLookup::newParameters(tablenum(InventColor), ctrl); sysTableLookup.addLookupfield(fieldnum(InventColor, InventColorId)); sysTableLookup.addLookupfield(fieldnum(InventColor, Name)); query = new Query(); queryBuildDataSource = query.addDataSource(tablenum(InventColor)); queryBuildDataSource.orderMode(OrderMode::GroupBy); queryBuildDataSource.addGroupByField(fieldnum(InventColor, InventColorId)); queryBuildDataSource.addGroupByField(fieldnum(InventColor, Name)); if(_filterStr) { QueryBuildRange = queryBuildDataSource.addRange(fieldnum(InventColor, InventColorId)); queryBuildRange.value(_filterStr); } sysTableLookup.parmUseLookupValue(false); // aynı satırın tekrarlamaması için önemli sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); }
Kullanmak istediğiniz formun filed’ına yazacağınız kod
public void lookup(FormControl _formControl, str _filterStr) { ; InventColor::lookupColorIdGroupBy(_formControl, _filterStr); }