Добрый день.
Ax 3.0 SP3, MS SQL 2005.
Имеется отчет с запросом из двух сгруппированных таблиц, соединенных по NotExistsJoin. Чтобы обойти компании, перекрываю fetch отчета:
X++:
public boolean fetch()
{
boolean ret;
;
while select departmentDataArea
where departmentDataArea.Department == department
{
changeCompany(departmentDataArea.Id)
{
if(this.queryRun())
{
this.queryRun.query().dataSourceTable(TableNum(SalesPricingCD)).
company(departmentDataArea.Id);
this.queryRun.query().dataSourceTable(TableNum(HistoryUpdateRetailPrice)).
company(departmentDataArea.Id);
}
ret = super();
if(!ret) return ret;
}
}
return ret;
}
Чтобы не повторялись prompt-ы, внесены соответствующие изменения в другие методы.
Есть следующая проблема: при переходе к очередной компании (например к AMP после AL), меняется company только у первой таблицы, а у второй всегда остается одинаковой (привожу запрос из журнала трассировки операторов SQL):
SELECT COUNT(A.RECID),A.APPROVEUSERID FROM SALESPRICINGCD A WHERE ((A.DATAAREAID='amp') AND (A.STATUS=1)) AND NOT EXISTS (SELECT 'x' FROM HISTORYUPDATERETAILPRICE B WHERE ((B.DATAAREAID='al') AND (A.INVENTSERIALID=B.INVENTSERIALID))) GROUP BY A.DATAAREAID,A.APPROVEUSERID ORDER BY A.DATAAREAID,A.APPROVEUSERID OPTION(FAST 11)
В чем моя ошибка?