RoleCode au maximum une fois

Erreur FX-SCH-A-001154 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

Le même élément ram:ManufacturerTradeParty contient plusieurs éléments ram:RoleCode.

Ce que signifie la règle

Un seul élément ram:RoleCode au maximum est autorisé dans cet élément pour le fabricant. Plusieurs occurrences répètent ce champ de rôle.

Veuillez indiquer `ram:RoleCode` une seule fois au maximum pour le fabricant

Plusieurs éléments ram:RoleCode sont présents pour le fabricant du produit. Supprimez l’occurrence en trop pour que l’élément n’apparaisse qu’une seule fois.

Que faire ?
  1. Repérez ram:ManufacturerTradeParty pour le produit de la ligne de facture.
  2. Vérifiez ses éléments ram:RoleCode et n’en conservez pas plus d’un.
  3. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:ManufacturerTradeParty>
  <ram:RoleCode>A</ram:RoleCode>
  <ram:RoleCode>B</ram:RoleCode>
</ram:ManufacturerTradeParty>
✓ Correct
<ram:ManufacturerTradeParty>
  <ram:RoleCode>A</ram:RoleCode>
</ram:ManufacturerTradeParty>
Détails techniques

Le test compte les éléments ram:RoleCode directs dans ram:ManufacturerTradeParty et en autorise un au maximum.

Où la règle s'applique

Cette règle s’applique dans ram:ManufacturerTradeParty pour un produit sur 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:SpecifiedTradeProduct/ram:ManufacturerTradeParty
Expression de contrôle (assert/@test)
count(ram:RoleCode)<=1