|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
génération de virements SEPA |
Débuté par MARC CHERNET, 31 jan. 2019 13:51 - 6 réponses |
| |
| | | |
|
| |
Membre enregistré 85 messages |
|
Posté le 31 janvier 2019 - 13:51 |
Bonjour,
je dois programmer la génération de virements SEPA
J'ai commencé par un virement, avec le code suivant, qui fonctionne
// Création de la variable XML xml_virements xml_virements est un xmlDocument,description="pain_001_001_08"
gDateChaine=Gauche(DateSys(),4)+"-"+Milieu(DateSys(),5,2)+"-"+Droite(DateSys(),2)+... "T"+Gauche(HeureSys(),2)+":"+Milieu(HeureSys(),3,2)+":00"
//génération GrpHdr xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.MsgId="Virement remboursement du capital" xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.CreDtTm=gDateChaine xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.NbOfTxs=2 xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.CtrlSum=187654.32 xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.InitgPty.Nm="RESIDENCE1"
//génération PmtInf gDateChaine=Gauche(DateSys(),4)+"-"+Milieu(DateSys(),5,2)+"-"+Droite(DateSys(),2) xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtInfId="abcdef 12345" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtMtd="TRF" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.BtchBookg="false" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.NbOfTxs=2 xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CtrlSum=187654.32 xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtTpInf.SvcLvl.Cd="SEPA" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.ReqdExctnDt.Dt=gDateChaine xml_virements.Document.CstmrCdtTrfInitn.PmtInf.Dbtr.Nm="RESIDENCE " xml_virements.Document.CstmrCdtTrfInitn.PmtInf.DbtrAcct.Id.IBAN="FR7...... IBAN" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.DbtrAgt.FinInstnId.BICFI="BKAUATWW"
//génération credit transfer CdtTrfTxInf
Xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.InstrId="ABC/060928/cct001/1" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.EndToEndId="ABC/4562/2006-09-08" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt:Ccy="EUR" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt="70000" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAgt.FinInstnId.Nm="DEF electronics" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAcct.Id.IBAN="GB29NWBK60161331926819" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RgltryRptg.Dtls.Cd=150 xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RmtInf.Ustrd="Commercial invoice 4562 dated 2006-09-08"
//conversion sInfoxml=XMLConstruitChaîne(xml_virements,XMLDocumentDéfaut)
//trace(sInfoxml)
SI XMLDocumentValide(xml_virements,"C:\A\0_Clients\0_Comptabilités\Bois_aurouze\Application\SRBA TR 1\Exe\pain.001.001.08") = Faux ALORS Erreur(ErreurInfo()) SINON Info("Le document XML est valide") FIN
//XMLSauve(xml_virements, fRepExe() + ["\"] + "xml_virements.xml") //LanceAppliAssociée(fRepExe() + ["\"] + "xml_virements.xml") fSauveTexte("C:\A\0_Clients\0_Comptabilités\Bois_aurouze\Application\SRBA TR 1\Exe\xml_virements.xml",sInfoxml) LanceAppliAssociée("C:\A\0_Clients\0_Comptabilités\Bois_aurouze\Application\SRBA TR 1\Exe\xml_virements.xml")
cela fontionne bien.
maintenant je voudrais boucler pour passer de un virement à plusieurs.
J'envisage :
HExécuteRequête(REQ_soldes_créditeurs) POUR TOUT REQ_soldes_créditeurs
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.InstrId="Paiement de votre solde créditeur" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.EndToEndId="Paiement de votre solde créditeur" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt:Ccy="EUR" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt=REQ_soldes_créditeurs.Solde_créditeur xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAgt.FinInstnId.Nm=REQ_soldes_créditeurs.Actionnaire_code xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAcct.Id.IBAN=REQ_soldes_créditeurs.Actionnaire_IBAN xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RgltryRptg.Dtls.Cd="150" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RmtInf.Ustrd="Paiement de votre solde créditeur"
FIN
Mais je ne trouve pas la fonction pour ajouter les lignes qui correspondent à un virement et qui sont dans le POUR TOUT, les unes à la suite des autres.
Merci au super pro du xml !
-- Marc CHERNET Expert comptable - Expert en systèmes d'information Développeur pour des missions d'expertiseMessage modifié, 31 janvier 2019 - 13:52 |
| |
| |
| | | |
|
| | |
| |
Posté le 31 janvier 2019 - 15:32 |
Le 31/01/2019 à 12:51, MARC CHERNET a écrit :
Bonjour,
je dois programmer la génération de virements SEPA
J'ai commencé par un virement, avec le code suivant, qui fonctionne
// Création de la variable XML xml_virements xml_virements est un xmlDocument,description="pain_001_001_08"
gDateChaine=Gauche(DateSys(),4)+"-"+Milieu(DateSys(),5,2)+"-"+Droite(DateSys(),2)+...
"T"+Gauche(HeureSys(),2)+":"+Milieu(HeureSys(),3,2)+":00"
//génération GrpHdr xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.MsgId="Virement remboursement du capital" xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.CreDtTm=gDateChaine xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.NbOfTxs=2 xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.CtrlSum=187654.32 xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.InitgPty.Nm="RESIDENCE1"
//génération PmtInf gDateChaine=Gauche(DateSys(),4)+"-"+Milieu(DateSys(),5,2)+"-"+Droite(DateSys(),2)
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtInfId="abcdef 12345" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtMtd="TRF" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.BtchBookg="false" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.NbOfTxs=2 xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CtrlSum=187654.32 xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtTpInf.SvcLvl.Cd="SEPA" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.ReqdExctnDt.Dt=gDateChaine xml_virements.Document.CstmrCdtTrfInitn.PmtInf.Dbtr.Nm="RESIDENCE " xml_virements.Document.CstmrCdtTrfInitn.PmtInf.DbtrAcct.Id.IBAN="FR7...... IBAN" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.DbtrAgt.FinInstnId.BICFI="BKAUATWW"
//génération credit transfer CdtTrfTxInf
Xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.InstrId="ABC/060928/cct001/1"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.EndToEndId="ABC/4562/2006-09-08"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt:Ccy="EUR"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt="70000"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAgt.FinInstnId.Nm="DEF electronics" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAcct.Id.IBAN="GB29NWBK60161331926819"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RgltryRptg.Dtls.Cd=150
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RmtInf.Ustrd="Commercial invoice 4562 dated 2006-09-08"
//conversion sInfoxml=XMLConstruitChaîne(xml_virements,XMLDocumentDéfaut)
//trace(sInfoxml)
SI XMLDocumentValide(xml_virements,"C:\A\0_Clients\0_Comptabilités\Bois_aurouze\Application\SRBA TR 1\Exe\pain.001.001.08") = Faux ALORS Erreur(ErreurInfo()) SINON Info("Le document XML est valide") FIN
//XMLSauve(xml_virements, fRepExe() + ["\"] + "xml_virements.xml") //LanceAppliAssociée(fRepExe() + ["\"] + "xml_virements.xml") fSauveTexte("C:\A\0_Clients\0_Comptabilités\Bois_aurouze\Application\SRBA TR 1\Exe\xml_virements.xml",sInfoxml) LanceAppliAssociée("C:\A\0_Clients\0_Comptabilités\Bois_aurouze\Application\SRBA TR 1\Exe\xml_virements.xml")
cela fontionne bien.
maintenant je voudrais boucler pour passer de un virement à plusieurs.
J'envisage :
HExécuteRequête(REQ_soldes_créditeurs) POUR TOUT REQ_soldes_créditeurs xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.InstrId="Paiement de votre solde créditeur" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.EndToEndId="Paiement de votre solde créditeur" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt:Ccy="EUR"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt=REQ_soldes_créditeurs.Solde_créditeur
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAgt.FinInstnId.Nm=REQ_soldes_créditeurs.Actionnaire_code
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAcct.Id.IBAN=REQ_soldes_créditeurs.Actionnaire_IBAN
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RgltryRptg.Dtls.Cd="150"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RmtInf.Ustrd="Paiement de votre solde créditeur"
FIN
Mais je ne trouve pas la fonction pour ajouter les lignes qui correspondent à un virement et qui sont dans le POUR TOUT, les unes à la suite des autres.
Merci au super pro du xml !
-- Marc CHERNET Expert comptable - Expert en systèmes d'information Développeur pour des missions d'expertise
Il manque PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.AdrLine[1] nbre ... et
POUR nNbreSalairié = 1 À TABLEPM..Occurrence SI PMBSELECTION[nNbreSalairié] = Vrai ALORS nNbre++ cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].PmtId.EndToEndId = PMSACODE[nNbreSalairié] + "_" + DateVersChaîne(G_DATE_SOUHAITE, "AAAA-MM-JJ") cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Amt.InstdAmt:Ccy= "EUR" cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Amt.InstdAmt = SansEspace(NumériqueVersChaîne(PMMONTANTA_VERSER[nNbreSalairié],"10.2f")) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].CdtrAgt.FinInstnId.BIC = PMPEADRESSESWIFT[nNbreSalairié] cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.Nm = ChaîneVersUTF8( ChaîneFormate(PMPENOMPRENOM[nNbreSalairié],ccSansAccent) ) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.Ctry= ChaîneVersUTF8(ChaîneFormate(PM_PAYS[nNbreSalairié],ccSansAccent)) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.AdrLine[1] =ChaîneVersUTF8( ChaîneFormate(PM_ADRESSE[nNbreSalairié],ccSansAccent)) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.AdrLine[2] =ChaîneVersUTF8( ChaîneFormate(PM_LIEU[nNbreSalairié],ccSansAccent)) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].CdtrAcct.Id.IBAN = PMPECOMPTE[nNbreSalairié] cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].RmtInf.Ustrd[1] = ChaîneVersUTF8(ChaîneFormate("SALAIRE " +PMSAREFERENCE[nNbreSalairié],ccSansAccent) ) FIN FIN
si tu as besoin d'ature inforamtion je susi disponible
Bat |
| |
| |
| | | |
|
| | |
| |
Posté le 31 janvier 2019 - 15:36 |
POUR nNbreSalairié = 1 À TABLEPM..Occurrence SI PMBSELECTION[nNbreSalairié] = Vrai ALORS nNbre++ cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].PmtId.EndToEndId = PMSACODE[nNbreSalairié] + "_" + DateVersChaîne(G_DATE_SOUHAITE, "AAAA-MM-JJ") cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Amt.InstdAmt:Ccy= "EUR" cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Amt.InstdAmt = SansEspace(NumériqueVersChaîne(PMMONTANTA_VERSER[nNbreSalairié],"10.2f")) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].CdtrAgt.FinInstnId.BIC = PMPEADRESSESWIFT[nNbreSalairié] cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.Nm = ChaîneVersUTF8( ChaîneFormate(PMPENOMPRENOM[nNbreSalairié],ccSansAccent) ) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.Ctry= ChaîneVersUTF8(ChaîneFormate(PM_PAYS[nNbreSalairié],ccSansAccent)) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.AdrLine[1] =ChaîneVersUTF8( ChaîneFormate(PM_ADRESSE[nNbreSalairié],ccSansAccent)) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.AdrLine[2] =ChaîneVersUTF8( ChaîneFormate(PM_LIEU[nNbreSalairié],ccSansAccent)) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].CdtrAcct.Id.IBAN = PMPECOMPTE[nNbreSalairié] cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].RmtInf.Ustrd[1] = ChaîneVersUTF8(ChaîneFormate("SALAIRE " +PMSAREFERENCE[nNbreSalairié],ccSansAccent) ) FIN FIN
si tu as besoin d'ature inforamtion je susi disponible |
| |
| |
| | | |
|
| | |
| |
Posté le 31 janvier 2019 - 15:37 |
Le 31/01/2019 à 12:51, MARC CHERNET a écrit :
Bonjour,
je dois programmer la génération de virements SEPA
J'ai commencé par un virement, avec le code suivant, qui fonctionne
// Création de la variable XML xml_virements xml_virements est un xmlDocument,description="pain_001_001_08"
gDateChaine=Gauche(DateSys(),4)+"-"+Milieu(DateSys(),5,2)+"-"+Droite(DateSys(),2)+...
"T"+Gauche(HeureSys(),2)+":"+Milieu(HeureSys(),3,2)+":00"
//génération GrpHdr xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.MsgId="Virement remboursement du capital" xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.CreDtTm=gDateChaine xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.NbOfTxs=2 xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.CtrlSum=187654.32 xml_virements.Document.CstmrCdtTrfInitn.GrpHdr.InitgPty.Nm="RESIDENCE1"
//génération PmtInf gDateChaine=Gauche(DateSys(),4)+"-"+Milieu(DateSys(),5,2)+"-"+Droite(DateSys(),2)
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtInfId="abcdef 12345" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtMtd="TRF" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.BtchBookg="false" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.NbOfTxs=2 xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CtrlSum=187654.32 xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtTpInf.SvcLvl.Cd="SEPA" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.ReqdExctnDt.Dt=gDateChaine xml_virements.Document.CstmrCdtTrfInitn.PmtInf.Dbtr.Nm="RESIDENCE " xml_virements.Document.CstmrCdtTrfInitn.PmtInf.DbtrAcct.Id.IBAN="FR7...... IBAN" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.DbtrAgt.FinInstnId.BICFI="BKAUATWW"
//génération credit transfer CdtTrfTxInf
Xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.InstrId="ABC/060928/cct001/1"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.EndToEndId="ABC/4562/2006-09-08"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt:Ccy="EUR"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt="70000"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAgt.FinInstnId.Nm="DEF electronics" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAcct.Id.IBAN="GB29NWBK60161331926819"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RgltryRptg.Dtls.Cd=150
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RmtInf.Ustrd="Commercial invoice 4562 dated 2006-09-08"
//conversion sInfoxml=XMLConstruitChaîne(xml_virements,XMLDocumentDéfaut)
//trace(sInfoxml)
SI XMLDocumentValide(xml_virements,"C:\A\0_Clients\0_Comptabilités\Bois_aurouze\Application\SRBA TR 1\Exe\pain.001.001.08") = Faux ALORS Erreur(ErreurInfo()) SINON Info("Le document XML est valide") FIN
//XMLSauve(xml_virements, fRepExe() + ["\"] + "xml_virements.xml") //LanceAppliAssociée(fRepExe() + ["\"] + "xml_virements.xml") fSauveTexte("C:\A\0_Clients\0_Comptabilités\Bois_aurouze\Application\SRBA TR 1\Exe\xml_virements.xml",sInfoxml) LanceAppliAssociée("C:\A\0_Clients\0_Comptabilités\Bois_aurouze\Application\SRBA TR 1\Exe\xml_virements.xml")
cela fontionne bien.
maintenant je voudrais boucler pour passer de un virement à plusieurs.
J'envisage :
HExécuteRequête(REQ_soldes_créditeurs) POUR TOUT REQ_soldes_créditeurs xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.InstrId="Paiement de votre solde créditeur" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.EndToEndId="Paiement de votre solde créditeur" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt:Ccy="EUR"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt=REQ_soldes_créditeurs.Solde_créditeur
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAgt.FinInstnId.Nm=REQ_soldes_créditeurs.Actionnaire_code
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.CdtrAcct.Id.IBAN=REQ_soldes_créditeurs.Actionnaire_IBAN
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RgltryRptg.Dtls.Cd="150"
xml_virements.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.RmtInf.Ustrd="Paiement de votre solde créditeur"
FIN
Mais je ne trouve pas la fonction pour ajouter les lignes qui correspondent à un virement et qui sont dans le POUR TOUT, les unes à la suite des autres.
Merci au super pro du xml !
-- Marc CHERNET Expert comptable - Expert en systèmes d'information Développeur pour des missions d'expertise POUR nNbreSalairié = 1 À TABLEPM..Occurrence SI PMBSELECTION[nNbreSalairié] = Vrai ALORS nNbre++ cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].PmtId.EndToEndId = PMSACODE[nNbreSalairié] + "_" + DateVersChaîne(G_DATE_SOUHAITE, "AAAA-MM-JJ") cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Amt.InstdAmt:Ccy= "EUR" cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Amt.InstdAmt = SansEspace(NumériqueVersChaîne(PMMONTANTA_VERSER[nNbreSalairié],"10.2f")) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].CdtrAgt.FinInstnId.BIC = PMPEADRESSESWIFT[nNbreSalairié] cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.Nm = ChaîneVersUTF8( ChaîneFormate(PMPENOMPRENOM[nNbreSalairié],ccSansAccent) ) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.Ctry= ChaîneVersUTF8(ChaîneFormate(PM_PAYS[nNbreSalairié],ccSansAccent)) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.AdrLine[1] =ChaîneVersUTF8( ChaîneFormate(PM_ADRESSE[nNbreSalairié],ccSansAccent)) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].Cdtr.PstlAdr.AdrLine[2] =ChaîneVersUTF8( ChaîneFormate(PM_LIEU[nNbreSalairié],ccSansAccent)) cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].CdtrAcct.Id.IBAN = PMPECOMPTE[nNbreSalairié] cMondoc.Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf[nNbre].RmtInf.Ustrd[1] = ChaîneVersUTF8(ChaîneFormate("SALAIRE " +PMSAREFERENCE[nNbreSalairié],ccSansAccent) ) FIN FIN
si tu as besoin d'ature inforamtion je susi disponible |
| |
| |
| | | |
|
| | |
| |
Posté le 19 février 2019 - 17:04 |
Bonjour et merci, je n'ai pas reçu de notification sur ce post que je découvre seulement par hasard
J'ai imaginé un code complètement différent !
avec fécritligne.
cela fonctionne bien |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 834 messages Popularité : +13 (13 votes) |
|
Posté le 03 décembre 2019 - 12:41 |
Marcel bonjour, je vois que vous maitrisez xml SEPA !! J'ai intégré la structure du fichier "Pain-001-001-08" dans la liste des éléments du projet.
Le code me met une erreur ici : xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtTpInf.SvcLvl.Cd="SEPA" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.ReqdExctnDt.Dt=gDateChaine
Effectivement, PmtInf.PmtTpInf.SvcLvl.Cd et PmtInf.ReqdExctnDt.Dt ne sont pas dans la structure. Ais je télécharger le bon fichier car je n'en trouve pas d'autre....
https://gist.github.com/demoth/89d79841de225bcc6eb6c80cfa7e146f
Merci,
-- Synchronize Systems International LTD Développement d'outils de gestion
Environnements AS400 – Windows Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev
Bangkok / Pattaya |
| |
| |
| | | |
|
| | |
| |
Posté le 03 décembre 2019 - 15:12 |
Le 03/12/2019 à 11:41, Jean-Michel a écrit :
Marcel bonjour, je vois que vous maitrisez xml SEPA !! J'ai intégré la structure du fichier "Pain-001-001-08" dans la liste des éléments du projet. Le code me met une erreur ici : xml_virements.Document.CstmrCdtTrfInitn.PmtInf.PmtTpInf.SvcLvl.Cd="SEPA" xml_virements.Document.CstmrCdtTrfInitn.PmtInf.ReqdExctnDt.Dt=gDateChaine Effectivement, PmtInf.PmtTpInf.SvcLvl.Cd et PmtInf.ReqdExctnDt.Dt ne sont pas dans la structure. Ais je télécharger le bon fichier car je n'en trouve pas d'autre.... https://gist.github.com/demoth/89d79841de225bcc6eb6c80cfa7e146fMerci, -- Synchronize Systems International LTD Développement d'outils de gestion Environnements AS400 – Windows Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev Bangkok / Pattaya je ne crois pas que tu dois partir avec un XML mais avec le XSD cela serait beaucoup plus simple Tu es partis sur un fichier XML qui ne contient pas tout les caractéristiques du XSD envoie moi un mail et je te fais parvenir le mien .... qui parche depuis... marcelf@maveja.lu BAT |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|