This commit is contained in:
Harald G. Mueller 2023-02-08 00:18:05 +01:00
parent a61438ca4b
commit e82d94afcf

View File

@ -19,7 +19,7 @@ von dort aus direkt mit zwei Klicks bezahlt werden kann.
**Resultat** **Resultat**
![original-rechnugen/example-qr-bill-de.six-image.original.1020.png](original-rechnugen/example-qr-bill-de.six-image.original.1020.png) ![x-ressourcen/example-qr-bill-de.six-image.original.1020.png](x-ressourcen/example-qr-bill-de.six-image.original.1020.png)
## Aufgabenstellung ## Aufgabenstellung
@ -53,8 +53,6 @@ korrekt verschickt wurde.
Sie bekommen vom Biller-Sytem **eine oder mehrere** solche Sie bekommen vom Biller-Sytem **eine oder mehrere** solche
Dateien Dateien
- ein .data-File
Dateiname: rechnung21003.data Dateiname: rechnung21003.data
@ -71,15 +69,17 @@ Erstellen müssen Sie 2 Files:
- ein XML-File - ein XML-File
Die Dateinamen werden aus den Daten der .data-Files gebildet: Die Dateinamen werden aus den Daten der .data-Files gebildet:
(aus Kundennummer K821 und aus der Rechnungsnummer 21003) <br>(aus Kundennummer K821 und aus der Rechnungsnummer 21003)
Dateiname: K821_21003_invoice.txt <br>Dateiname: K821_21003_invoice.txt
Dateiname: K821_21003_invoice.xml <br>Dateiname: K821_21003_invoice.xml
Inhalt von K821_21003_invoice.txt: Inhalt von K821_21003_invoice.txt:
(auf den QR-Code im Einzahlungsschein-Bereich wird hier vwerzichtet) (auf den QR-Code im Einzahlungsschein-Bereich wird hier vwerzichtet)
-------------------------------------------------
Adam Adler Adam Adler
@ -134,6 +134,9 @@ Inhalt von K821_21003_invoice.txt:
-------------------- --------------------
<br>
<br>
<br>
Inhalt von K821_21003_invoice.xml Inhalt von K821_21003_invoice.xml
<XML-FSCM-INVOICE-2003A> <XML-FSCM-INVOICE-2003A>
@ -288,19 +291,25 @@ Inhalt von K821_21003_invoice.xml
----------------- -----------------
<br>
<br>
<br>
<br>
<br>
<br>
https://haraldmueller.ch/schueler (Passwort: tbz) https://haraldmueller.ch/schueler (Passwort: tbz)
ftp: FTP-Zugang:
HOST: ftp.haraldmueller.ch HOST: ftp.haraldmueller.ch
USER: schueler USER: schueler
PASS: studentenpasswort PASS: studentenpasswort
PATH: /M122-[KLASSE]/NachName PATH: /M122-[KLASSE]/NachName
https://haraldmueller.ch/schoolerinvoices/out (Passwort auf html-Seite: tbz)
https://haraldmueller.ch/schoolerinvoices/in <br>https://haraldmueller.ch/schoolerinvoices/out (Passwort auf html-Seite: tbz)
<br>https://haraldmueller.ch/schoolerinvoices/in
![ebill-ueberischt-details.jpg](x-ressourcen/ebill-ueberischt-details.jpg) ![ebill-ueberischt-details.jpg](x-ressourcen/ebill-ueberischt-details.jpg)
@ -309,8 +318,9 @@ https://haraldmueller.ch/schoolerinvoices/in
https://coinditorei.com/zahlungssystem (Passwort: tbz) https://coinditorei.com/zahlungssystem (Passwort: tbz)
<br>https://coinditorei.com/zahlungssystem/in <br>https://coinditorei.com/zahlungssystem/in
<br>https://coinditorei.com/zahlungssystem/out <br>https://coinditorei.com/zahlungssystem/out
<br>
Die Dateien müssen einen bestimmten Namen haben. Die Dateien müssen einen bestimmten Namen haben:
- [Kundennummer]_[Rechnungsnummer]_invoice.xml (Konkret K821_21003_invoice.xml) - [Kundennummer]_[Rechnungsnummer]_invoice.xml (Konkret K821_21003_invoice.xml)
- [Kundennummer]_[Rechnungsnummer]_invoice.txt (Konkret K821_21003_invoice.txt) - [Kundennummer]_[Rechnungsnummer]_invoice.txt (Konkret K821_21003_invoice.txt)
Testfiles können Sie finden unter: https://coinditorei.com/zahlungssystem/testfiles Testfiles können Sie finden unter: https://coinditorei.com/zahlungssystem/testfiles
@ -351,57 +361,49 @@ Es sind diverse Sicherheitsmechanismen eingebaut (Fehlermeldungen mit aussagekr
**Detailberechnung der Note** **Detailberechnung der Note**
(2P) - (2P) Filedownload (.data) via FTP (aus dem [Kundenserver]/out/XX21xMustermann)
- Filedownload (.data) via FTP (aus dem [Kundenserver]/out/XX21xMustermann)
- [1] Ein Dateidownload funktioniert - [1] Ein Dateidownload funktioniert
- [1] es können auch mehrere Dateien "gleichzeitig" verarbeitet werden - [1] es können auch mehrere Dateien "gleichzeitig" verarbeitet werden
(5P) - (5P) Lesen der Input-Datei (.data)
- Lesen der Input-Datei (.data)
- [3] Aufspalten der Informationen - [3] Aufspalten der Informationen
- [1] Erkennen falscher Informationen - [1] Erkennen falscher Informationen
- [1] Rückweisen falscher/inkorrekter Rechnung - [1] Rückweisen falscher/inkorrekter Rechnung
(12P) - (12P) Erstellung der _Invoice.txt
- Erstellung der _Invoice.txt
- [1] Richtiger Filename (gem. definierter Vorgabe) - [1] Richtiger Filename (gem. definierter Vorgabe)
- [4] Korrekte Darstellung und Formatierung der Rechnung mit Einrückung und Kollonierung der Rechnungzeilen - [4] Korrekte Darstellung und Formatierung der Rechnung mit Einrückung und Kollonierung der Rechnungzeilen
- [3] Richtige Berechnung der End-Summe inkl. Darstellung (2-Nummen nach dem Dez-Punkt) - [3] Richtige Berechnung der End-Summe inkl. Darstellung (2-Nummen nach dem Dez-Punkt)
- [2] Einrücken und Darstellung des Einzahlungsschein-Abschnitts (Beträge haben Abstand beim Dezimalpunkt) - [2] Einrücken und Darstellung des Einzahlungsschein-Abschnitts (Beträge haben Abstand beim Dezimalpunkt)
- [2] Richtige Berechnung und Position des Zahlungsziel-Datum (Rechnungsdatum + Zahlungsziel), -> nicht Verarbeitungsdatum!! - [2] Richtige Berechnung und Position des Zahlungsziel-Datum (Rechnungsdatum + Zahlungsziel), -> nicht Verarbeitungsdatum!!
(6P) - (6P) Erstellung der _Invoice.xml
- Erstellung der _Invoice.xml
- [1] Richtiger Filename (gem. definierter Vorgabe) - [1] Richtiger Filename (gem. definierter Vorgabe)
- [1] Rechnungsnummer eingesetzt - [1] Rechnungsnummer eingesetzt
- [2] Summe korrekt (ohne Punkt, mit führenden Nullen) - [2] Summe korrekt (ohne Punkt, mit führenden Nullen)
- [2] Zahlungsziel & Zahlungszieldatum (Korr. Datum und Formattierung YYYYmmdd) - [2] Zahlungsziel & Zahlungszieldatum (Korr. Datum und Formattierung YYYYmmdd)
(2P) - (2P) Fileupload (2 Files (.txt und .xml) pro Rechnung)
- Fileupload (2 Files (.txt und .xml) pro Rechnung)
- [2] via FTP (auf den zweiten Server nach [Zahlungsserver]/in/XX21xMustermann) - [2] via FTP (auf den zweiten Server nach [Zahlungsserver]/in/XX21xMustermann)
- [-1] Abzug 1P dafür falls die fehlerhafte Rechnung auch da steht - [-1] Abzug 1P dafür, falls die fehlerhafte Rechnung auch noch da steht
(3P) - (3P) Zip- oder tar-File Erstellung
- Zip- oder tar-File Erstellung
- [2] Zip-/tar-File mit korrektem Inhalt und Dateinamen (2 Files) - [2] Zip-/tar-File mit korrektem Inhalt und Dateinamen (2 Files)
- [1] Fileupload via FTP (auf den [Kundenserver]/in/XX21xMustermann) - [1] Fileupload via FTP (auf den [Kundenserver]/in/XX21xMustermann)
(5P) - (5P) Mail
- Mail
- [2] Mail-Versand (kommt an der richtigen Adresse "heute/jetzt" an (Mailadr im Input)) - [2] Mail-Versand (kommt an der richtigen Adresse "heute/jetzt" an (Mailadr im Input))
- [2] Mail-Text und Absender fehlerlos, den Anforderungen entsprechend - [2] Mail-Text und Absender fehlerlos, den Anforderungen entsprechend
- [1] Mail-Attachment (.zip/.tar) geschickt/vorhanden - [1] Mail-Attachment (.zip/.tar) geschickt/vorhanden
(5P) - (5P) Konfiguration und Projektdateiorganisation
- Konfiguration und Projektdateiorganisation
- [2] "gute" Struktur der Projektdateien, Verarbeitungsdaten nicht bei den Verarbeitungs-Skript(s) - [2] "gute" Struktur der Projektdateien, Verarbeitungsdaten nicht bei den Verarbeitungs-Skript(s)
- [2] Log-File mit vernünftigen/aussagekräftigen Informationen, z.B. Erkennung von fehlerhafter Verarbeitung - [2] Log-File mit vernünftigen/aussagekräftigen Informationen, z.B. Erkennung von fehlerhafter Verarbeitung
- [1] separate Konfigurationsdatei - [1] separate Konfigurationsdatei
(2P) - (2P) Automatisierung
- Automatisierung
- [2] Scheduler eingerichtet und funktioniert (Linux "crontab" oder Win "Aufgabenplaner") - [2] Scheduler eingerichtet und funktioniert (Linux "crontab" oder Win "Aufgabenplaner")
(42P = Total), Bonus Kurzquartale I (Total = 37P), - (42P = Total)
Bonus Kurzquartale II (Total = 34P) <br>evtl. Bonus Kurzquartale I (Total = 37P)
<br>evtl. Bonus Kurzquartale II (Total = 34P)