Un seul élément BT-86 est autorisé dans une facture.
Le texte du message indique qu’une seule occurrence de BT-86 est autorisée. Cependant, l’expression de test fournie ne rejette aucune combinaison de ces deux éléments : elle est vraie lorsqu’un élément ou les deux sont présents, et aussi lorsqu’aucun ne l’est. L’expression ne détecte donc pas l’erreur décrite dans le message.
Le sens métier du message limite la facture à une seule occurrence de BT-86. La condition de test fournie n’applique toutefois pas cette limite.
Le message limite les coordonnées de l’établissement financier à une occurrence de BT-86. Cependant, la condition de test fournie ne rejette aucune combinaison des deux éléments XML.
- Comparez l’exigence du message à la condition de test concernant
ram:PayeeSpecifiedCreditorFinancialInstitutionetram:PayerSpecifiedDebtorFinancialInstitution. - Notez que la condition de test fournie ne rejette aucune combinaison de ces éléments.
- Vérifiez la définition de la règle si l’exigence « une seule occurrence » doit être appliquée.
- Générez de nouveau la facture et vérifiez-la à nouveau.
Détails techniques
L’expression (A or B) or (not A and not B) est vraie pour toutes les combinaisons de valeurs de vérité de A et B. Cette condition de test ne peut donc rejeter aucune combinaison des deux éléments indiqués.
La règle vérifie ram:PayeeSpecifiedCreditorFinancialInstitution et ram:PayerSpecifiedDebtorFinancialInstitution dans ram:SpecifiedTradeSettlementPaymentMeans.
rule/@context)assert/@test)