Лиса-а-а,
Во-первых, почему вы делаете joinMode(JoinMode::ExistsJoin), если в SQL запросе, который вы хотите получить, везде inner join?
Во-вторых, relations(true) автоматически загружает связи между таблицами из AOT. Соответственно, все те связи, что вы в явном виде определили заранее перед этим через addLink(), будут проигнорированы.
В-третьих, в addLink() первый параметр - fieldId поля из таблицы верхнего уровня, а второй - из таблицы текущего уровня. То есть, в вашем случае должно быть так:
X++:
dataSourceJourTest.addLink(fieldnum(VendInvoiceJour, PurchId), fieldnum(VendInvoiceTrans, PurchId));
В-четвёртых, не игнорируйте Developer Help (тот, который можно открыть из клиента AX). Его легко можно прочитать за день, и найти ответы на большинство интересующих вас вопросов.