19.09.2007, 12:51 | #1 |
Участник
|
Расширение запроса на форме InventOnHand
Нам понадобилось ставить фильтр по свойствам номенклатуры на форму InventOnHand.
Нахожу, что в executequery вызывается метод для модификации запроса. переписываю executequery: X++: void executeQuery() { // > добавленный мной кусок --> QueryBuildDataSource BR; Query q; str s=''; QueryBuildRange findOrAddRange(int fNum){ QueryBuildRange ret; ret=BR.findRange(fNum); if(!ret) ret=BR.addRange(fNum); return ret; } // > добавленный мной кусок <-- ; element.inventDimSetupObject().modifyQuery(inventSum_DS,inventDim_DS); // > добавленный мной кусок --> q=InventSum_ds.query(); BR=q.dataSourceNo(1).addDataSource(tablenum(InventTable)); BR.relations(true); fItemGroupId =findOrAddRange(fieldnum(InventTable,ItemGroupId)); fModelGroupId =findOrAddRange(fieldnum(InventTable,ModelGroupId)); fDimGroupId =findOrAddRange(fieldnum(InventTable,DimGroupId)); fItemBuyerGroupId=findOrAddRange(fieldnum(InventTable,ItemBuyerGroupId)); InventSum_ds.query(q); // пробовал InventSum_ds.queryrun(new sysqueryrun(q)); - тот же эффект info(inventsum_ds.query().dataSourceNo(1).toString()); fItemGroupId.value(ItemGroupId.valueStr()); fModelGroupId.value(ModelGroupId.valueStr()); fDimGroupId.value(DimGroupId.valueStr()); fItemBuyerGroupId.value(ItemBuyerGroupId.valueStr()); // > добавленный мной кусок <-- super(); соответствующие XXXXXX - элементы управления для выбора значений фильтра. фильтрации не происходит, и в info данного метода выводится запрос без прикрепленого InventTable. Кто-нидь подскажет, что не так делаем? Последний раз редактировалось gefr; 19.09.2007 в 13:03. |
|
|
|