PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → Virement SEPA et Schema XSD
Virement SEPA et Schema XSD
Iniciado por JYM, 28,ene. 2014 11:24 - 7 respuestas
Miembro registrado
15 mensajes
Publicado el 28,enero 2014 - 11:24
Bonjour à tous,
j'ai adapté le composant SEPA pour les virements.
j'ai une erreur de document Xml invalide lorsque je rajoute l'élement : CdtrAgt.FinInstnId.BIC (BIC)
je ne comprends pas car elle existe bien dans le schéma XSD,
et est bien reconnu sous l'éditeur de code.

D'ailleurs j'ai la même erreur dans les prélevements si je rajoute le BIC
au niveau des transactions.
J'ai l'impression que dès que je rajoute un élément du Xsd dans la classe,
cela me rend le document invalide.


PROCEDURE ConstruireXMLVirements(clTrans est un xmlNoeud <description="pain.001.001.03.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf">)

clTrans.PmtId.InstrId = :m_sReferenceOperation
clTrans.PmtId.EndToEndId = :m_sReferenceBoutEnBoutOperation
clTrans.Amt.InstdAmt:Ccy = "EUR"
clTrans.Amt.InstdAmt=:m_moMontant
clTrans.Cdtr.Nm = :m_Debiteur:p_Nom
clTrans.CdtrAcct.Id.IBAN=:m_Debiteur:p_IBAN
// clTrans.CdtrAgt.FinInstnId.BIC = :m_Debiteur:p_BICBanque << ici si je supprime cette ligne , pas d'erreur le document est valide

clTrans.RmtInf.Ustrd=:m_sMotifPaiement
SI XMLNoeudValide(clTrans) = Faux ALORS
Erreur(ErreurInfo())
FIN

Voici le message d'erreur:
Le noeud XML ne valide pas le schéma.
Détail de l'erreur système : Element '{urn:iso:std:iso:20022:tech:xsd:pain.001.001.03}CdtrAgt': This element is not expected. Expected is one of ( {urn:iso:std:iso:20022:tech:xsd:pain.001.001.03}UltmtCdtr, {urn:iso:std:iso:20022:tech:xsd:pain.001.001.03}InstrForCdtrAgt, {urn:iso:std:iso:20022:tech:xsd:pain.001.001.03}InstrForDbtrAgt, {urn:iso:std:iso:20022:tech:xsd:pain.001.001.03}Purp, {urn:iso:std:iso:20022:tech:xsd:pain.001.001.03}RgltryRptg, {urn:iso:std:iso:20022:tech:xsd:pain.001.001.03}Tax, {urn:iso:std:iso:20022:tech:xsd:pain.001.001.03}RltdRmtInf, {urn:iso:std:iso:20022:tech:xsd:pain.001.001.03}RmtInf ).

Est ce que quelqu'un pourrait m'aider ?
Merci.

Cdt.

JYM
Publicado el 29,enero 2014 - 17:16
Bonjour,

De quel type de virement s'agit-il ? virement national, international, de trésorerie, déplacé, ...
Le souci pourrait se situer au niveau supérieur sur le header ou le lot dans des valeurs en dur (ex: PmtMtd ou ChgrBr) ? il faudrait avoir ces infos pour vérifier.
Le fichier XSD pourrait également être incorrect... L'avez-vous récupéré sur le site http://www.iso20022.org/ ?

J'ai adapté le composant pour le schéma pain.001.001.02 et je n'ai pas rencontré ce problème.

J'ai utilisé les informations du site suivant qui m'ont été précieuses :
http://www.cfonb.org/Default.aspx…
En ce qui vous concerne vous trouverez peut-être votre bonheur dans le document n°5 "Guide d'utilisation du standard ISO 20022 pour des remises informatisées d'ordres de paiement de décembre 2013 (pain 001.001.03)".

Bon dev :)

