Indiquer ram:RoleCode au maximum une fois

Erreur FX-SCH-A-001090 Factur-X

L'élément 'ram:RoleCode' ne peut apparaître qu'une fois au maximum.

Règle obligatoire : tant qu'elle n'est pas respectée, la facture est invalide et sera rejetée par les validateurs.
Ce qui ne va pas

L’élément ram:RoleCode apparaît plusieurs fois dans ram:ShipToTradeParty. Cet élément ne peut y figurer qu’une seule fois au maximum.

Ce que signifie la règle

ram:RoleCode contient une indication de rôle pour ram:ShipToTradeParty. La règle limite cet élément à une seule occurrence.

Veuillez indiquer le code de rôle du destinataire de la livraison une seule fois

Dans le destinataire de la livraison, ram:RoleCode apparaît plusieurs fois. Vous pouvez corriger l’erreur en limitant cet élément à une seule occurrence au maximum.

Que faire ?
  1. Repérez ram:ShipToTradeParty dans les informations de livraison de la ligne de facture.
  2. Supprimez les éléments ram:RoleCode en trop afin qu’il n’en reste qu’un au maximum.
  3. Générez à nouveau la facture et vérifiez-la une nouvelle fois.
À quoi cela ressemble
✗ Déclenche le message
<ram:ShipToTradeParty>
  <ram:RoleCode>A</ram:RoleCode>
  <ram:RoleCode>B</ram:RoleCode>
</ram:ShipToTradeParty>
✓ Correct
<ram:ShipToTradeParty>
  <ram:RoleCode>A</ram:RoleCode>
</ram:ShipToTradeParty>
Détails techniques

Le test compte les éléments ram:RoleCode directement contenus dans ram:ShipToTradeParty et est satisfait si un seul au maximum est présent.

Où la règle s'applique

La règle s’applique dans ram:ShipToTradeParty, dans les informations de livraison d’une ligne de facture.

Message d'origine du Schematron
Element 'ram:RoleCode' may occur at maximum 1 times.
Contexte (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ ram:SpecifiedLineTradeDelivery/ram:ShipToTradeParty
Expression de contrôle (assert/@test)
count(ram:RoleCode)<=1