Foro | | | | Thomas Freier | Antes de que yo el Rad neu erfinde, ha se ya uno con el Thema befasst y lo umgesetzt? Nachdem Yo después de langem Zaudern, unser Kassierer es como echter DAU simplemente no con uno ext. Software zurecht gekommen, 2010 DTAUS en mi Vereinsprogramm instalado hatte es nun SEPA a, y es en el Moment todavía una Buch con sieben Siegeln para mich. Würde mich freuen, si alguien con un entsprechenden Script (*.inc) helfen podría, una *.xml erzeugen a puede. Un kleine Aufwandsentschädigung es no ausgeschlossen, porque sonst Yo sería lo erneut con uno ext. Software versuchen y Kassierer muß eben tüchtig üben así el Kasse no leer restos. |
| | | | |
| | | Grüße!
Zwar no befasst y umgesetzt aber verstehe Yo Usted correcto, dass Usted letztendlich sólo una XML erzeugen möchtest? Das wiederum sehe Yo como wenig problematisch a, habe auch ya xmls de XProfan heraus producido z.B. beim Leveleditor para OGL.
Hast Usted veces solch XML parat dass uno sehen kann como Usted ellos gerne hättest? |
| | | | |
| | Thomas Freier | @IF, lo va en el Wesentlichen en el Aufbau, bestehend de Encabezamiento, Datensätze y Abschlußzeilen. Beim Pflichtenheft el Bundesbank steige Todavía no por. Vieles es sicher específicamente y para una Base-Lastschrift no erforderlich. Mit una Testprogramm Yo veces una xml (Por favor, umbenennen) erstellt. Ejemplo para Ansi a UTF-8 es hier sí disponible. Ansonsten sería Yo como en DTAUS el Daten de uno Gridbox nehmen y el Expediente Línea para Línea escribir (Imprimir #2,Línea$). |
| | | | |
| | | Tjo, pauschal sehe Yo como 2 Wege -
entweder una "Template" oder wir bauen solch Node-Tree-Klasse, en el uno quasi Äste einhängen kann con a) Werten y b) Parametern.
Schade el XProfan (todavía) no assoziativen Arrays beherrscht, así ginge lo superfix pero si Usted Usted para el (con sicherheut deutlich einfachere) Template-Verfahren entscheidest entonces sehe Yo como auch una schnelle Abhilfe.
Yo schätze, dass en Su Werten y Parametern para Características de Ästen no Signo vorkommen, el no auch por Ansi darstellbar son, por qué wir quasi sólo Ansi trabajo müssten y sólo en el letzten Schritt el todo Textdatei después de UTF kodieren.
Von el individual Positionen/ Ästen o. Características y Parametern Yo ni idea, also Yo weiß no welche Struktur abverlang se.
Gibt lo dazu una Documentación oder hast Usted ya una File welches wir para Template hacer könnten? |
| | | | |
| | Thomas Freier | | | | | |
| | | Yo habe Torben soeben una vez angeschrieben - hoffentlich kann él uns algo dazu mitteilen. |
| | | | |
| | Thomas Freier | Sí bien. Mein Planungsziel es März 2014. Aber Yo pensamiento, es ahora el Tiempo una vez Nachzufragen, si una Profaner ya así beschäftigt oder lo gar realisiert ha. El Möglichkeit ext. Software einzusetzen restos siempre todavía. |
| | | | |
| | Torben Nissen | ¡Hola! Lo freut mich, dass Yo Euch veces helfen kann!!! Heute Abend kann Yo Euch una Auszug de mi Quellcode enviar, el una SEPA-Expediente redactar kann! Im Abomanager es el Punkt SEPA-Expediente redactar deaktiviert, como el Programa su ausgeht, dass el Bankdaten primero en el BLZ-Formato y "normaler" Kontonummer vorliegen! Also legt para Probieren una Kunden a, gebt una (gültige!) BLZ y Kontonummer una. Dann va Ihr en "Programm" > "Wartung" y klickt en IBAN / BIC berechnen. Danach könnt Ihr SEPA-Archivos redactar. Bajo Benutzerdaten müsst Ihr natürlich auch gültige Bankdaten hinterlegt haben! Als Gläubiger-ID könnt Ihr para Probieren el ID DE98ZZZ09999999999 benutzen! Ach sí, Ihr müsst natürlich una Aboauftrag invertir. Gebt mindestens una fällige Rate una. Zum Selektieren el entsprechende Fälligkeitsdatum eingeben! |
| | | | |
| | Torben Nissen | Yo nutze kurz el Mittagspause, en Euch el Quellcode para enviar (es en aufgrund el Schnelle no más kommentiert). Tal vez hilft el trotzdem primero más: KompilierenMarcaSeparación'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-Expediente Erstellung
Viele Grüße Torben |
| | | | |
| | Thomas Freier | Moin Torben, como bin Yo beim Testen wohl encima BLZ/Konto gestolpert, porque Yo igual BIC/IBAN eingegeben hatte. Werde ahora el beschriebenen Weg testen. Gesucht Tuve ni Mandatsverwaltung (en el Kundendatensatz), also min. Datum (de wann gültig) y si son Erst-, o. Folgelastschrift es.
Oh, warst aber fix. DANKE! Werde lo veces testen. |
| | | | |
| | Torben Nissen | Yo benutze como Mandat-ID el Kundennummer vom Abokunden y como Datum el Auftragsdatum. |
| | | | |
| | Thomas Freier | Posesiones una vez con el Testversion de Sepasoft verglichen y sólo una Tag Differenz gefunden. Torben, Yo gehe una vez su de, dass ya erfolgreich SEPA-Lastschriften con deinem Script ausgeführt worden son. Wenn Yo el Merkblatt unserer S-Kasse sehe, así restos el Punkt Erst- y Folgelastschrift a Tiempo todavía offen.
– SEPA-Lastschrifteinzugdatei redactar? – neues Expediente-Formato „xml“ – getrennt después de Erst-Lastschrift / Folge-Lastschrift
Könnte auch ser, dass el de Bank a Bank unterschiedlich behandelt se. Auf el Umwandlung de Ansi->UTF sería Yo no verzichten en sicher a ser, dass todos Signo de 128 auch correcto eingepflegt voluntad. |
| | | | |
|
RespuestaTema opciones | 27.264 Views |
ThemeninformationenDieses Thema ha 3 subscriber: |