2016-11-23 13 views
0

Мне нужно добавить поле ProductName, которое можно фильтровать в поле ProductLookup в форме retailPeriodicDiscount. Он сильно связан с EcoResProduct, и я не могу использовать любое другое поле поиска или метод.Название фильтра фильтра в RetailProductDiscount Form productLookup ax 2012

Итак, мне нужно добавить поле имени продукта в метод productLookup. Любые предложения, как это сделать?

ответ

0

Для названия продукта вы должны добавить поле Name таблицы EcoResProductTranslation. Добавить таблицу в виде объединенного источника данных в запрос и отфильтровать его на системном языке.

sysTableLookup.addLookupfield(fieldNum(EcoResProduct, DisplayProductNumber)); 
sysTableLookup.addLookupfield(fieldNum(EcoResProduct, SearchName)); 
sysTableLookup.addLookupfield(fieldNum(EcoResProduct, ProductType)); 
sysTableLookup.addLookupfield(fieldNum(EcoResProductTranslation, Name)); 

if (_groupMember.Category) 
{ 
    query = RetailGroupMemberLineQueryProvider::containedProductsQuery(_groupMember.Category, true /*includesubcategories*/, _dataAreaId); 
} 
else 
{ 
    query = RetailGroupMemberLineQueryProvider::containedProductsQuery(_groupMember.Category, true /*includesubcategories*/, _dataAreaId); 
} 

// add datasources and join 
qbdsProduct = query.dataSourceTable(tableNum(EcoResProduct)); 
qbdsProductTranslation = qbdsProduct.addDatasource(tableNum(EcoResProductTranslation)); 
qbdsProduct.relations(true); 
// range for system language 
qbdsTranslation.addRange(fieldNum(EcoResProductTranslation, LanguageId)).value(SystemParameters::getSystemLanguageId()); 

sysTableLookup.parmQuery(query); 
+0

Спасибо, я попробовал это, но он отображает только один продукт и не показывает имя продукта, но имя поиска, и я не понимаю, почему. – Axer