Attenzione Alle Join Sull'end Point Rest

Quando si creano query complesse con join innestati...

...sull'end point REST della Platform del CRM, si può correre qualche rischio quando poi si va a leggere i relativi risultati, come mi è capitato spesso di vedere in questi ultimi mesi.

Infatti REST, essendo fortemente tipizzato, crea nel flusso di ritorno ATOM o JSON, non solo la collezione dei record ritornati, ma anche, per ciascuno di essi, le "sottocollezioni" degli oggetti relazionati secondo la join.

Quindi per andare a recuperare un campo di un record correlato bisogna anteporre al nome del campo il nome della collezione che in REST prende il nome della relazione specificata nel CRM.

Un esempio:

Query:

"New_ContrattoSet(guid'XXX')?$select=new_accountid,New_Canoneaggiuntivo,new_modalitdipagamentoid,new_prodottoid,new_referenteid,New_ScontoCommissione,New_Scontocommissionelordo,New_Tipocontratto,New_Valorebuonorichiesto,new_new_prodotto_new_contratto/new_lineaprodottoid&$expand=new_new_prodotto_new_contratto

Per recuperare il campo new_lineadiprodottoid dichiarato verso la fine, ponendo che l'oggetto JSON ritornato stia nella variabile data bisogna scrivere:

data.new_new_prodotto_new_contratto.new_lineadiprodottoid

Dettagli...