|
FOROS PROFESIONALES WINDEV, WEBDEV y WINDEV Mobile |
| | | | | |
| génération de virements SEPA |
| Iniciado por MARC CHERNET, 31,ene. 2019 13:51 - 6 respuestas |
| |
| | | |
|
| |
Miembro registrado 101 mensajes |
|
| Publicado el 31,enero 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'expertiseMensaje modificado, 31,enero 2019 - 13:52 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 31,enero 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 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 31,enero 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 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 31,enero 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 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 19,febrero 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 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 856 mensajes |
|
| Publicado el 03,diciembre 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 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 03,diciembre 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 |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|