Item id Lookup on search criteria in d365fo x++
Item id Lookup on search criteria in d365fo x++
Code:
public void overridenItemIDLookup(FormStringControl _formControl)
{
MCRFullTextIndexField MCRFullTextIndexField;
Query query;
QueryBuildDataSource qbds, qbds1;
QueryBuildRange queryBuildRange;
SysTableLookup sysTableLookup;
query = new Query();
container con = [DHSS_ProductType::PurchasableItem, DHSS_ProductType::Both];
sysTableLookup = SysTableLookup::newParameters(tableNum(MCRProductSearchView), _formControl);
sysTableLookup.addLookupField(fieldNum(MCRProductSearchView, DisplayProductNumber), true);
while
select MCRFullTextIndexField
where MCRFullTextIndexField.SOURCE == 'MCRProductSearchView'
{
sysTableLookup.addLookupField(fieldName2Id(tableName2Id(tableStr(MCRProductSearchView)), MCRFullTextIndexField.Field));
}
qbds = query.addDataSource(tableNum(MCRProductSearchView));
qbds1= qbds.addDataSource(tableNum(EcoResProduct));
qbds1.addLink(fieldNum(MCRProductSearchView, DisplayProductNumber), fieldNum(EcoResProduct, DisplayProductNumber));
qbds1.joinMode(JoinMode::InnerJoin);
queryBuildRange = qbds1.addRange(fieldNum(EcoResProduct, DHSS_ProductType));
queryBuildRange.value(con2Str(con));
queryBuildRange.status(RangeStatus::Hidden);
sysTableLookup.parmUseLookupValue(false);
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
Comments
Post a Comment