Forum | | | | Thomas Freier | Bevor je cela roue récente erfinde, hat sich déjà einer avec dem Thema befasst et es mise en œuvre? après que je pour langem Zaudern, unser caissier ist comme echter DAU simple pas avec einer ext. Software zurecht gekommen, 2010 DTAUS dans mon Vereinsprogramm incorporé hatte steht eh bien SEPA à, et ist im Moment encore un livre avec sept Siegeln pour mich. Würde mich freuen, si quelqu'un avec einem entsprechenden Script (*.inc) aider pourrait, um une *.xml erzeugen trop peut. une kleine Aufwandsentschädigung ist pas ausgeschlossen, car sonst je serait es erneut avec einer ext. Software versuchen et qui caissier doit plan tüchtig üben avec cela qui caisse pas vide bleibt. |
| | | | |
| | | Grüße!
Zwar pas befasst et mise en œuvre mais verstehe je toi richtig, dass Du letztendlich seulement une XML erzeugen vouloir? cela wiederum vois je comme wenig problematisch à, habe aussi déjà xmls aus XProfan heraus erzeugt z.B. beim Leveleditor pour OGL.
la hâte Du la fois solch XML prêt dass on voyons peux comment Du vous volontiers hättest? |
| | | | |
| | Thomas Freier | @iF, und dir im Wesentlichen um den Aufbau, bestehend aus En-tête, Datensätze et Abschlußzeilen. Beim Pflichtenheft qui Bundesbank steige je encore pas par. Vieles ist sûrement speziell et pour une la base-Lastschrift pas erforderlich. avec einem Testprogramm habe je la fois une xml (s'il te plaît débaptiser) erstellt. Beispiel pour Ansi trop UTF-8 ist ici oui vorhanden. Ansonsten serait je comment chez DTAUS qui données aus einer Gridbox prendre et qui Dossier la ligne pour la ligne écrivons (Imprimer #2,la ligne$). |
| | | | |
| | | Tjo, forfaitaire vois je là 2 Wege -
entweder un "Template" ou bien wir construire solch Node-Tree-super, dans qui on quasi Äste einhängen peux avec a) Werten et b) Parametern.
tant pis cela XProfan (encore) aucun assoziativen Arrays beherrscht, avec cela ginge es superfix mais si Du toi pour cela (avec sicherheut deutlich einfachere) Template-procéder entscheidest ensuite vois je là aussi une schnelle Abhilfe.
je schätze, dass dans Deinen Werten et Parametern pour Eigenschaften de Ästen aucun marque vorkommen, qui pas aussi per Ansi darstellbar sommes, weshalb wir quasi seulement avec Ansi travailler müssten et seulement im letzten Schritt qui ganze Textdatei pour UTF kodieren.
de den individuel Positionen/ Ästen bzw. Eigenschaften et Parametern habe je je n'en sais rien, alors je ne sais pas quelle Struktur abverlang wird.
Gibt es en supplément une Documentation ou bien la hâte Du bereits un File welches wir zum Template faire könnten? |
| | | | |
| | Thomas Freier | | | | | |
| | | j'ai Torben soeben einmal angeschrieben - hoffentlich peux il uns quelque chose en supplément mitteilen. |
| | | | |
| | Thomas Freier | oui bien. mon Planungsziel ist Mars 2014. mais je dachte, c'est maintenant qui Zeit einmal Nachzufragen, si sich un Profaner déjà avec cela beschäftigt ou bien es gar realisiert hat. qui Possibilité ext. Software einzusetzen bleibt toujours. |
| | | | |
| | Torben Nissen | allô! Es freut mich, dass je Euch la fois aider peux!!! aujourd'hui soir peux je Euch une Auszug aus meinem Quellcode envoyons, qui une SEPA-Dossier erstellen peux! Im Abomanager ist qui Punkt SEPA-Dossier erstellen deaktiviert, là cela Programme en ausgeht, dass qui Bankdaten zunächst im BLZ-Format et "normaler" Kontonummer vorliegen! alors legt zum essayer une Kunden à, gebt une (gültige!) BLZ et Kontonummer un. ensuite allez son sur "Programm" > "Wartung" et klickt sur IBAN / BIC berechnen. après peut son SEPA-Fichiers erstellen. sous Benutzerdaten müsst son naturellement aussi gültige Bankdaten hinterlegt avons! comme Gläubiger-ID peut son zum essayer qui ID DE98ZZZ09999999999 benutzen! ah oui, son müsst naturellement une Aboauftrag anlegen. Gebt mindestens une fällige taux un. Zum Selektieren cela entsprechende Fälligkeitsdatum eingeben! |
| | | | |
| | Torben Nissen | je nutze kurz qui Mittagspause, um Euch den Quellcode trop posten (ist sur aufgrund qui Schnelle pas plus kommentiert). peut-être hilft cela quand même erstmal plus: KompilierenMarqueSéparation'Eigentliche SEPA-Datein anlegen
Assign #1,($ProgDir+"\SEPA\Abo_"+datum$+".xml")
Rewrite #1
Append #1
Print #1,"<?xml version="+Chr$(34)+"1.0"+Chr$(34)+" encoding="+Chr$(34)+"UTF-8"+Chr$(34)+"?>"
Print #1,"<Document xmlns="+Chr$(34)+"urn:iso:std:iso:20022:tech:xsd:pain.008.002.02"+Chr$(34)+">"
Print #1,"<CstmrDrctDbtInitn>"
Print #1,"<GrpHdr>"
time_kennung$=@Time$(0)
Print #1,"<MsgId>Kennung-Msg"+@Date$(3)+"-"+time_kennung$+"</MsgId>"
'Erstellungsdatum der Datei berechnen
datei_date$=@Date$(3)
jahr$=@Left$(datei_date$,4)
monat$=@Mid$(datei_date$,5,2)
tag$=@Right$(datei_date$,2)
Print #1,"<CreDtTm>"+jahr$+"-"+monat$+"-"+tag$+"T"+@Time$(0)+":01</CreDtTm>"
Print #1,"<NbOfTxs>"+anzahl$+"</NbOfTxs>"
Print #1,"<CtrlSum>"+ergebnis$+"</CtrlSum>"
Print #1,"<InitgPty>"
Print #1,"<Nm>"+user_firma$ +"</Nm>"
Print #1,"</InitgPty>"
Print #1,"</GrpHdr>"
Print #1,"<PmtInf>"
Print #1,"<PmtInfId>Kennung-PmInf"+@Date$(3)+"-"+@Time$(0)+"-1</PmtInfId>"
Print #1,"<PmtMtd>DD</PmtMtd>"
Print #1,"<NbOfTxs>"+anzahl$+"</NbOfTxs>"
Print #1,"<CtrlSum>"+ergebnis$+"</CtrlSum>"
Print #1,"<PmtTpInf>"
Print #1,"<SvcLvl>"
Print #1,"<Cd>SEPA</Cd>"
Print #1,"</SvcLvl>"
Print #1,"<LclInstrm>"
Print #1,"<Cd>CORE</Cd>"
Print #1,"</LclInstrm>"
Print #1,"<SeqTp>RCUR</SeqTp>"
Print #1,"</PmtTpInf>"
'Ausführungstermin der Datei berechnen
termin_jahr$=@Right$(termin$,4)
termin_monat$=@Mid$(termin$,4,2)
termin_tag$=@Left$(termin$,2)
Print #1,"<ReqdColltnDt>"+termin_jahr$+"-"+termin_monat$+"-"+termin_tag$+"</ReqdColltnDt>"
Print #1,"<Cdtr>"
Print #1,"<Nm>"+user_firma$+"</Nm>"
Print #1,"</Cdtr>"
Print #1,"<CdtrAcct>"
Print #1,"<Id>"
Print #1,"<IBAN>"+user_iban$+"</IBAN>"
Print #1,"</Id>"
Print #1,"</CdtrAcct>"
Print #1,"<CdtrAgt>"
Print #1,"<FinInstnId>"
Print #1,"<BIC>"+user_bic$+"</BIC>"
Print #1,"</FinInstnId>"
Print #1,"</CdtrAgt>"
Print #1,"<ChrgBr>SLEV</ChrgBr>"
Print #1,"<CdtrSchmeId>"
Print #1,"<Id>"
Print #1,"<PrvtId>"
Print #1,"<Othr>"
id$ = @ReadIni$($ProgDir+"System.sfw","Header","SEPA-ID")
Print #1,"<Id>"+id$+"</Id>"
Print #1,"<SchmeNm>"
Print #1,"<Prtry>SEPA</Prtry>"
Print #1,"</SchmeNm>"
Print #1,"</Othr>"
Print #1,"</PrvtId>"
Print #1,"</Id>"
Print #1,"</CdtrSchmeId>"
' Ab hier beginnen die eigentlichen Kundenforderungen
WhileLoop 0, GetCount(Gridbox%)-1
lfdnr%=lfdnr%+1
lfdnr$=lfdnr%
daten$=GetString$(GridBox%, &loop)
nachname$=@Mid$(daten$,1,20)
vorname$=@Mid$(daten$,32,20)
bic$=@Mid$(daten$,63,11)
iban$=@Mid$(daten$,75,34)
betrag$=@Mid$(daten$,112,6)
zweck$=@Mid$(daten$,119,30)
mandat_id$=@Mid$(daten$,150,6)
nachname$=@Trim$(nachname$)
vorname$=@Trim$(vorname$)
bic$=@Trim$(bic$)
iban$=@Trim$(iban$)
betrag$=@Trim$(betrag$)
zweck$=@Trim$(zweck$)
mandat_id$=@Trim$(mandat_id$)
nachname$=@Translate$(nachname$,"Ü","Ue")
nachname$=@Translate$(nachname$,"Ö","Oe")
nachname$=@Translate$(nachname$,"Ä","Ae")
vorname$=@Translate$(vorname$,"Ü","Ue")
vorname$=@Translate$(vorname$,"Ö","Oe")
vorname$=@Translate$(vorname$,"Ä","Ae")
zweck$=@Translate$(zweck$,"Ü","Ue")
zweck$=@Translate$(zweck$,"Ö","Oe")
zweck$=@Translate$(zweck$,"Ä","Ae")
zweck$=@Translate$(zweck$,"&","und")
nachname$=@Translate$(nachname$,"ü","ue")
nachname$=@Translate$(nachname$,"ö","oe")
nachname$=@Translate$(nachname$,"ä","ae")
nachname$=@Translate$(nachname$,"ß","ss")
vorname$=@Translate$(vorname$,"ü","ue")
vorname$=@Translate$(vorname$,"ö","oe")
vorname$=@Translate$(vorname$,"ä","ae")
vorname$=@Translate$(vorname$,"ß","ss")
zweck$=@Translate$(zweck$,"ü","ue")
zweck$=@Translate$(zweck$,"ö","oe")
zweck$=@Translate$(zweck$,"ä","ae")
zweck$=@Translate$(zweck$,"ß","ss")
'nachname$=@Upper$(nachname$)
'vorname$=@Upper$(vorname$)
'zweck$=@Upper$(zweck$)
Print #1,"<DrctDbtTxInf>"
Print #1,"<PmtId>"
'Datum formatieren
kennung_date$=@Date$(0)
kennung_date$=@Translate$(kennung_date$,".","")
Print #1,"<EndToEndId>Kennung-EtE"+kennung_date$+"-"+@Time$(0)+"-"+lfdnr$+"</EndToEndId>"
Print #1,"</PmtId>"
Print #1,"<InstdAmt Ccy="+Chr$(34)+"EUR"+chr$(34)+">"+betrag$+"</InstdAmt>"
Print #1,"<DrctDbtTx>"
Print #1,"<MndtRltdInf>"
Print #1,"<MndtId>"+mandat_id$+"</MndtId>"
'Hier eventuell das Auftragsdatum? <<<<<<<<<<<<<<<<<<<<<<<<<<
mandat_date$=@Date$(3)
jahr_mandat$=@Left$(mandat_date$,4)
monat_mandat$=@Mid$(mandat_date$,5,2)
tag_mandat$=@Right$(mandat_date$,2)
Print #1,"<DtOfSgntr>"+jahr_mandat$+"-"+monat_mandat$+"-"+tag_mandat$+"</DtOfSgntr>"
Print #1,"</MndtRltdInf>"
Print #1,"</DrctDbtTx>"
Print #1,"<DbtrAgt>"
Print #1,"<FinInstnId>"
Print #1,"<BIC>"+bic$+"</BIC>"
Print #1,"</FinInstnId>"
Print #1,"</DbtrAgt>"
Print #1,"<Dbtr>"
Print #1,"<Nm>"+nachname$+", "+vorname$+"</Nm>"
Print #1,"</Dbtr>"
Print #1,"<DbtrAcct>"
Print #1,"<Id>"
Print #1,"<IBAN>"+iban$+"</IBAN>"
Print #1,"</Id>"
Print #1,"</DbtrAcct>"
Print #1,"<RmtInf>"
Print #1,"<Ustrd>"+zweck$+"</Ustrd>"
Print #1,"</RmtInf>"
Print #1,"</DrctDbtTxInf>"
EndWhile'WhileLoop 0, GetCount(Gridbox%)-1
Print #1,"</PmtInf>"
Print #1,"</CstmrDrctDbtInitn>"
Print #1,"</Document>&qu pan>
close # 1
'Ende Sepa-Dossier Erstellung
Viele Grüße Torben |
| | | | |
| | Thomas Freier | Moin Torben, là suis je beim Testen wohl sur BLZ/Konto gestolpert, weil je juste BIC/IBAN eingegeben hatte. Werde maintenant den beschriebenen Weg testen. Gesucht J'ai eu encore une Mandatsverwaltung (im Kundendatensatz), alors min. date (ab quand gültig) et si es sich um seulement-, bzw. Folgelastschrift handelt.
eh, étais mais fix. DANKE! Werde es la fois testen. |
| | | | |
| | Torben Nissen | je benutze comme mandat-ID qui Kundennummer vom Abokunden et comme date cela Auftragsdatum. |
| | | | |
| | Thomas Freier | Habe einmal avec qui Testversion de Sepasoft verglichen et seulement un journée Differenz trouvé. Torben, je vais einmal en aus, dass déjà erfolgreich SEPA-Lastschriften avec deinem Script fonctionnement worden sommes. si je cela Merkblatt unserer S-caisse vois, so bleibt qui Punkt seulement- et Folgelastschrift zur Zeit encore offen.
– SEPA-Lastschrifteinzugdatei erstellen? – nouveau Dossier-Format „xml“ – getrennt pour seulement-Lastschrift / Folge-Lastschrift
Könnte aussi son, dass cela de banque trop banque unterschiedlich behandelt wird. sur qui Umwandlung de Ansi->UTF serait je pas verzichten um sûrement trop son, dass alle marque ab 128 aussi richtig eingepflegt volonté. |
| | | | |
|
répondreOptions du sujet | 27.303 Views |
Themeninformationencet Thema hat 3 participant: |