views:

43

answers:

3

Hi. I have following situation: I need to join VendInvoiceJour.InvoiceAccount <- VendTable.AccountNum and take VendTable.Vendgroup. In all cases (queries,or even views) Dynamics ax joins tables VendInvoiceJour.OrderAccount<- VendTable.AccountNum not VendInvoiceJour.InvoiceAccount <- VendTable.AccountNum. I`m trying to use this kind of query:

 
    qBdSVendJour = element.query().dataSourceTable(tablenum(VendInvoiceJour));
    qBdSVendTbl = qBdSVendJour.addDataSource(tablenum(VendTable));
    qBdSVendTbl.relations(true);
    qBdSVendTbl.joinMode(JoinMOde::InnerJoin);
    qBdSVendTbl.fetchMode(QueryFetchMode::One2One);
    qBdSVendTbl.addLink(FieldNum(VendInvoiceJour,InvoiceAccount),FieldNum(VendTable,AccountNum));//(Dynamics ax automaticaly corrects InvoiceAccount to orderaccount in reports if trying this link in morphx)
A: 

qBdSVendJour.clearDynalink() will do the trick.

Jan B. Kjeldsen
Sorry. My culprit was qBdSVendTbl.relations(true); i had to remove this.
vukis
A: 

I believe the statement qBdSVendTbl.relations(true) will have AX evaluate the defined relations on the tables in question and use them regardless.

+1  A: 

If you remove the line:

  *qBdSVendTbl.relations(true);*

then you won't need to add:

  *BdSVendJour.clearDynalink();*

To be sure that the actual query is the expected print the conent of:

  *qBdSVendJour.toString();*
pturegano