Bonjour à tous,

Nous interfaçons actuellement Salesforce avec l'ERP M3 (Infor) en utilisant Inforce.

Nous recevons les factures sous la forme de messages entrants en XML, et allons chercher l'information, champ par champ pour le mapping via un chemin :

Ex pour la due date de la facture:

<Invoice>
<InvoiceHeader>
<PaymentTerm>
<Term>
<ID>400</ID>
<DueDateTime>2014-12-01T00:00:00.000Z</DueDateTime>
</Term>
</PaymentTerm>

Nom : 2014-10-16 12_21_56-Bod Field Mapping_ BFM-0000000202 ~ salesforce.com - Enterprise Edition.png
Affichages : 102
Taille : 16,2 Ko


Cependant, pour les lignes de facture j'ai un soucis pour récupérer les différentes remises car ces dernières ont des balises XML avec le même nom.

Voici la partie du message XML reçu dans Salesforce :

<InvoiceAllowance>
<ID>Allowance 1</ID>
<Amount currencyID="EUR">500.00</Amount>
<BaseAmount currencyID="EUR">500.00</BaseAmount>

</InvoiceAllowance>
<InvoiceAllowance>
<ID>Allowance 2</ID>
<Amount currencyID="EUR">50.00</Amount>
<BaseAmount currencyID="EUR">50.00</BaseAmount>

</InvoiceAllowance>


Comment puis je différentier les deux Allowance?

Pour la première j'utilise le BOD X path suivant.
Il prend la première allowance mais je ne vois pas comment lui dire de sélectionner Allowance 1, puis faire un second chemin pour Allowance 2 :

/InvoiceAllowance/Amount/text()


Nom : 2014-10-16 12_09_26-Bod Field Mapping_.png
Affichages : 105
Taille : 16,0 Ko



Je pense que l'idéal serait d'avoir l'information sous la forme ci dessous mais je n'ai pas la main sur cette partie :



<InvoiceAllowance>
<Allowance1>
<Amount currencyID="EUR">500.00</Amount>
<BaseAmount currencyID="EUR">500.00</BaseAmount>
</Allowance1>

<Allowance2>
<Amount currencyID="EUR">50.00</Amount>
<BaseAmount currencyID="EUR">50.00</BaseAmount>
</Allowance2>

</InvoiceAllowance>


Qu'en pensez vous?