Показать сообщение отдельно
Старый 13.10.2015, 15:15   #3  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
На всякий случай замечу, что простые условия лучше формировать через методы класса SysQuery. В данном случае диапазон дат лучше задать через sysQuery::range()

X++:
qbds.addRange(fieldNum(LedgerTrans, TransDate)).value(sysQuery::range(startDate, endDate))

По поводу собственно вопроса, Axapta крайне отрицательно относится к запросам, у которых таблицы-источник не вытянуты в одну "цепочку". Т.е. как только появляются две таблицы присоединенные к одной таблице-"родителю", так вероятность проблем резко повышается.

Как показал Cardagant, в большинстве случаев проблему можно решить явным образом указав для каждого DataSource настройку

X++:
qbds.fetchMode(QueryFetchMode::One2One);

Однако, по возможности, лучше избегать запросов с несколькими таблицами, связанными с одной таблицей-родителем.

Например, в данном случае можно перестроить запрос, поставив в качестве "Головной" таблицы LedgerTrans. Т.е. "вытянув" запрос в одну цепочку

LedgerTrans - join - FactureJour_RU - notexists - PurchBookVATProcessLogTrans_RU
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: Cardagant (1).