--
Aurélien Lassalle
www.revoludev.fr
Miembro registrado
15 mensajes
Publicado el 31,enero 2014 - 10:09
Merci Aurélien pour vos précieux conseils,
il s'agit de virements nationaux,
je crois que le souci se situe au niveau du header du document.
Pour le moment , J'ai contourné le problème en remplaçant la fonction XmlConstruitChaine() par la fonction XmlSauve() lors de la génération
du document en fin de procédure. (pourquoi cela fonctionne comme cela, je ne sais pas......)
Je vais regardé de plus près le document N°5.

Bons développements a vous aussi,
et merci pour votre réponse.

JYM
Publicado el 05,febrero 2014 - 11:51
Bonjour JYM,

Je me rappelle également avoir eu une erreur au niveau du code BIC.

J'ai simplement enlevé les espacements.

Par exemple : 'GEBA BE BB' devient donc 'GEBABEBB', et ça marche très bien.

Par contre, xmlsauve (en Windev 17) avec validation n'a jamais fonctionné, alors que toutes les banques acceptent mes fichiers.

Voilà, j'espère que ça peut aider.

Phil.
Publicado el 12,julio 2017 - 01:02
Bonjour,
Je suis débutant avec la norme iso20022 pour les paiements.
Pourriez-vous m'aider en m'indiquant comment procéder pour valider mon fichier pain.001.001.03 avec pain.001.001.03.xsd svp ?
Publicado el 12,julio 2017 - 10:17
Le 11/07/2017 à 23:02, SY Hamadou a écrit :
Bonjour,
Je suis débutant avec la norme iso20022 pour les paiements.
Pourriez-vous m'aider en m'indiquant comment procéder pour valider mon
fichier pain.001.001.03 avec pain.001.001.03.xsd svp ?

Importer ton XSD dans ton projet ... et suivre

pour le début ... une fois que ton fichier XSD à été importé
cMondoc est un xmlDocument <description="03">
cMondoc.Document.xmlns = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"
nNameSpace est un xmlNamespace
nNoeud est un xmlNoeud dynamique
nNoeud = cMondoc.Document
nNameSpace..Nom ="xsi"
nNameSpace..URI = "http://www.w3.org/2001/XMLSchema-instance"
Ajoute(nNoeud..NamespaceDéclaré,nNameSpace)

Le reste dépend de tes données

il suffit de suivre fur et à mesure


je te donne le début

Mondoc.Document.CstmrCdtTrfInitn.GrpHdr.MsgId =
fExtraitChemin(LECTURE_REP,fFichier)
cMondoc.Document.CstmrCdtTrfInitn.GrpHdr.CreDtTm =
DateVersChaîne(G_DATE_SOUHAITE, "AAAA-MM-JJ") + "T" +
HeureVersChaîne(hNow, "HH:MM:SS")
cMondoc.Document.CstmrCdtTrfInitn.GrpHdr.NbOfTxs =
NumériqueVersChaîne(nNbreVirement)
// ici un seul paiement celui de sélectionné
cMondoc.Document.CstmrCdtTrfInitn.GrpHdr.CtrlSum = SansEspace(
NumériqueVersChaîne(nMontantTotal, "10.2f"))
cMondoc.Document.CstmrCdtTrfInitn.GrpHdr.InitgPty.Nm = sNomDebiteur
cMondoc.Document.CstmrCdtTrfInitn.GrpHdr.InitgPty.Id.OrgId.Othr.Id =
sNumOrgID
cMondoc.Document.CstmrCdtTrfInitn.PmtInf.PmtInfId = sRefSepa
cMondoc.Document.CstmrCdtTrfInitn.PmtInf.PmtMtd = "TRF"
cMondoc.Document.CstmrCdtTrfInitn.PmtInf.BtchBookg = True
cMondoc.Document.CstmrCdtTrfInitn.PmtInf.PmtTpInf.SvcLvl.Cd = "SEPA"

là je ne peux plus t'aider cela devient des données sur mes fichiers à moi
Chez moi cela marche très bien depuis un an ou deux
Bon windev
Miembro registrado
85 mensajes
Publicado el 15,enero 2019 - 16:05
Bonsoir,

je cherche un composant (ou du code) pour la génération de virements SEPA

merci
Miembro registrado
179 mensajes
Publicado el 27,septiembre 2021 - 22:40
Bonjour,

Idem pour moi...

Merci