Господа!
Ну снизойдите до прокаженного Аксаптой 2.5!

Пересказываю свою проблему другими словами.
Есть форма InventJournalTable. В её datasource у нас 3 таблицы:
- InventJournalTable;
- RContractTable;
- CustTable.
Далее у нас сделано так.
В методе таблицы InventJournalTable объявляется первый datasource и его параметры (Dynalink и Range):
qb = inventJournalTable_ds.query().dataSourceNo(1);
В методе таблицы RContractTable объявляется второй datasource:
qb = inventJournalTable_ds.query().dataSourceNo(2);
InventJournalTable_ds.query().dataSourceNo(2).joinMode(JoinMode::OUTERJOIN);
И, наконец, в методе таблицы CustTable объявляется третий datasource:
qb = inventJournalTable_ds.query().dataSourceNo(3);
InventJournalTable_ds.query().dataSourceNo(3).joinMode(JoinMode::OUTERJOIN);
Когда приходит пора исполнить метод executeQuery таблицы InventJournalTable у меня собирается такая строка:
SELECT * FROM InventJournalTable WHERE ((Posted = Нет)) AND ((JournalType = Спецификация)) OUTER JOIN * FROM RContractTable WHERE InventJournalTable.ExternalReferences[4]=RContractTable.RContractAccount OUTER JOIN * FROM CustTable WHERE InventJournalTable.ExternalReferences[1]=CustTable.AccountNum
Все пушисто и красиво, но как только эта строка отправляеться в парсер AOS'а, последний тут же возвращает ошибку:
"Невозможно выбрать запись в таблице 'Таблица клиентов' ('CustTable')
Использован оператор объединения таблиц join, но выражение where не содержит связи между таблицами."
Согласно
2 и более OUTER JOIN к одному паренту и
Данные в Grid из таблиц, связанных по Outer Join
это промах мелкомягких, но вроде как есть обходной маневр построения таких datasourc'ов через query. В примерах, выложенных по ссылкам предлагается связывание по RecID, но для этих таблиц такой прием не проходит.
Как можно связать эти таблицы чтобы запрос корректно отработал под MS SQL?