mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-11-24 02:31:58 +01:00
muh
This commit is contained in:
parent
de39f38f91
commit
0c4d550ad1
@ -1,9 +1,9 @@
|
|||||||
# LB2
|
# M122
|
||||||
|
|
||||||
## ebill von Handwerkerrechnungen
|
## ebill von Handwerkerrechnungen
|
||||||
|
|
||||||
|
|
||||||
### Ausgangslage, Ihr "Use Case"
|
### Ausgangslage ("Use Case")
|
||||||
|
|
||||||
Sie arbeiten in einer Firma, die sich zum Ziel gesetzt hat,
|
Sie arbeiten in einer Firma, die sich zum Ziel gesetzt hat,
|
||||||
für ihre Kunden und auch um neue Kunden zu gewinnen, die
|
für ihre Kunden und auch um neue Kunden zu gewinnen, die
|
||||||
@ -13,7 +13,7 @@ den elektronischen Zahlungsweg anzubieten.
|
|||||||
Der elektronische Zahlungsweg wird nicht über das Verschicken
|
Der elektronische Zahlungsweg wird nicht über das Verschicken
|
||||||
einer PDF-Rechnung gemacht, wo der Kunde die Rechnung über das
|
einer PDF-Rechnung gemacht, wo der Kunde die Rechnung über das
|
||||||
Eintippen der Zahlungsdaten im eBanking machen muss, sondern als
|
Eintippen der Zahlungsdaten im eBanking machen muss, sondern als
|
||||||
[ebill](https://ebill.ch). Also als eine Rechnung, die dem Kunden
|
[**ebill**](https://ebill.ch). Also als eine Rechnung, die dem Kunden
|
||||||
des Handwerkers direkt in sein eBanking hineingeschickt wird und
|
des Handwerkers direkt in sein eBanking hineingeschickt wird und
|
||||||
von dort aus direkt mit zwei Klicks bezahlt werden kann.
|
von dort aus direkt mit zwei Klicks bezahlt werden kann.
|
||||||
|
|
||||||
@ -21,8 +21,9 @@ von dort aus direkt mit zwei Klicks bezahlt werden kann.
|
|||||||
|
|
||||||
![x-ressourcen/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](x-ressourcen/example-qr-bill-de.six-image.original.1020.png)
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
## Aufgabenstellung
|
### Aufgabenstellung
|
||||||
|
|
||||||
![ebill-uebersicht.jpg](x-ressourcen/ebill-uebersicht.jpg)
|
![ebill-uebersicht.jpg](x-ressourcen/ebill-uebersicht.jpg)
|
||||||
|
|
||||||
@ -50,33 +51,52 @@ korrekt verschickt wurde.
|
|||||||
|
|
||||||
**Biller-System**
|
**Biller-System**
|
||||||
|
|
||||||
Sie bekommen vom Biller-Sytem **eine oder mehrere** solche
|
Sie bekommen vom Biller-Sytem **mehrere** solche
|
||||||
Dateien
|
Dateien
|
||||||
|
|
||||||
|
|
||||||
Dateiname: rechnung21003.data
|
Dateiname: rechnung23003.data
|
||||||
|
|
||||||
Rechnung_21003;Auftrag_A003;Zürich;21.07.2021;10:22:54;ZahlungszielInTagen_30
|
Rechnung_23003;Auftrag_A003;Zürich;21.07.2023;10:22:54;ZahlungszielInTagen_30
|
||||||
Herkunft;41010000001234567;K821;Adam Adler;Bahnhofstrasse 1;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
|
Herkunft;41010000001234567;K821;Adam Adler;Bahnhofstrasse 1;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
|
||||||
Endkunde;41301000000012497;Autoleasing AG;Gewerbestrasse 100;5000 Aarau
|
Endkunde;41301000000012497;Autoleasing AG;Gewerbestrasse 100;5000 Aarau
|
||||||
RechnPos;1;Einrichten E-Mailclients;5;25.00;125.00;MWST_0.00%
|
RechnPos;1;Einrichten E-Mailclients;5;25.00;125.00;MWST_0.00%
|
||||||
RechnPos;2;Konfig & Schulung Scanningcnter;1;1000.00;1000.00;MWST_0.00%
|
RechnPos;2;Konfig & Schulung Scanningcenter;1;1000.00;1000.00;MWST_0.00%
|
||||||
|
|
||||||
|
|
||||||
Erstellen müssen Sie 2 Files:
|
Sie müssen aus jeder Rechnungsdatei (.data) zwei Dateien erstellen
|
||||||
|
(ein TXT-File und ein XML-File) und diese müssen einen bestimmten Namen haben:
|
||||||
|
<br>**[Kundennummer]_[Rechnungsnummer]_invoice.xml** (also konkret ‘K821_23003_invoice.xml’)
|
||||||
|
<br>**[Kundennummer]_[Rechnungsnummer]_invoice.txt** (also konkret ‘K821_23003_invoice.txt’)
|
||||||
|
|
||||||
- ein TXT-File
|
Die Dateinamen werden aus den **Inhalten** der .data-Datei gebildet (generiert):
|
||||||
- ein XML-File
|
<br>(aus **Kundennummer** K821 und aus der **Rechnungsnummer** 23003)
|
||||||
|
|
||||||
Die Dateinamen werden aus den Daten der .data-Files gebildet:
|
<br>Dateiname: K821_23003_invoice.txt
|
||||||
<br>(aus Kundennummer K821 und aus der Rechnungsnummer 21003)
|
<br>Dateiname: K821_23003_invoice.xml
|
||||||
|
|
||||||
<br>Dateiname: K821_21003_invoice.txt
|
|
||||||
<br>Dateiname: K821_21003_invoice.xml
|
|
||||||
|
|
||||||
|
|
||||||
Inhalt von K821_21003_invoice.txt:
|
### Rechnung in menschenlesbaren Klartext
|
||||||
(auf den QR-Code im Einzahlungsschein-Bereich wird hier vwerzichtet)
|
|
||||||
|
Eine solche Datei wird den Endkundenen mitgeschickt, damit
|
||||||
|
überprüft werden kann, was zu bezahlen ist. Im eBanking-System
|
||||||
|
haben Endkunden die Möglichkeit, die Rechnung zurückzuweisen
|
||||||
|
und somit nicht zu bezahlen.
|
||||||
|
|
||||||
|
|
||||||
|
#### Vereinfachungen
|
||||||
|
|
||||||
|
- 1.) Normalerweise sind diese Rechnungen hier in PDF erstellt.
|
||||||
|
Damit es weniger Aufwand gibt, wird hier darauf verzichtet, aus
|
||||||
|
dem Text ein PDF zu erzeugen.
|
||||||
|
|
||||||
|
- 2.) Die Erzeugung des QR-Codes im Einzahlungsschein-Bereich
|
||||||
|
erfordert eine API-Funktion. Auch darauf wird verzichtet. Stattdessen
|
||||||
|
zeichnen wir den Rahmen mit Strich-Zeichen und schreiben das Wort
|
||||||
|
QR-CODE hinein.
|
||||||
|
|
||||||
|
|
||||||
|
**Inhalt von K821_23003_invoice.txt:**
|
||||||
|
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
@ -91,17 +111,17 @@ Inhalt von K821_21003_invoice.txt:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Uster, den 21.07.2021 Autoleasing AG
|
Uster, den 21.07.2023 Autoleasing AG
|
||||||
Gewerbestrasse 100
|
Gewerbestrasse 100
|
||||||
5000 Aarau
|
5000 Aarau
|
||||||
|
|
||||||
Kundennummer: K821
|
Kundennummer: K821
|
||||||
Auftragsnummer: A003
|
Auftragsnummer: A003
|
||||||
|
|
||||||
Rechnung Nr 21003
|
Rechnung Nr 23003
|
||||||
-----------------------
|
-----------------------
|
||||||
1 Einrichten E-Mailclients 5 25.00 CHF 125.00 0.00%
|
1 Einrichten E-Mailclients 5 25.00 CHF 125.00
|
||||||
2 Konfig & Schulung Scanningcenter 1 1200.00 CHF 1200.00 0.00%
|
2 Konfig & Schulung Scanningcenter 1 1200.00 CHF 1200.00
|
||||||
-----------
|
-----------
|
||||||
Total CHF 1325.00
|
Total CHF 1325.00
|
||||||
|
|
||||||
@ -114,13 +134,13 @@ Inhalt von K821_21003_invoice.txt:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Zahlungsziel ohne Abzug 30 Tage (20.08.2021)
|
Zahlungsziel ohne Abzug 30 Tage (20.08.2023)
|
||||||
|
|
||||||
|
|
||||||
Empfangsschein Zahlteil
|
Empfangsschein Zahlteil
|
||||||
|
|
||||||
Adam Adler ------------------------ Adam Adler
|
Adam Adler ------------------------ Adam Adler
|
||||||
Bahnhofstrasse 1 | | Bahnhofstrasse 1
|
Bahnhofstrasse 1 | QR-CODE | Bahnhofstrasse 1
|
||||||
8000 Zuerich | | 8000 Zuerich
|
8000 Zuerich | | 8000 Zuerich
|
||||||
| |
|
| |
|
||||||
| |
|
| |
|
||||||
@ -134,10 +154,11 @@ Inhalt von K821_21003_invoice.txt:
|
|||||||
|
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
<br>
|
### Rechnung im (maschinenlesbaren) XML-Format
|
||||||
<br>
|
|
||||||
<br>
|
**Inhalt von K821_23003_invoice.xml:**
|
||||||
Inhalt von K821_21003_invoice.xml
|
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
<XML-FSCM-INVOICE-2003A>
|
<XML-FSCM-INVOICE-2003A>
|
||||||
<INTERCHANGE>
|
<INTERCHANGE>
|
||||||
@ -157,24 +178,24 @@ Inhalt von K821_21003_invoice.xml
|
|||||||
</FUNCTION-FLAGS>
|
</FUNCTION-FLAGS>
|
||||||
<MESSAGE-REFERENCE>
|
<MESSAGE-REFERENCE>
|
||||||
<REFERENCE-DATE>
|
<REFERENCE-DATE>
|
||||||
<Reference-No>202107164522001</Reference-No>
|
<Reference-No>202307164522001</Reference-No>
|
||||||
<Date>20210731</Date>
|
<Date>20230731</Date>
|
||||||
</REFERENCE-DATE>
|
</REFERENCE-DATE>
|
||||||
</MESSAGE-REFERENCE>
|
</MESSAGE-REFERENCE>
|
||||||
<PRINT-DATE>
|
<PRINT-DATE>
|
||||||
<Date>20210731</Date>
|
<Date>20230731</Date>
|
||||||
</PRINT-DATE>
|
</PRINT-DATE>
|
||||||
<REFERENCE>
|
<REFERENCE>
|
||||||
<INVOICE-REFERENCE>
|
<INVOICE-REFERENCE>
|
||||||
<REFERENCE-DATE>
|
<REFERENCE-DATE>
|
||||||
<Reference-No>21003</Reference-No>
|
<Reference-No>23003</Reference-No>
|
||||||
<Date>20210731</Date>
|
<Date>20230731</Date>
|
||||||
</REFERENCE-DATE>
|
</REFERENCE-DATE>
|
||||||
</INVOICE-REFERENCE>
|
</INVOICE-REFERENCE>
|
||||||
<ORDER>
|
<ORDER>
|
||||||
<REFERENCE-DATE>
|
<REFERENCE-DATE>
|
||||||
<Reference-No>A003</Reference-No>
|
<Reference-No>A003</Reference-No>
|
||||||
<Date>20210731</Date>
|
<Date>20230731</Date>
|
||||||
</REFERENCE-DATE>
|
</REFERENCE-DATE>
|
||||||
</ORDER>
|
</ORDER>
|
||||||
<REMINDER Which="MAH">
|
<REMINDER Which="MAH">
|
||||||
@ -185,8 +206,8 @@ Inhalt von K821_21003_invoice.xml
|
|||||||
</REMINDER>
|
</REMINDER>
|
||||||
<OTHER-REFERENCE Type="ADE">
|
<OTHER-REFERENCE Type="ADE">
|
||||||
<REFERENCE-DATE>
|
<REFERENCE-DATE>
|
||||||
<Reference-No>202107164522001</Reference-No>
|
<Reference-No>202307164522001</Reference-No>
|
||||||
<Date>20210731</Date>
|
<Date>20230731</Date>
|
||||||
</REFERENCE-DATE>
|
</REFERENCE-DATE>
|
||||||
</OTHER-REFERENCE>
|
</OTHER-REFERENCE>
|
||||||
</REFERENCE>
|
</REFERENCE>
|
||||||
@ -273,7 +294,7 @@ Inhalt von K821_21003_invoice.xml
|
|||||||
<BASIC Payment-Type="ESR" Terms-Type="1">
|
<BASIC Payment-Type="ESR" Terms-Type="1">
|
||||||
<TERMS>
|
<TERMS>
|
||||||
<Payment-Period Type="M" On-Or-After="1" Reference-Day="31">30</Payment-Period>
|
<Payment-Period Type="M" On-Or-After="1" Reference-Day="31">30</Payment-Period>
|
||||||
<Date>20210830</Date>
|
<Date>20230830</Date>
|
||||||
</TERMS>
|
</TERMS>
|
||||||
</BASIC>
|
</BASIC>
|
||||||
<DISCOUNT Terms-Type="22">
|
<DISCOUNT Terms-Type="22">
|
||||||
@ -289,14 +310,11 @@ Inhalt von K821_21003_invoice.xml
|
|||||||
</INVOICE>
|
</INVOICE>
|
||||||
</XML-FSCM-INVOICE-2003A>
|
</XML-FSCM-INVOICE-2003A>
|
||||||
|
|
||||||
-----------------
|
-------------------------------------------------
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<br>
|
|
||||||
<br>
|
### System-Zugänge
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
https://haraldmueller.ch/schueler (Passwort: tbz)
|
https://haraldmueller.ch/schueler (Passwort: tbz)
|
||||||
|
|
||||||
@ -312,7 +330,7 @@ FTP-Zugang:
|
|||||||
<br>https://haraldmueller.ch/schoolerinvoices/in
|
<br>https://haraldmueller.ch/schoolerinvoices/in
|
||||||
|
|
||||||
|
|
||||||
![ebill-ueberischt-details.jpg](x-ressourcen/ebill-ueberischt-details.jpg)
|
![ebill-uebersicht-details.jpg](x-ressourcen/ebill-uebersicht-details.jpg)
|
||||||
|
|
||||||
|
|
||||||
https://coinditorei.com/zahlungssystem (Passwort: tbz)
|
https://coinditorei.com/zahlungssystem (Passwort: tbz)
|
||||||
@ -320,13 +338,10 @@ https://coinditorei.com/zahlungssystem (Passwort: tbz)
|
|||||||
<br>https://coinditorei.com/zahlungssystem/out
|
<br>https://coinditorei.com/zahlungssystem/out
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
Die Dateien müssen einen bestimmten Namen haben:
|
|
||||||
- [Kundennummer]_[Rechnungsnummer]_invoice.xml (Konkret ‘K821_21003_invoice.xml’)
|
|
||||||
- [Kundennummer]_[Rechnungsnummer]_invoice.txt (Konkret ‘K821_21003_invoice.txt’)
|
|
||||||
Testfiles können Sie finden unter: https://coinditorei.com/zahlungssystem/testfiles
|
|
||||||
|
|
||||||
|
|
||||||
Kontrollen
|
**Kontrollen**
|
||||||
|
|
||||||
Bauen Sie Kontrollen ein, um festzustellen, ob «die» Rechnung richtig verarbeitet wurde, bzw. ob und wann und wie ein allfälliger Abbruch stattgefunden hat. Am einfachsten sind Log-Files.
|
Bauen Sie Kontrollen ein, um festzustellen, ob «die» Rechnung richtig verarbeitet wurde, bzw. ob und wann und wie ein allfälliger Abbruch stattgefunden hat. Am einfachsten sind Log-Files.
|
||||||
Konfiguration
|
Konfiguration
|
||||||
Gut ist, wenn das System ‘von aussen’ konfiguriert / eingestellt werden kann (separates Config-File).
|
Gut ist, wenn das System ‘von aussen’ konfiguriert / eingestellt werden kann (separates Config-File).
|
||||||
@ -343,67 +358,74 @@ Die Bewertung geschieht über einen Live-Test mit von der Lehrperson erstellten
|
|||||||
|
|
||||||
**Dokumentation**
|
**Dokumentation**
|
||||||
|
|
||||||
Keine Doku notwendig, die Aufgabenstellung ist Doku genug.
|
Es wird keine Doku verlangt und ist auch nicht notwendig, da die
|
||||||
|
Aufgabenstellung schon so detailliert ist. (In der Praxis werden Sie
|
||||||
|
niemals so genaue Vorgaben vorfinden, und dann wird vielleicht eine
|
||||||
|
Dokumentation verlangt werden.)
|
||||||
|
|
||||||
|
|
||||||
**Benotung**
|
**Benotung**
|
||||||
|
|
||||||
Note 4:
|
| Note | Bedeutung |
|
||||||
Viele Teile der Vorgabe wurden erreicht, aber es fehlt noch etwas damit alles automatisch funktioniert.
|
|------| --------- |
|
||||||
|
| 6 | Komplette Verarbeitung der Vorgaben inklusive Log-Dateien
|
||||||
Note 5:
|
zur Rekonstruktion des Ablaufes. Alle Abläufe sind automatisiert
|
||||||
Das System funktioniert aus Sicht des Kunden, wenn alles richtig definiert war (keine Fehler in der Rechnungsdatei oder wenn die Quittung nicht vom Zahlungssystem bereitgestellt wurde).
|
und können per Konfigurationsdatei beeinflusst werden (FTP-Server
|
||||||
|
Einstellungen). Es sind diverse Sicherheitsmechanismen eingebaut
|
||||||
Note 6:
|
(Fehlermeldungen mit aussagekräftigem und nützlichem Inhalt). |
|
||||||
Komplette Verarbeitung der Vorgaben inklusive Log-Dateien zur Rekonstruktion des Ablaufes.
|
| 5 | Das System funktioniert aus Sicht des Kunden, wenn alles
|
||||||
Alle Abläufe sind automatisiert und können per Konfigurationsdatei beeinflusst werden (FTP-Server Einstellungen).
|
richtig definiert war (keine Fehler in der Rechnungsdatei oder
|
||||||
Es sind diverse Sicherheitsmechanismen eingebaut (Fehlermeldungen mit aussagekräftigem und nützlichem Inhalt).
|
wenn die Quittung nicht vom Zahlungssystem bereitgestellt wurde). |
|
||||||
|
| 4 | Viele Teile der Vorgabe wurden erreicht, aber es fehlt
|
||||||
|
noch etwas damit alles automatisch funktioniert. |
|
||||||
|
|
||||||
|
|
||||||
**Detailberechnung der Note**
|
**Detailberechnung der Note**
|
||||||
|
|
||||||
- (2P) Filedownload (.data) via FTP (aus dem [Kundenserver]/out/XX21xMustermann)
|
- [2P] 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) Lesen der Input-Datei (.data)
|
- [5P] 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) Erstellung der _Invoice.txt
|
- [12P] 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) Erstellung der _Invoice.xml
|
- [6P] 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) Fileupload (2 Files (.txt und .xml) pro Rechnung)
|
- [2P] 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 noch da steht
|
- [-1] Abzug 1P dafür, falls die fehlerhafte Rechnung auch noch da steht
|
||||||
|
|
||||||
- (3P) Zip- oder tar-File Erstellung
|
- [3P] 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) Mail
|
- [5P] 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) Konfiguration und Projektdateiorganisation
|
- [5P] 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) Automatisierung
|
- [2P] Automatisierung
|
||||||
- [2] Scheduler eingerichtet und funktioniert (Linux "crontab" oder Win "Aufgabenplaner")
|
- [2] Scheduler eingerichtet und funktioniert (Linux "crontab" oder Win "Aufgabenplaner")
|
||||||
|
|
||||||
- (42P = Total)
|
|
||||||
<br>evtl. Bonus Kurzquartale I (Total = 37P)
|
- [**42P** = **Total**)
|
||||||
<br>evtl. Bonus Kurzquartale II (Total = 34P)
|
<br>eventueller Bonus für Total 37P
|
||||||
|
<br>eventueller Bonus für Total 34P
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 196 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,35 +0,0 @@
|
|||||||
|
|
||||||
# Method to write an email with the logfile as attachement
|
|
||||||
#--------------------------------------------------------------------------------------------------
|
|
||||||
function sendmail() {
|
|
||||||
$toMail = "harald.mueller@bluewin.ch"
|
|
||||||
$attachment = "C:\Users\Harald\OneDrive\Technik\mails\data.pdf"
|
|
||||||
|
|
||||||
$SMTPServer = "smtp.gmail.com"
|
|
||||||
$SMTPPort = "587"
|
|
||||||
$Username = "invoice.autointerleasing@gmail.com"
|
|
||||||
|
|
||||||
# password of the mail account
|
|
||||||
$Password = "invoice77autointerleasing" | ConvertTo-SecureString -AsPlainText -Force
|
|
||||||
|
|
||||||
$subject = "Powi mail"
|
|
||||||
$body = "Logfile has been modified. Please review attached document $entry."
|
|
||||||
|
|
||||||
$message = New-Object System.Net.Mail.MailMessage
|
|
||||||
$message.subject = $subject
|
|
||||||
$message.body = $body
|
|
||||||
$message.to.add($toMail)
|
|
||||||
$message.from = $username
|
|
||||||
$message.attachments.add($attachment)
|
|
||||||
|
|
||||||
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
|
|
||||||
$smtp.EnableSSL = $true
|
|
||||||
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
|
|
||||||
$smtp.send($message)
|
|
||||||
}
|
|
||||||
## (Get-Credential).password | ConvertFrom-SecureString > mailpasswort.txt
|
|
||||||
## $pw = Get-Content .\mailpasswort.txt | ConvertTo-SecureString
|
|
||||||
## $cred = New-Object System.Management.Automation.PSCredential "MailUser", $pw
|
|
||||||
## Send-MailMessage -Credential $cred -to "harald.mueller@bluewin.ch" -from "PowerShell <ps@fabrikam.de>" -Subject "Test" -body "Test für Send-MailMessage"
|
|
||||||
|
|
||||||
sendmail
|
|
@ -1,83 +0,0 @@
|
|||||||
## (Get-Credential).password | ConvertFrom-SecureString > mailpasswort.txt
|
|
||||||
## $pw = Get-Content .\mailpasswort.txt | ConvertTo-SecureString
|
|
||||||
## $cred = New-Object System.Management.Automation.PSCredential "MailUser", $pw
|
|
||||||
## Send-MailMessage -Credential $cred -to "harald.mueller@bluewin.ch" -from "PowerShell <ps@fabrikam.de>" -Subject "Test" -body "Test für Send-MailMessage"
|
|
||||||
|
|
||||||
$body =
|
|
||||||
"IHRE RECHNUNG VON AUTO-INTERLEASING AG
|
|
||||||
VOTRE FACTURE D'AUTO-INTERLEASING SA
|
|
||||||
|
|
||||||
Sehr geehrte Damen und Herren
|
|
||||||
Madame, Monsieur,
|
|
||||||
|
|
||||||
Mit dieser Mail erhalten Sie die aktuelle Rechnung von Auto-Interleasing als PDF. Die Papierrechnung erhalten Sie wie gewohnt mit der Post.
|
|
||||||
Par ce présent courrier, nous vous transmettons la facture d'Auto-Interleasing en version PDF. La facture papier vous parviendra comme d'habitude par courrier postal.
|
|
||||||
|
|
||||||
Wir bitten Sie, den offenen Betrag unter Einhaltung der Zahlungsfrist an die auf dem beigefügten Einzahlungsschein vermerkten Kontonummer zu überweisen.
|
|
||||||
Nous vous prions de verser le montant dû conformément au délai de paiement mentionné sur le bulletin de versement joint.
|
|
||||||
|
|
||||||
Einzahlung für:
|
|
||||||
Versement pour:
|
|
||||||
|
|
||||||
Auto-Interleasing AG
|
|
||||||
St. Jakob-Strasse 72
|
|
||||||
4132 Muttenz
|
|
||||||
|
|
||||||
IBAN: CH21 0023 3233 1012 5122 0
|
|
||||||
|
|
||||||
|
|
||||||
Freundliche Grüsse,
|
|
||||||
Avec nos cordiales salutations,
|
|
||||||
|
|
||||||
Auto-Interleasing AG
|
|
||||||
St. Jakob-Strasse 72
|
|
||||||
4132 Muttenz
|
|
||||||
+41 61 319 32 32
|
|
||||||
info@auto-interleasing.ch
|
|
||||||
www.auto-interleasing.ch
|
|
||||||
|
|
||||||
|
|
||||||
Für die elektronische Rechnung sind Sie mit obiger E-Mail-Adresse bei uns registriert.
|
|
||||||
Pour l'envoi des factures par voie électronique, vous êtes inscrits avec l'adresse e-mail mentionnée ci-dessus
|
|
||||||
|
|
||||||
Allfällige Änderungen Ihrer E-Mail-Adresse teilen Sie bitte unverzüglich Ihrem Kundenbetreuer mit.
|
|
||||||
Pour toute modification de votre adresse e-mail, nous vous prions de contacter votre gestionnaire.
|
|
||||||
|
|
||||||
Bitte beachten Sie, dass Antworten auf diese E-Mail-Adresse leider nicht beantwortet werden können.
|
|
||||||
Im Falle von Rückfragen oder Unklarheiten wenden Sie sich bitte an Ihren zuständigen Kundenbetreuer.
|
|
||||||
|
|
||||||
Vielen Dank!
|
|
||||||
|
|
||||||
Veuillez prendre note qu'aucune correspondance ne peut être échangée par le biais de cette adresse e-mail.
|
|
||||||
Pour toutes questions ou informations, nous vous prions de contacter votre gestionnaire. Merci beaucoup !
|
|
||||||
"
|
|
||||||
$SMTPHost = "smtp.gmail.com"
|
|
||||||
$SMTPPort = "587"
|
|
||||||
$Username = "invoice.autointerleasing@gmail.com"
|
|
||||||
$Password = "invoice77autointerleasing" | ConvertTo-SecureString -AsPlainText -Force
|
|
||||||
|
|
||||||
$subjectFixtext = "RECHNUNG/FACTURE"
|
|
||||||
|
|
||||||
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPHost, $SMTPPort);
|
|
||||||
$smtp.EnableSSL = $true
|
|
||||||
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
|
|
||||||
|
|
||||||
$message = New-Object System.Net.Mail.MailMessage
|
|
||||||
$message.from = $username
|
|
||||||
$message.body = $body
|
|
||||||
|
|
||||||
# Method to write an email with the logfile as attachement
|
|
||||||
function sendmail ([String] $toMail, [String] $attachment, [String] $RgNr) {
|
|
||||||
# $toMail = "harald.mueller@bluewin.ch"
|
|
||||||
# $attachment = "C:\Users\Harald\OneDrive\Technik\mails\data.pdf"
|
|
||||||
|
|
||||||
$message.to.add("$toMail")
|
|
||||||
$message.attachments.add("$attachment")
|
|
||||||
$message.subject = $subjectFixtext + " Nr. " + $RgNr
|
|
||||||
|
|
||||||
echo $toMail
|
|
||||||
echo $attachment
|
|
||||||
# $smtp.send($message)
|
|
||||||
}
|
|
||||||
|
|
||||||
sendmail ("harald.mueller@bluewin.ch", "C:\Users\Harald\OneDrive\Technik\mails\data.pdf", "1")
|
|
Binary file not shown.
Binary file not shown.
@ -1,43 +0,0 @@
|
|||||||
### FTP
|
|
||||||
|
|
||||||
- [https://www.howtoforge.com/tutorial/how-to-use-ftp-on-the-linux-shell/](https://www.howtoforge.com/tutorial/how-to-use-ftp-on-the-linux-shell/)
|
|
||||||
|
|
||||||
**bash-Beispiel**
|
|
||||||
<br>
|
|
||||||
![../tools-technics/ftpanweisungen.jpg](../tools-technics/ftpanweisungen.jpg)
|
|
||||||
|
|
||||||
|
|
||||||
**cmd-Beispiel**
|
|
||||||
<br>
|
|
||||||
![../tools-technics/cmd-ftp-start.bat.jpg](../tools-technics/cmd-ftp-start.bat.jpg)
|
|
||||||
![../tools-technics/cmdcommands.ftp.jpg](../tools-technics/cmdcommands.ftp.jpg)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### E-Mail
|
|
||||||
|
|
||||||
- [https://www.linuxfordevices.com/tutorials/linux/mail-command-in-linux](https://www.linuxfordevices.com/tutorials/linux/mail-command-in-linux)
|
|
||||||
- [https://www.geeksforgeeks.org/send-mails-using-a-bash-script](https://www.geeksforgeeks.org/send-mails-using-a-bash-script)
|
|
||||||
|
|
||||||
|
|
||||||
**Mailing mit Python** (Dank an Hr. Noel L. Hug, AP21a)
|
|
||||||
|
|
||||||
import win32com.client as win32
|
|
||||||
<br>
|
|
||||||
![../tools-technics/mailing-mit-python.jpg](../tools-technics/mailing-mit-python.jpg)
|
|
||||||
|
|
||||||
|
|
||||||
**Mailing mit PowerShell**
|
|
||||||
|
|
||||||
[../tools-technics/mailing-mit-powershell](../tools-technics/mailing-mit-powershell)
|
|
||||||
<br>
|
|
||||||
![../tools-technics/mailing-mit-powershell.jpg](../tools-technics/mailing-mit-powershell.jpg)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Mailing mit PHP** (nur auf Webserver!)
|
|
||||||
|
|
||||||
Diese Art funktioniert nur auf einem Webserver, auf dem ein Mailserver installiert ist, was bei allen teuren und billigen Internetprovidern normal ist. Wenn es auf dem lokalen Rechner funltionieren soll, muss zuerst ein Mailserver lokal installiert werden.
|
|
||||||
|
|
||||||
<br>
|
|
||||||
![../tools-technics/mailing-mit-phpwebserver.jpg](../tools-technics/mailing-mit-phpwebserver.jpg)
|
|
@ -1,60 +0,0 @@
|
|||||||
BEWERTUNGSKRITERIEN
|
|
||||||
(MUH, 2022-05)
|
|
||||||
|
|
||||||
M122-Übung "e-bill"
|
|
||||||
=====================
|
|
||||||
|
|
||||||
(2P)
|
|
||||||
- Filedownload (.data) via FTP (aus dem [Kundenserver]/out/XX21xMustermann)
|
|
||||||
- [1] Ein Dateidownload funktioniert
|
|
||||||
- [1] es können auch mehrere Dateien "gleichzeitig" verarbeitet werden
|
|
||||||
|
|
||||||
(5P)
|
|
||||||
- Lesen der Input-Datei (.data)
|
|
||||||
- [3] Aufspalten der Informationen
|
|
||||||
- [1] Erkennen falscher Informationen
|
|
||||||
- [1] Rückweisen falscher/inkorrekter Rechnung
|
|
||||||
|
|
||||||
(12P)
|
|
||||||
- Erstellung der _Invoice.txt
|
|
||||||
- [1] Richtiger Filename (gem. definierter Vorgabe)
|
|
||||||
- [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)
|
|
||||||
- [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!!
|
|
||||||
|
|
||||||
(6P)
|
|
||||||
- Erstellung der _Invoice.xml
|
|
||||||
- [1] Richtiger Filename (gem. definierter Vorgabe)
|
|
||||||
- [1] Rechnungsnummer eingesetzt
|
|
||||||
- [2] Summe korrekt (ohne Punkt, mit führenden Nullen)
|
|
||||||
- [2] Zahlungsziel & Zahlungszieldatum (Korr. Datum und Formattierung YYYYmmdd)
|
|
||||||
|
|
||||||
(2P)
|
|
||||||
- Fileupload (2 Files (.txt und .xml) pro Rechnung)
|
|
||||||
- [2] via FTP (auf den zweiten Server nach [Zahlungsserver]/in/XX21xMustermann)
|
|
||||||
- [-1] Abzug 1P dafür falls die fehlerhafte Rechnung auch da steht
|
|
||||||
|
|
||||||
(3P)
|
|
||||||
- Zip- oder tar-File Erstellung
|
|
||||||
- [2] Zip-/tar-File mit korrektem Inhalt und Dateinamen (2 Files)
|
|
||||||
- [1] Fileupload via FTP (auf den [Kundenserver]/in/XX21xMustermann)
|
|
||||||
|
|
||||||
(5P)
|
|
||||||
- Mail
|
|
||||||
- [2] Mail-Versand (kommt an der richtigen Adresse "heute/jetzt" an (Mailadr im Input))
|
|
||||||
- [2] Mail-Text und Absender fehlerlos, den Anforderungen entsprechend
|
|
||||||
- [1] Mail-Attachment (.zip/.tar) geschickt/vorhanden
|
|
||||||
|
|
||||||
(5P)
|
|
||||||
- Konfiguration und Projektdateiorganisation
|
|
||||||
- [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
|
|
||||||
- [1] separate Konfigurationsdatei
|
|
||||||
|
|
||||||
(2P)
|
|
||||||
- Automatisierung
|
|
||||||
- [2] Scheduler eingerichtet und funktioniert (Linux "crontab" oder Win "Aufgabenplaner")
|
|
||||||
|
|
||||||
(42P = Total), Bonus Kurzquartale I (Total = 37P),
|
|
||||||
Bonus Kurzquartale II (Total = 34P)
|
|
@ -1,58 +0,0 @@
|
|||||||
|
|
||||||
NOTENTABELLE
|
|
||||||
max. 34.00 100% 6.00 6.0
|
|
||||||
33.50 99% 5.93 5.9
|
|
||||||
33.00 97% 5.85 5.9
|
|
||||||
32.50 96% 5.78 5.8
|
|
||||||
32.00 94% 5.71 5.7
|
|
||||||
31.50 93% 5.63 5.6
|
|
||||||
31.00 91% 5.56 5.6
|
|
||||||
30.50 90% 5.49 5.5
|
|
||||||
30.00 88% 5.41 5.4
|
|
||||||
29.50 87% 5.34 5.3
|
|
||||||
29.00 85% 5.26 5.3
|
|
||||||
28.50 84% 5.19 5.2
|
|
||||||
28.00 82% 5.12 5.1
|
|
||||||
27.50 81% 5.04 5.0
|
|
||||||
27.00 79% 4.97 5.0
|
|
||||||
26.50 78% 4.90 4.9
|
|
||||||
26.00 76% 4.82 4.8
|
|
||||||
25.50 75% 4.75 4.8
|
|
||||||
25.00 74% 4.68 4.7
|
|
||||||
24.50 72% 4.60 4.6
|
|
||||||
24.00 71% 4.53 4.5
|
|
||||||
23.50 69% 4.46 4.5
|
|
||||||
23.00 68% 4.38 4.4
|
|
||||||
22.50 66% 4.31 4.3
|
|
||||||
22.00 65% 4.24 4.2
|
|
||||||
21.50 63% 4.16 4.2
|
|
||||||
21.00 62% 4.09 4.1
|
|
||||||
20.50 60% 4.01 4.0
|
|
||||||
20.00 59% 3.94 3.9
|
|
||||||
19.50 57% 3.87 3.9
|
|
||||||
19.00 56% 3.79 3.8
|
|
||||||
18.50 54% 3.72 3.7
|
|
||||||
18.00 53% 3.65 3.6
|
|
||||||
17.50 51% 3.57 3.6
|
|
||||||
17.00 50% 3.50 3.5
|
|
||||||
16.50 49% 3.43 3.4
|
|
||||||
16.00 47% 3.35 3.4
|
|
||||||
15.50 46% 3.28 3.3
|
|
||||||
15.00 44% 3.21 3.2
|
|
||||||
14.50 43% 3.13 3.1
|
|
||||||
14.00 41% 3.06 3.1
|
|
||||||
13.50 40% 2.99 3.0
|
|
||||||
13.00 38% 2.91 2.9
|
|
||||||
12.50 37% 2.84 2.8
|
|
||||||
12.00 35% 2.76 2.8
|
|
||||||
11.50 34% 2.69 2.7
|
|
||||||
11.00 32% 2.62 2.6
|
|
||||||
10.50 31% 2.54 2.5
|
|
||||||
10.00 29% 2.47 2.5
|
|
||||||
9.50 28% 2.40 2.4
|
|
||||||
9.00 26% 2.32 2.3
|
|
||||||
8.50 25% 2.25 2.3
|
|
||||||
8.00 24% 2.18 2.2
|
|
||||||
7.50 22% 2.10 2.1
|
|
||||||
7.00 21% 2.03 2.0
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
|||||||
|
|
||||||
NOTENTABELLE
|
|
||||||
max. 37.00 100% 6.00 6.0
|
|
||||||
36.50 99% 5.93 5.9
|
|
||||||
36.00 97% 5.86 5.9
|
|
||||||
35.50 96% 5.80 5.8
|
|
||||||
35.00 95% 5.73 5.7
|
|
||||||
34.50 93% 5.66 5.7
|
|
||||||
34.00 92% 5.59 5.6
|
|
||||||
33.50 91% 5.53 5.5
|
|
||||||
33.00 89% 5.46 5.5
|
|
||||||
32.50 88% 5.39 5.4
|
|
||||||
32.00 86% 5.32 5.3
|
|
||||||
31.50 85% 5.26 5.3
|
|
||||||
31.00 84% 5.19 5.2
|
|
||||||
30.50 82% 5.12 5.1
|
|
||||||
30.00 81% 5.05 5.1
|
|
||||||
29.50 80% 4.99 5.0
|
|
||||||
29.00 78% 4.92 4.9
|
|
||||||
28.50 77% 4.85 4.9
|
|
||||||
28.00 76% 4.78 4.8
|
|
||||||
27.50 74% 4.72 4.7
|
|
||||||
27.00 73% 4.65 4.6
|
|
||||||
26.50 72% 4.58 4.6
|
|
||||||
26.00 70% 4.51 4.5
|
|
||||||
25.50 69% 4.45 4.4
|
|
||||||
25.00 68% 4.38 4.4
|
|
||||||
24.50 66% 4.31 4.3
|
|
||||||
24.00 65% 4.24 4.2
|
|
||||||
23.50 64% 4.18 4.2
|
|
||||||
23.00 62% 4.11 4.1
|
|
||||||
22.50 61% 4.04 4.0
|
|
||||||
22.00 59% 3.97 4.0
|
|
||||||
21.50 58% 3.91 3.9
|
|
||||||
21.00 57% 3.84 3.8
|
|
||||||
20.50 55% 3.77 3.8
|
|
||||||
20.00 54% 3.70 3.7
|
|
||||||
19.50 53% 3.64 3.6
|
|
||||||
19.00 51% 3.57 3.6
|
|
||||||
18.50 50% 3.50 3.5
|
|
||||||
18.00 49% 3.43 3.4
|
|
||||||
17.50 47% 3.36 3.4
|
|
||||||
17.00 46% 3.30 3.3
|
|
||||||
16.50 45% 3.23 3.2
|
|
||||||
16.00 43% 3.16 3.2
|
|
||||||
15.50 42% 3.09 3.1
|
|
||||||
15.00 41% 3.03 3.0
|
|
||||||
14.50 39% 2.96 3.0
|
|
||||||
14.00 38% 2.89 2.9
|
|
||||||
13.50 36% 2.82 2.8
|
|
||||||
13.00 35% 2.76 2.8
|
|
||||||
12.50 34% 2.69 2.7
|
|
||||||
12.00 32% 2.62 2.6
|
|
||||||
11.50 31% 2.55 2.6
|
|
||||||
11.00 30% 2.49 2.5
|
|
||||||
10.50 28% 2.42 2.4
|
|
||||||
10.00 27% 2.35 2.4
|
|
||||||
9.50 26% 2.28 2.3
|
|
||||||
9.00 24% 2.22 2.2
|
|
||||||
8.50 23% 2.15 2.1
|
|
||||||
8.00 22% 2.08 2.1
|
|
||||||
7.50 20% 2.01 2.0
|
|
||||||
7.00 19% 1.95 1.9
|
|
||||||
6.50 18% 1.88 1.9
|
|
||||||
6.00 16% 1.81 1.8
|
|
||||||
5.50 15% 1.74 1.7
|
|
||||||
5.00 14% 1.68 1.7
|
|
||||||
4.50 12% 1.61 1.6
|
|
||||||
4.00 11% 1.54 1.5
|
|
||||||
3.50 9% 1.47 1.5
|
|
||||||
3.00 8% 1.41 1.4
|
|
@ -1,47 +0,0 @@
|
|||||||
|
|
||||||
NOTENTABELLE
|
|
||||||
max. 42.00 100% 6.00 6.0
|
|
||||||
41.00 98% 5.88 5.9
|
|
||||||
40.00 95% 5.76 5.8
|
|
||||||
39.00 93% 5.64 5.6
|
|
||||||
38.00 90% 5.52 5.5
|
|
||||||
37.00 88% 5.40 5.4
|
|
||||||
36.00 86% 5.29 5.3
|
|
||||||
35.00 83% 5.17 5.2
|
|
||||||
34.00 81% 5.05 5.0
|
|
||||||
33.00 79% 4.93 4.9
|
|
||||||
32.00 76% 4.81 4.8
|
|
||||||
31.00 74% 4.69 4.7
|
|
||||||
30.00 71% 4.57 4.6
|
|
||||||
29.00 69% 4.45 4.5
|
|
||||||
28.00 67% 4.33 4.3
|
|
||||||
27.00 64% 4.21 4.2
|
|
||||||
26.00 62% 4.10 4.1
|
|
||||||
25.00 60% 3.98 4.0
|
|
||||||
24.00 57% 3.86 3.9
|
|
||||||
23.00 55% 3.74 3.7
|
|
||||||
22.00 52% 3.62 3.6
|
|
||||||
21.00 50% 3.50 3.5
|
|
||||||
20.00 48% 3.38 3.4
|
|
||||||
19.00 45% 3.26 3.3
|
|
||||||
18.00 43% 3.14 3.1
|
|
||||||
17.00 40% 3.02 3.0
|
|
||||||
16.00 38% 2.90 2.9
|
|
||||||
15.00 36% 2.79 2.8
|
|
||||||
14.00 33% 2.67 2.7
|
|
||||||
13.00 31% 2.55 2.5
|
|
||||||
12.00 29% 2.43 2.4
|
|
||||||
11.00 26% 2.31 2.3
|
|
||||||
10.00 24% 2.19 2.2
|
|
||||||
9.00 21% 2.07 2.1
|
|
||||||
8.00 19% 1.95 2.0
|
|
||||||
7.00 17% 1.83 1.8
|
|
||||||
6.00 14% 1.71 1.7
|
|
||||||
5.00 12% 1.60 1.6
|
|
||||||
4.00 10% 1.48 1.5
|
|
||||||
3.00 7% 1.36 1.4
|
|
||||||
2.00 5% 1.24 1.2
|
|
||||||
1.00 2% 1.12 1.1
|
|
||||||
0.00 0% 1.00 1.0
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,25 +0,0 @@
|
|||||||
# Aufgabe "Lieferung ins Zahlungssystem"
|
|
||||||
|
|
||||||
**Files**
|
|
||||||
|
|
||||||
<https://haraldmueller.ch/schoolerinvoices/out> (Passwort auf html-Seite: tbz)
|
|
||||||
<br><https://haraldmueller.ch/schoolerinvoices/in> (Passwort: tbz)
|
|
||||||
|
|
||||||
FTP-Server: ftp.haraldmueller.ch
|
|
||||||
Benutzer: schoolerinvoices
|
|
||||||
Passwort: Berufsschule8005!
|
|
||||||
|
|
||||||
<br>
|
|
||||||
**Verarbeitung starten:**
|
|
||||||
|
|
||||||
<https://coinditorei.com/zahlungssystem> (Passwort: tbz)
|
|
||||||
|
|
||||||
|
|
||||||
**Files**
|
|
||||||
|
|
||||||
<https://coinditorei.com/zahlungssystem/in> (Passwort: tbz)
|
|
||||||
<br><https://coinditorei.com/zahlungssystem/out> (Passwort: tbz)
|
|
||||||
|
|
||||||
FTP-Server: ftp.coinditorei.com
|
|
||||||
Benutzer: zahlungssystem
|
|
||||||
Passwort: Berufsschule8005!
|
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Header><From>IPEC</From><To>Coop Mineralöl AG</To><UseCase>GetProcessProtocol</UseCase><SessionID /><Version>1.1</Version><Status>0</Status></Header><Body><BillerID>41101000000240844</BillerID><DeliveryDate date="20150106"><NumberBills>1</NumberBills><OK_Signed>1</OK_Signed><OK_Result><Signed>1</Signed><Bill><TransactionID>729122x000005xEBPxCOOPx01022015x000093</TransactionID></Bill></OK_Result><NOK_Result><NotSigned>0</NotSigned></NOK_Result></DeliveryDate><RejectedBills><NumberBills>1</NumberBills><Bill><TransactionID>729122x000005xEBPxCOOPx01022015x000093</TransactionID><EBillAccountID>41100000077682784</EBillAccountID><ESRReference>911754000000012218285587591</ESRReference><TotalAmount>10.80</TotalAmount><ReasonCode>25</ReasonCode><ReasonText>eBill Rejected by Customer / Payer</ReasonText><Date>2015-02-27</Date></Bill></RejectedBills></Body></Envelope>
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,149 +0,0 @@
|
|||||||
<XML-FSCM-INVOICE-2003A>
|
|
||||||
<INTERCHANGE>
|
|
||||||
<IC-SENDER>
|
|
||||||
<Pid>41010000001234567</Pid>
|
|
||||||
</IC-SENDER>
|
|
||||||
<IC-RECEIVER>
|
|
||||||
<Pid>41010106799303734</Pid>
|
|
||||||
</IC-RECEIVER>
|
|
||||||
<IR-Ref />
|
|
||||||
</INTERCHANGE>
|
|
||||||
<INVOICE>
|
|
||||||
<HEADER>
|
|
||||||
<FUNCTION-FLAGS>
|
|
||||||
<Confirmation-Flag />
|
|
||||||
<Canellation-Flag />
|
|
||||||
</FUNCTION-FLAGS>
|
|
||||||
<MESSAGE-REFERENCE>
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>eindeutige Rechnungsnummer</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</MESSAGE-REFERENCE>
|
|
||||||
<PRINT-DATE>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</PRINT-DATE>
|
|
||||||
<REFERENCE>
|
|
||||||
<INVOICE-REFERENCE>
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>eindeutigeRechnungsnummer</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</INVOICE-REFERENCE>
|
|
||||||
<ORDER>
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>eindeutigeNummer3</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</ORDER>
|
|
||||||
<REMINDER Which="MAH">
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>eindeutigeNummer4</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</REMINDER>
|
|
||||||
<OTHER-REFERENCE Type="ADE|CR|CT">
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>eindeutigeNummer4</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</OTHER-REFERENCE>
|
|
||||||
</REFERENCE>
|
|
||||||
<BILLER>
|
|
||||||
<Tax-No>CHE-111.222.333 MWST</Tax-No>
|
|
||||||
<Doc-Reference Type="ESR-NEU|ESR-ALT|IPI"></Doc-Reference>
|
|
||||||
<PARTY-ID>
|
|
||||||
<Pid>41010000001234567</Pid>
|
|
||||||
</PARTY-ID>
|
|
||||||
<NAME-ADDRESS Format="COM">
|
|
||||||
<NAME>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
</NAME>
|
|
||||||
<STREET>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
</STREET>
|
|
||||||
<City></City>
|
|
||||||
<State></State>
|
|
||||||
<Zip></Zip>
|
|
||||||
<Country></Country>
|
|
||||||
</NAME-ADDRESS>
|
|
||||||
<BANK-INFO>
|
|
||||||
<Acct-No></Acct-No>
|
|
||||||
<Acct-Name></Acct-Name>
|
|
||||||
<BankId Type="BCNr-nat|BCNr-int|Bic|Esr|Iban" Country="CH">001996</BankId>
|
|
||||||
</BANK-INFO>
|
|
||||||
</BILLER>
|
|
||||||
<PAYER>
|
|
||||||
<PARTY-ID>
|
|
||||||
<Pid>41010106799303734</Pid>
|
|
||||||
</PARTY-ID>
|
|
||||||
<NAME-ADDRESS Format="COM">
|
|
||||||
<NAME>
|
|
||||||
<Line-35>Vorname Nachname</Line-35>
|
|
||||||
<Line-35>Musterstrasse 12</Line-35>
|
|
||||||
<Line-35>3052 Zollikofen</Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
</NAME>
|
|
||||||
<STREET>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
</STREET>
|
|
||||||
<City></City>
|
|
||||||
<State></State>
|
|
||||||
<Zip></Zip>
|
|
||||||
<Country></Country>
|
|
||||||
</NAME-ADDRESS>
|
|
||||||
</PAYER>
|
|
||||||
</HEADER>
|
|
||||||
<LINE-ITEM />
|
|
||||||
<SUMMARY>
|
|
||||||
<INVOICE-AMOUNT>
|
|
||||||
<Amount>0000021095</Amount>
|
|
||||||
</INVOICE-AMOUNT>
|
|
||||||
<VAT-AMOUNT>
|
|
||||||
<Amount></Amount>
|
|
||||||
</VAT-AMOUNT>
|
|
||||||
<DEPOSIT-AMOUNT>
|
|
||||||
<Amount></Amount>
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>eindeutigeNummer4</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</DEPOSIT-AMOUNT>
|
|
||||||
<EXTENDED-AMOUNT Type="79">
|
|
||||||
<Amount></Amount>
|
|
||||||
</EXTENDED-AMOUNT>
|
|
||||||
<TAX>
|
|
||||||
<TAX-BASIS>
|
|
||||||
<Amount></Amount>
|
|
||||||
</TAX-BASIS>
|
|
||||||
<Rate Categorie="S|E">0</Rate>
|
|
||||||
<Amount></Amount>
|
|
||||||
</TAX>
|
|
||||||
<PAYMENT-TERMS>
|
|
||||||
<BASIC Payment-Type="ESR|ESP|NPY" Terms-Type="1|5">
|
|
||||||
<TERMS>
|
|
||||||
<Payment-Period Type="CD|M" On-Or-After="1|3" Reference-Day="5|29">30</Payment-Period>
|
|
||||||
<Date>20130831</Date>
|
|
||||||
</TERMS>
|
|
||||||
</BASIC>
|
|
||||||
<DISCOUNT Terms-Type="22">
|
|
||||||
<Discount-Percentage>2.0</Discount-Percentage>
|
|
||||||
<TERMS>
|
|
||||||
<Payment-Period Type="CD|M" On-Or-After="1|3" Reference-Day="5|29">30</Payment-Period>
|
|
||||||
<Date>20130831</Date>
|
|
||||||
</TERMS>
|
|
||||||
<Back-Pack-Container Encode="Base64|Hex">xxyy</Back-Pack-Container>
|
|
||||||
</DISCOUNT>
|
|
||||||
</PAYMENT-TERMS>
|
|
||||||
</SUMMARY>
|
|
||||||
</INVOICE>
|
|
||||||
</XML-FSCM-INVOICE-2003A>
|
|
@ -1,5 +0,0 @@
|
|||||||
Rechnung_21003;Auftrag_A003;Zürich;21.03.2021;10:22:54;ZahlungszielInTagen_30
|
|
||||||
Herkunft;41010000001234567;K821;Adam Adler;Bahnhofstrasse 1;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
|
|
||||||
Endkunde;41301000000012497;Autoleasing AG;Gewerbestrasse 100;5000 Aarau
|
|
||||||
RechnPos;1;Einrichten E-Mailclients;6;25.00;150.00;MWST_0.00%
|
|
||||||
RechnPos;2;Konfig & Schulung Scanningcenter;1;1200.00;1200.00;MWST_0.00%
|
|
@ -1,65 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Adam Adler
|
|
||||||
Bahnhofstrasse 1
|
|
||||||
8000 Zuerich
|
|
||||||
|
|
||||||
CHE-111.222.333 MWST
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Uster, den 31.07.2020 Autoleasing AG
|
|
||||||
Gewerbestrasse 100
|
|
||||||
5000 Aarau
|
|
||||||
|
|
||||||
Kundennummer: K821
|
|
||||||
Auftragsnummer: A003
|
|
||||||
|
|
||||||
Rechnung Nr 21003
|
|
||||||
-----------------------
|
|
||||||
1 Einrichten E-Mailclients 6 25.00 CHF 150.00 0.00%
|
|
||||||
2 Konfig & Schulung Scanningcenter 1 1200.00 CHF 1200.00 0.00%
|
|
||||||
-----------
|
|
||||||
Total CHF 1350.00
|
|
||||||
|
|
||||||
MWST CHF 0.00
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Zahlungsziel ohne Abzug 30 Tage (30.08.2020)
|
|
||||||
|
|
||||||
Einzahlungsschein
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1350 . 00 1350 . 00 Autoleasing AG
|
|
||||||
Gewerbestrasse 100
|
|
||||||
0 00000 00000 00000 5000 Aarau
|
|
||||||
|
|
||||||
Autoleasing AG
|
|
||||||
Gewerbestrasse 100
|
|
||||||
5000 Aarau
|
|
@ -1,149 +0,0 @@
|
|||||||
<XML-FSCM-INVOICE-2003A>
|
|
||||||
<INTERCHANGE>
|
|
||||||
<IC-SENDER>
|
|
||||||
<Pid>41010000001234567</Pid>
|
|
||||||
</IC-SENDER>
|
|
||||||
<IC-RECEIVER>
|
|
||||||
<Pid>41301000000012497</Pid>
|
|
||||||
</IC-RECEIVER>
|
|
||||||
<IR-Ref />
|
|
||||||
</INTERCHANGE>
|
|
||||||
<INVOICE>
|
|
||||||
<HEADER>
|
|
||||||
<FUNCTION-FLAGS>
|
|
||||||
<Confirmation-Flag />
|
|
||||||
<Canellation-Flag />
|
|
||||||
</FUNCTION-FLAGS>
|
|
||||||
<MESSAGE-REFERENCE>
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>202007164522001</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</MESSAGE-REFERENCE>
|
|
||||||
<PRINT-DATE>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</PRINT-DATE>
|
|
||||||
<REFERENCE>
|
|
||||||
<INVOICE-REFERENCE>
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>21003</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</INVOICE-REFERENCE>
|
|
||||||
<ORDER>
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>A003</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</ORDER>
|
|
||||||
<REMINDER Which="MAH">
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No></Reference-No>
|
|
||||||
<Date></Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</REMINDER>
|
|
||||||
<OTHER-REFERENCE Type="ADE">
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No>12345678</Reference-No>
|
|
||||||
<Date>20200731</Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</OTHER-REFERENCE>
|
|
||||||
</REFERENCE>
|
|
||||||
<BILLER>
|
|
||||||
<Tax-No>CHE-111.222.333 MWST</Tax-No>
|
|
||||||
<Doc-Reference Type="ESR-ALT "></Doc-Reference>
|
|
||||||
<PARTY-ID>
|
|
||||||
<Pid>41010000001234567</Pid>
|
|
||||||
</PARTY-ID>
|
|
||||||
<NAME-ADDRESS Format="COM">
|
|
||||||
<NAME>
|
|
||||||
<Line-35>Adam Adler</Line-35>
|
|
||||||
<Line-35>Bahnhofstrasse 1</Line-35>
|
|
||||||
<Line-35>8000 Zürich</Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
</NAME>
|
|
||||||
<STREET>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
</STREET>
|
|
||||||
<City></City>
|
|
||||||
<State></State>
|
|
||||||
<Zip></Zip>
|
|
||||||
<Country></Country>
|
|
||||||
</NAME-ADDRESS>
|
|
||||||
<BANK-INFO>
|
|
||||||
<Acct-No></Acct-No>
|
|
||||||
<Acct-Name></Acct-Name>
|
|
||||||
<BankId Type="BCNr-nat" Country="CH">001996</BankId>
|
|
||||||
</BANK-INFO>
|
|
||||||
</BILLER>
|
|
||||||
<PAYER>
|
|
||||||
<PARTY-ID>
|
|
||||||
<Pid>41301000000012497</Pid>
|
|
||||||
</PARTY-ID>
|
|
||||||
<NAME-ADDRESS Format="COM">
|
|
||||||
<NAME>
|
|
||||||
<Line-35>Autoleasing AG</Line-35>
|
|
||||||
<Line-35>Gewerbestrasse 100</Line-35>
|
|
||||||
<Line-35>5000 Aarau</Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
</NAME>
|
|
||||||
<STREET>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
<Line-35></Line-35>
|
|
||||||
</STREET>
|
|
||||||
<City></City>
|
|
||||||
<State></State>
|
|
||||||
<Zip></Zip>
|
|
||||||
<Country></Country>
|
|
||||||
</NAME-ADDRESS>
|
|
||||||
</PAYER>
|
|
||||||
</HEADER>
|
|
||||||
<LINE-ITEM />
|
|
||||||
<SUMMARY>
|
|
||||||
<INVOICE-AMOUNT>
|
|
||||||
<Amount>0000135000</Amount>
|
|
||||||
</INVOICE-AMOUNT>
|
|
||||||
<VAT-AMOUNT>
|
|
||||||
<Amount></Amount>
|
|
||||||
</VAT-AMOUNT>
|
|
||||||
<DEPOSIT-AMOUNT>
|
|
||||||
<Amount></Amount>
|
|
||||||
<REFERENCE-DATE>
|
|
||||||
<Reference-No></Reference-No>
|
|
||||||
<Date></Date>
|
|
||||||
</REFERENCE-DATE>
|
|
||||||
</DEPOSIT-AMOUNT>
|
|
||||||
<EXTENDED-AMOUNT Type="79">
|
|
||||||
<Amount></Amount>
|
|
||||||
</EXTENDED-AMOUNT>
|
|
||||||
<TAX>
|
|
||||||
<TAX-BASIS>
|
|
||||||
<Amount></Amount>
|
|
||||||
</TAX-BASIS>
|
|
||||||
<Rate Categorie="S">0</Rate>
|
|
||||||
<Amount></Amount>
|
|
||||||
</TAX>
|
|
||||||
<PAYMENT-TERMS>
|
|
||||||
<BASIC Payment-Type="ESR" Terms-Type="1">
|
|
||||||
<TERMS>
|
|
||||||
<Payment-Period Type="M" On-Or-After="1" Reference-Day="31">30</Payment-Period>
|
|
||||||
<Date>20200831</Date>
|
|
||||||
</TERMS>
|
|
||||||
</BASIC>
|
|
||||||
<DISCOUNT Terms-Type="22">
|
|
||||||
<Discount-Percentage>0.0</Discount-Percentage>
|
|
||||||
<TERMS>
|
|
||||||
<Payment-Period Type="M" On-Or-After="1" Reference-Day="31"></Payment-Period>
|
|
||||||
<Date></Date>
|
|
||||||
</TERMS>
|
|
||||||
<Back-Pack-Container Encode="Base64"> </Back-Pack-Container>
|
|
||||||
</DISCOUNT>
|
|
||||||
</PAYMENT-TERMS>
|
|
||||||
</SUMMARY>
|
|
||||||
</INVOICE>
|
|
||||||
</XML-FSCM-INVOICE-2003A>
|
|
@ -1,3 +0,0 @@
|
|||||||
20200109-103503 K123_54321_invoice.xml verarbeitet -- RechnungsNr:54321/Kundennummer:K123/TotalCHF:1350.00/
|
|
||||||
|
|
||||||
20200109-103503 K123_54321_invoice.txt verarbeitet -- FirmaX;HaraldMueller;Rainstrasse27;8610Uster;CHE-999.888.777MWST;Kundennummer:K123;RechnungNr54321;TotalCHF1350.00;ZahlungszielohneAbzug30Tage(20.02.2012)
|
|
Binary file not shown.
Binary file not shown.
@ -1,35 +0,0 @@
|
|||||||
|
|
||||||
# Method to write an email with the logfile as attachement
|
|
||||||
#--------------------------------------------------------------------------------------------------
|
|
||||||
function sendmail() {
|
|
||||||
$toMail = "harald.mueller@bluewin.ch"
|
|
||||||
$attachment = "C:\Users\Harald\OneDrive\Technik\mails\data.pdf"
|
|
||||||
|
|
||||||
$SMTPServer = "smtp.gmail.com"
|
|
||||||
$SMTPPort = "587"
|
|
||||||
$Username = "invoice.autointerleasing@gmail.com"
|
|
||||||
|
|
||||||
# password of the mail account
|
|
||||||
$Password = "invoice77autointerleasing" | ConvertTo-SecureString -AsPlainText -Force
|
|
||||||
|
|
||||||
$subject = "Powi mail"
|
|
||||||
$body = "Logfile has been modified. Please review attached document $entry."
|
|
||||||
|
|
||||||
$message = New-Object System.Net.Mail.MailMessage
|
|
||||||
$message.subject = $subject
|
|
||||||
$message.body = $body
|
|
||||||
$message.to.add($toMail)
|
|
||||||
$message.from = $username
|
|
||||||
$message.attachments.add($attachment)
|
|
||||||
|
|
||||||
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
|
|
||||||
$smtp.EnableSSL = $true
|
|
||||||
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
|
|
||||||
$smtp.send($message)
|
|
||||||
}
|
|
||||||
## (Get-Credential).password | ConvertFrom-SecureString > mailpasswort.txt
|
|
||||||
## $pw = Get-Content .\mailpasswort.txt | ConvertTo-SecureString
|
|
||||||
## $cred = New-Object System.Management.Automation.PSCredential "MailUser", $pw
|
|
||||||
## Send-MailMessage -Credential $cred -to "harald.mueller@bluewin.ch" -from "PowerShell <ps@fabrikam.de>" -Subject "Test" -body "Test für Send-MailMessage"
|
|
||||||
|
|
||||||
sendmail
|
|
@ -1,83 +0,0 @@
|
|||||||
## (Get-Credential).password | ConvertFrom-SecureString > mailpasswort.txt
|
|
||||||
## $pw = Get-Content .\mailpasswort.txt | ConvertTo-SecureString
|
|
||||||
## $cred = New-Object System.Management.Automation.PSCredential "MailUser", $pw
|
|
||||||
## Send-MailMessage -Credential $cred -to "harald.mueller@bluewin.ch" -from "PowerShell <ps@fabrikam.de>" -Subject "Test" -body "Test für Send-MailMessage"
|
|
||||||
|
|
||||||
$body =
|
|
||||||
"IHRE RECHNUNG VON AUTO-INTERLEASING AG
|
|
||||||
VOTRE FACTURE D'AUTO-INTERLEASING SA
|
|
||||||
|
|
||||||
Sehr geehrte Damen und Herren
|
|
||||||
Madame, Monsieur,
|
|
||||||
|
|
||||||
Mit dieser Mail erhalten Sie die aktuelle Rechnung von Auto-Interleasing als PDF. Die Papierrechnung erhalten Sie wie gewohnt mit der Post.
|
|
||||||
Par ce présent courrier, nous vous transmettons la facture d'Auto-Interleasing en version PDF. La facture papier vous parviendra comme d'habitude par courrier postal.
|
|
||||||
|
|
||||||
Wir bitten Sie, den offenen Betrag unter Einhaltung der Zahlungsfrist an die auf dem beigefügten Einzahlungsschein vermerkten Kontonummer zu überweisen.
|
|
||||||
Nous vous prions de verser le montant dû conformément au délai de paiement mentionné sur le bulletin de versement joint.
|
|
||||||
|
|
||||||
Einzahlung für:
|
|
||||||
Versement pour:
|
|
||||||
|
|
||||||
Auto-Interleasing AG
|
|
||||||
St. Jakob-Strasse 72
|
|
||||||
4132 Muttenz
|
|
||||||
|
|
||||||
IBAN: CH21 0023 3233 1012 5122 0
|
|
||||||
|
|
||||||
|
|
||||||
Freundliche Grüsse,
|
|
||||||
Avec nos cordiales salutations,
|
|
||||||
|
|
||||||
Auto-Interleasing AG
|
|
||||||
St. Jakob-Strasse 72
|
|
||||||
4132 Muttenz
|
|
||||||
+41 61 319 32 32
|
|
||||||
info@auto-interleasing.ch
|
|
||||||
www.auto-interleasing.ch
|
|
||||||
|
|
||||||
|
|
||||||
Für die elektronische Rechnung sind Sie mit obiger E-Mail-Adresse bei uns registriert.
|
|
||||||
Pour l'envoi des factures par voie électronique, vous êtes inscrits avec l'adresse e-mail mentionnée ci-dessus
|
|
||||||
|
|
||||||
Allfällige Änderungen Ihrer E-Mail-Adresse teilen Sie bitte unverzüglich Ihrem Kundenbetreuer mit.
|
|
||||||
Pour toute modification de votre adresse e-mail, nous vous prions de contacter votre gestionnaire.
|
|
||||||
|
|
||||||
Bitte beachten Sie, dass Antworten auf diese E-Mail-Adresse leider nicht beantwortet werden können.
|
|
||||||
Im Falle von Rückfragen oder Unklarheiten wenden Sie sich bitte an Ihren zuständigen Kundenbetreuer.
|
|
||||||
|
|
||||||
Vielen Dank!
|
|
||||||
|
|
||||||
Veuillez prendre note qu'aucune correspondance ne peut être échangée par le biais de cette adresse e-mail.
|
|
||||||
Pour toutes questions ou informations, nous vous prions de contacter votre gestionnaire. Merci beaucoup !
|
|
||||||
"
|
|
||||||
$SMTPHost = "smtp.gmail.com"
|
|
||||||
$SMTPPort = "587"
|
|
||||||
$Username = "invoice.autointerleasing@gmail.com"
|
|
||||||
$Password = "invoice77autointerleasing" | ConvertTo-SecureString -AsPlainText -Force
|
|
||||||
|
|
||||||
$subjectFixtext = "RECHNUNG/FACTURE"
|
|
||||||
|
|
||||||
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPHost, $SMTPPort);
|
|
||||||
$smtp.EnableSSL = $true
|
|
||||||
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
|
|
||||||
|
|
||||||
$message = New-Object System.Net.Mail.MailMessage
|
|
||||||
$message.from = $username
|
|
||||||
$message.body = $body
|
|
||||||
|
|
||||||
# Method to write an email with the logfile as attachement
|
|
||||||
function sendmail ([String] $toMail, [String] $attachment, [String] $RgNr) {
|
|
||||||
# $toMail = "harald.mueller@bluewin.ch"
|
|
||||||
# $attachment = "C:\Users\Harald\OneDrive\Technik\mails\data.pdf"
|
|
||||||
|
|
||||||
$message.to.add("$toMail")
|
|
||||||
$message.attachments.add("$attachment")
|
|
||||||
$message.subject = $subjectFixtext + " Nr. " + $RgNr
|
|
||||||
|
|
||||||
echo $toMail
|
|
||||||
echo $attachment
|
|
||||||
# $smtp.send($message)
|
|
||||||
}
|
|
||||||
|
|
||||||
sendmail ("harald.mueller@bluewin.ch", "C:\Users\Harald\OneDrive\Technik\mails\data.pdf", "1")
|
|
File diff suppressed because it is too large
Load Diff
@ -1,213 +0,0 @@
|
|||||||
# M122 - Aufgabe
|
|
||||||
|
|
||||||
## Emailadressen und Brief erstellen
|
|
||||||
|
|
||||||
Files, Listen/Arrays, String-Operationen, Archive, Mailing, FTP, Print
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
|
|
||||||
**Warnung**:<br>
|
|
||||||
<mark>Unterschätzen Sie die Aufgabe nicht! Es kann gut sein, dass Sie weit
|
|
||||||
über *8 Stunden* Entwicklungs- und Testzeit aufwenden müssen (der Teufel
|
|
||||||
liegt im Detail). Grade das Mailen und der FTP-Transfer kann tückisch sein!
|
|
||||||
Es ist die grosse Menge an Kleinigkeiten, die Sie lösen und beherrschen müssen.
|
|
||||||
</mark>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
### Ausgangslage
|
|
||||||
|
|
||||||
Sie sind in der internen Informatik der TBZ und Sie
|
|
||||||
bekommen für den bevorstehenden Schulanfang eine
|
|
||||||
[**Liste von Namen** (MOCK_DATA.csv)](MOCK_DATA.csv),
|
|
||||||
die alle eine neue Emailadressen bekommen sollen.
|
|
||||||
|
|
||||||
Zur **Emailadresse** soll auch ein **Initialpasswort**
|
|
||||||
generiert werden. Emailadressen und Passwörter
|
|
||||||
müssen "korrekte" Zeichen enthalten. Also keine
|
|
||||||
Klammern, Apostrophe, Akzente, Leerzeichen usw.
|
|
||||||
Aber Vorsicht: Die Inputdaten sind nicht rein, das
|
|
||||||
ist auch eine Ihrer Aufgaben, dieses Problem zu lösen.
|
|
||||||
|
|
||||||
|
|
||||||
### Stufe 1
|
|
||||||
|
|
||||||
Sie müssen, um das System zu füttern, eine
|
|
||||||
Liste aller Emailadressen und (dazugehörige,
|
|
||||||
automatisch generierte) Passwörter in einer
|
|
||||||
Datei namens <br>**YYYY-MM-DD_HH-SS_mailimports.csv**
|
|
||||||
erstellen lassen.
|
|
||||||
|
|
||||||
[GenerierteEmailadresse1];[GeneriertesPasswort1]
|
|
||||||
[GenerierteEmailadresse2];[GeneriertesPasswort2]
|
|
||||||
...
|
|
||||||
[GenerierteEmailadresse999];[GeneriertesPasswort999]
|
|
||||||
|
|
||||||
|
|
||||||
### Stufe 2
|
|
||||||
|
|
||||||
Alle Personen, die jetzt eine neue Emailadresse und Passwort bekommen,
|
|
||||||
sollen per Papierbrief benachrichtigt werden. Erstellen Sie pro neuer
|
|
||||||
Emailadresse folgende Datei <br>**YYYY-MM-DD_HH-SS_[GenerierteEmailadresse].brf**
|
|
||||||
<br><br>(Die Anschriftadresse passt in ein Fenster-Kuvert, die Distanz machen Sie mit Leerzeichen)
|
|
||||||
|
|
||||||
Technische Berufsschule Zürich
|
|
||||||
Ausstellungsstrasse 70
|
|
||||||
8005 Zürich
|
|
||||||
|
|
||||||
Zürich, den [DD.MM.YYYY]
|
|
||||||
|
|
||||||
[Vorname] [Nachname]
|
|
||||||
[Strasse] [StrNummer]
|
|
||||||
[Postleitzahl] [Ort]
|
|
||||||
|
|
||||||
|
|
||||||
Liebe:r [Vorname]
|
|
||||||
|
|
||||||
Es freut uns, Sie im neuen Schuljahr begrüssen zu dürfen.
|
|
||||||
|
|
||||||
Damit Sie am ersten Tag sich in unsere Systeme einloggen
|
|
||||||
können, erhalten Sie hier Ihre neue Emailadresse und Ihr
|
|
||||||
Initialpasswort, das Sie beim ersten Login wechseln müssen.
|
|
||||||
|
|
||||||
Emailadresse: [GenerierteEmailadresse]
|
|
||||||
Passwort: [GeneriertesPasswort]
|
|
||||||
|
|
||||||
|
|
||||||
Mit freundlichen Grüssen
|
|
||||||
|
|
||||||
[IhrVorname] [IhrNachname]
|
|
||||||
(TBZ-IT-Service)
|
|
||||||
|
|
||||||
|
|
||||||
admin.it@tbz.ch, Abt. IT: +41 44 446 96 60
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Stufe 3
|
|
||||||
|
|
||||||
Erstellen Sie eine Archiv-Datei von **allen Dateien**, also
|
|
||||||
von der Mai-/Passwortliste und auch aller Briefe. Der Dateiname soll so aussehen:
|
|
||||||
<br>**YYYY-MM-DD_HH-SS_newMails_[IhreKlasse_IhrNachname].tar** (oder .zip oder .rar je nach Technik)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Stufe 4
|
|
||||||
|
|
||||||
Später wird diese obigen Prozesse vollautomatisch erstellt werden. Dafür erstellen
|
|
||||||
Sie ein Mail, damit Sie erstens wissen, wann die Generierung der Liste und die Briefe
|
|
||||||
fertig ist und zweitens, dass Sie Resultate in einem ersten Ausbau mal an sich selber
|
|
||||||
zu schicken. Später könnten Sie dann das Mail an die Zeilperson schicken (kann auch
|
|
||||||
die Lehrperson sein).
|
|
||||||
<br>Gestalten Sie das Mail mit folgendem Text und hängen Sie die Archiv-Datei als
|
|
||||||
"attachment" an.
|
|
||||||
|
|
||||||
Beachten Sie: Sie haben normalerweise kein Mailserver auf Ihrem Rechner (oder VM).
|
|
||||||
Sie müssen entweder einen solchen (zusätzlich) installieren oder Sie benutzen eine
|
|
||||||
"Wegwerf-Mailadresse" über einen Gratis-Provider (z.B. gmx.ch, gmail.com, ...). Ihre
|
|
||||||
TBZ-Mailadresse können Sie nicht nehmen, da das von der Security her unterbunden wird.
|
|
||||||
<br>
|
|
||||||
<br>[Mail mit PowerShell](../tools-technics/mailing-mit-powershell.jpg)
|
|
||||||
<br>[Mail mit Python](../tools-technics/mailing-mit-python.jpg)
|
|
||||||
|
|
||||||
Subject:
|
|
||||||
|
|
||||||
Neue TBZ-Mailadressen [NumberOfNewMails]
|
|
||||||
|
|
||||||
Body:
|
|
||||||
|
|
||||||
Lieber [wählen sie selber eine Anrede je nach Adressat]
|
|
||||||
|
|
||||||
Die Emailadressen-Generierung ist beendet.
|
|
||||||
Es wurden [NumberOfNewMails] erzeugt.
|
|
||||||
|
|
||||||
Bei Fragen kontaktiere bitte [IhreTBZ-Emailadresse]
|
|
||||||
|
|
||||||
Gruss [IhrVorname] [IhrNachname]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Stufe 5
|
|
||||||
|
|
||||||
Die Archiv-Datei schicken Sie nun auf einen fremden Rechner mittels **FTP**. (Von der
|
|
||||||
sicheren Datenübertragung wie FTPs sehen wir hier mal ab damit Sie nicht zusätzlich
|
|
||||||
ausgebremst werden).
|
|
||||||
Benutzen Sie bitte folgende Zugangsdaten:
|
|
||||||
|
|
||||||
|
|
||||||
Browserzugang zum Testen oder Nachschauen:
|
|
||||||
|
|
||||||
[https://haraldmueller.ch/schueler](https://haraldmueller.ch/schueler) (Passwort: "tbz")
|
|
||||||
|
|
||||||
|
|
||||||
FTP-Zugangsdaten:
|
|
||||||
|
|
||||||
HOST: "ftp.haraldmueller.ch"
|
|
||||||
USER: "schueler"
|
|
||||||
PASS: "studentenpasswort"
|
|
||||||
PATH: "/M122-[IhreKlasse]" (z.B. /M122-AP22b)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Stufe 6
|
|
||||||
|
|
||||||
Schicken Sie zwei bis drei der erstellten Briefe an Ihren Standard-Drucker.
|
|
||||||
(Tipp: Stellen Sie Ihren Standard-Drucker auf "Print to PDF" ein, damit Sie
|
|
||||||
besser testen können und zudem auch kein Papier verbrauchen müssen)
|
|
||||||
|
|
||||||
|
|
||||||
### Stufe 7
|
|
||||||
|
|
||||||
Finden Sie heraus, was man machen muss, wenn es in der Liste zwei Personen
|
|
||||||
hat, die den gleichen Vornamen und Nachnamen haben (solls ja geben).
|
|
||||||
Wie teilen Sie wem welche Emailadresse zu?
|
|
||||||
|
|
||||||
|
|
||||||
### Stufe 8
|
|
||||||
|
|
||||||
Sie binden Ihr Skript in den Scheduler (CronTab, Aufgabenplaner) ein. Die
|
|
||||||
Input-Daten bekommen Sie vom gleichen Ort wie in Stufe 5.
|
|
||||||
Sie müssen sie via FTP abholen.
|
|
||||||
|
|
||||||
|
|
||||||
### Abgabe-Bedingung
|
|
||||||
|
|
||||||
Der Abgabezeitraum gibt die Lehrperson bekannt und
|
|
||||||
ist etwa **30 Minuten** lang. In dieser Zeit muss
|
|
||||||
ihr System **über ein Start-Skript** laufen.
|
|
||||||
Eingriffe "von Hand" sind nicht erlaubt. <mark>Es zählt, was Ihr
|
|
||||||
System zum Abgabe- und Testzeitpunkt leistet</mark>. Für diesen
|
|
||||||
**Abschluss-Test** wird von Ihrer Lehrperson eine
|
|
||||||
**separates Test-Datei** in der gleichen Form bereitgestellt, die dann
|
|
||||||
korrekt verarbeitet werden soll.
|
|
||||||
|
|
||||||
|
|
||||||
## Bewertung
|
|
||||||
|
|
||||||
| Stufe | Beschreibung | Punkte |
|
|
||||||
|-------|--------------|--------|
|
|
||||||
| 1 | Datei mit Mailadr./Passw. liegt vor | 4 |
|
|
||||||
| 2 | Alle Briefe korrekt erstellt | 4 |
|
|
||||||
| 3 | Archiv-Datei erstellt | 1 |
|
|
||||||
| 4 | Korrektes Mail kommt samt Att. an | 4 |
|
|
||||||
| 5 | FTP-Transfer kommt korrekt an | 3 |
|
|
||||||
| 6 | Briefe liegen auf dem Drucker | 1 |
|
|
||||||
| 7 | Dublettenkontrolle | 2 |
|
|
||||||
| 8 | Vollautomatische Verarbeitung | 2 |
|
|
||||||
| Total | | **20** |
|
|
||||||
|
|
||||||
|
|
||||||
### Noten
|
|
||||||
|
|
||||||
| Note| Punkte |
|
|
||||||
|-----|-----------|
|
|
||||||
| 6.0 | über 19.0 |
|
|
||||||
| 5.5 | 17.0-19.0 |
|
|
||||||
| 5.0 | 15.0-16.5 |
|
|
||||||
| 4.5 | 13.0-14.5 |
|
|
||||||
| 4.0 | 11.0-12.5 |
|
|
||||||
| 3.5 | 9.0-10.5 |
|
|
||||||
| 1.0 |Nichtabgabe|
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,48 +0,0 @@
|
|||||||
# man kann auch eine Liste von Adresssaten angeben a@xy.com, b@xy.com
|
|
||||||
$to = "harald.mueller@bluewin.ch"
|
|
||||||
$cc = ""
|
|
||||||
$bcc = ""
|
|
||||||
|
|
||||||
$subject = "Email Subject"
|
|
||||||
$body = "Hallo "+$To.Split("@")[0]
|
|
||||||
$body += "`n"
|
|
||||||
$body += "`n`nSchön, dass das klappt mit dem Mail!"
|
|
||||||
$body += "`n"
|
|
||||||
$body += "`nMit freundlichen Grüssen"
|
|
||||||
$body += "`nHarald Müller"
|
|
||||||
|
|
||||||
|
|
||||||
$SMTPServer = "mta.tam.ch" # Mailserver der Berufsschulen des Kantons Zürich
|
|
||||||
$SMTPPort = "587" # SSL-Port ist 587, Normal-Port wäre 465, man müsste dann aber "$SMTP_objekt.EnableSSL = $false" setzen
|
|
||||||
# vorname.nachname@edu.tbz.ch
|
|
||||||
$Username = "harald.mueller@tbz.ch"
|
|
||||||
$Password = "" # Hier Passwort eingeben
|
|
||||||
|
|
||||||
|
|
||||||
$Message_Objekt = New-Object System.Net.Mail.MailMessage
|
|
||||||
$Message_Objekt.from = $username
|
|
||||||
$Message_Objekt.subject = $subject
|
|
||||||
$Message_Objekt.body = $body
|
|
||||||
$Message_Objekt.to.add($to)
|
|
||||||
if ($cc.Length -gt 5) { # falls ein cc angegeben wurde
|
|
||||||
$Message_Objekt.cc.add($cc)
|
|
||||||
}
|
|
||||||
if ($bcc.Length -gt 5) { # falls ein bcc angegeben wurde
|
|
||||||
$Message_Objekt.Bcc.add($bcc)
|
|
||||||
}
|
|
||||||
|
|
||||||
$Message_Objekt.Attachments.add("C:\Users\harald\OneDrive - TBZ\M122-AutomMitSkriptenPS\05_Konkrete_Aufgabenstellungen\auto-mailer\mailBeilage1.pdf")
|
|
||||||
|
|
||||||
# es würde auch folgendes gehen
|
|
||||||
#[array]$attachmentArr = @()
|
|
||||||
#$attachmentArr = "mailBeilage1.pdf", "mailBeilage2.pdf"
|
|
||||||
|
|
||||||
#foreach ($a in $attachmentArr) { # falls mehr als eine Datei angegeben wurde wird jedes addiert
|
|
||||||
# $Message_Objekt.Attachments.add($a)
|
|
||||||
#}
|
|
||||||
|
|
||||||
$SMTP_objekt = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
|
|
||||||
$SMTP_objekt.EnableSSL = $true # $False setzen, wenn man den Normal-Port nimmt
|
|
||||||
$SMTP_objekt.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
|
|
||||||
$SMTP_objekt.send($Message_Objekt)
|
|
||||||
write-host "Mail Sent"
|
|
Binary file not shown.
@ -1,78 +0,0 @@
|
|||||||
# M122
|
|
||||||
|
|
||||||
## QR-Rechnungen
|
|
||||||
|
|
||||||
Die QR-Rechnung, die seit Juni 2020 in Umlauf ist,
|
|
||||||
hat am 1. Oktober 2022 die Schweizer Einzahlungsscheine
|
|
||||||
endgültig abgelöst.
|
|
||||||
|
|
||||||
[Zahlungsstandard in der Schweiz (SIX)](https://www.six-group.com/de/products-services/banking-services/payment-standardization/standards/qr-bill.html)
|
|
||||||
|
|
||||||
|
|
||||||
Für diese Aufgsbenstellung werden wir folgende Web-App verwenden
|
|
||||||
|
|
||||||
[**https://qr-rechnung.net**](https://qr-rechnung.net)
|
|
||||||
|
|
||||||
|
|
||||||
Schauen Sie sich hier bitte mal etwas um. Wir verwenden nachher den Use Case **Aus Tabelle generieren**. Sie müssen also nachher eine Tabelle aus Daten erzeugen lassen.
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
**Beispiel-Rechnung**
|
|
||||||
|
|
||||||
[<img src="https://www.einfach-zahlen.ch/content/dam/einfachzahlen/images/home/qr-rechnung-de.png" width="400"/>](https://www.einfach-zahlen.ch/content/dam/einfachzahlen/images/home/qr-rechnung-de.png)
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
## Aufgabenstellung
|
|
||||||
|
|
||||||
**Use Case**
|
|
||||||
|
|
||||||
Sie bekommen die Aufgabe, für Kleingewerbler und
|
|
||||||
Kleinhändler adirekt aus deren Kassensystem, solche
|
|
||||||
Standard-Rechnungen erstellen zu lassen. Die Kassen-
|
|
||||||
Systeme erzeugen Rohdaten, die Sie umformen und eine solche (Input-)Datei zu erstellen.
|
|
||||||
|
|
||||||
**Input**
|
|
||||||
|
|
||||||
Sie bekommen dafür eine Serie von solchen Dateien:
|
|
||||||
<br>[x-ressourcen/rechnung23003.data](x-ressourcen/rechnung23003.data)
|
|
||||||
<br>[x-ressourcen/rechnung23004.data](x-ressourcen/rechnung23004.data)
|
|
||||||
|
|
||||||
|
|
||||||
**Output**
|
|
||||||
|
|
||||||
Mit solchen Daten können Sie über einen Upload korrekte
|
|
||||||
schweizer Rechnungen, wie sie seit 2022 Standard
|
|
||||||
sind, erstellen.
|
|
||||||
|
|
||||||
- [https://qr-rechnung.net/#/table](https://qr-rechnung.net/#/table)
|
|
||||||
- siehe auch
|
|
||||||
<br>[x-ressourcen/beispiel-input-six.csv](x-ressourcen/beispiel-input-six.csv) (downloaded)
|
|
||||||
<br>[x-ressourcen/beispiel-input-six.xlsx](x-ressourcen/beispiel-input-six.xlsx) (selbst erzeugt)
|
|
||||||
<br>[x-ressourcen/QR-Rechnungen.xlsx](x-ressourcen/QR-Rechnungen.xlsx) (downloaded)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Resultat / Abgabe
|
|
||||||
|
|
||||||
Für die Abgabe bekommen Sie von der Lehrperson drei neue .data-Dateien. Diesde sollen dann "in einem Zug/in einem Durchgang" zu einer Tabelle verarbeitet werden.
|
|
||||||
|
|
||||||
Vor den Augen der Lehrperson lassen Sie dann hier
|
|
||||||
[**https://qr-rechnung.net/#/table**](https://qr-rechnung.net/#/table)
|
|
||||||
eine Serie von QR-Rechnungen erstellen.
|
|
||||||
|
|
||||||
|
|
||||||
Bewertet wird dann der Download der QR-Rechnungen (wenns funktioniert). Je perfekter die heruntergeladenen
|
|
||||||
QR-Rechnungen aussehen, desto besser die Note.
|
|
||||||
|
|
||||||
|
|
||||||
## Bewertung / Benotung
|
|
||||||
|
|
||||||
| Note | Beschreibung |
|
|
||||||
|------|--------------|
|
|
||||||
| 6.0 | perfekt, Erwartungen übertroffen |
|
|
||||||
| 5.5 | Gut und Erwartungen übertroffen |
|
|
||||||
| 5.0 | "Gut", keine Nacharbeiten notwendig |
|
|
||||||
| 4.5 | einige Kleinigkeiten stimmen nicht, Nacharbeiten sind/wären notwendig |
|
|
||||||
|
|
Binary file not shown.
@ -1,9 +0,0 @@
|
|||||||
Lang,IBAN,Cdtr_AdrTp,Cdtr_Name,Cdtr_StrtNmOrAdrLine1,Cdtr_BldgNbOrAdrLine2,Cdtr_PstCd,Cdtr_TwnNm,Cdtr_Ctry,Amt,Ccy,UltmtDbtr_AdrTp,UltmtDbtr_Name,UltmtDbtr_StrtNmOrAdrLine1,UltmtDbtr_BldgNbOrAdrLine2,UltmtDbtr_PstCd,UltmtDbtr_TwnNm,UltmtDbtr_Ctry,RefTp,Ref,Ustrd,StrdBkgInf,AltPmt1,AltPmt2,Anrede,Nummer
|
|
||||||
de,CH5800791123000889012,S,"Verein ""Zum Beispiel""",Musterstrasse,123,8000,Seldwyla,CH,50.00,CHF,S,Sarah Beispiel,Musterstrasse,1,8000,Seldwyla,CH,NON,,Mitgliederbeitrag,,,,Sehr geehrte Frau Beispiel,1
|
|
||||||
de,CH5800791123000889012,S,"Verein ""Zum Beispiel""",Musterstrasse,123,8000,Seldwyla,CH,50.00,CHF,K,Simon Muster,Musterstrasse 1,8000 Seldwyla,,,CH,NON,,Mitgliederbeitrag,,twint/light/02:0123456789abcdef0123456789abcdef#0123456789abcdef0123456789abcdef01234567#,rn/twint/a~AbCdEfGhIjKlMnOpQrStUv~s~AbCdEfGhIjKlMnOpQrStUv/rn,Lieber Simon,1
|
|
||||||
de,CH5800791123000889012,K,"Verein ""Zum Beispiel""",Musterstrasse 123,8000 Seldwyla,,,CH,100.00,CHF,S,Familie Exempel,Beispielstrasse,1,9490,Vaduz,LI,NON,,Mitgliederbeitrag,,,,Geschätzte Familie Exempel,2
|
|
||||||
de,CH5800791123000889012,S,"Verein ""Zum Beispiel""",Musterstrasse,123,8000,Seldwyla,CH,200.00,EUR,S,Modell Stiftung,Postfach,,78462,Konstanz,DE,SCOR,RF18539007547034,Gönnerbeitrag,//S1/11/220101/40/0:30,,,Sehr geehrte Damen und Herren,3
|
|
||||||
fr,CH4431999123000889012,S,"Verein ""Zum Beispiel""",Musterstrasse,123,8000,Seldwyla,CH,123.45,CHF,S,Prototype SA,Place de l'Exemple,2,25000,Besançon,FR,QRR,210000000003139471430009017,Gönnerbeitrag,,,,Cher donateur,5
|
|
||||||
it,CH5800791123000889012,S,"Verein ""Zum Beispiel""",Musterstrasse,123,8000,Seldwyla,CH,,CHF,S,Modello Sagl,Via Esempio,3,20123,Milano,IT,NON,,Spende,,,,Caro donatore,8
|
|
||||||
en,CH5800791123000889012,S,"Verein ""Zum Beispiel""",Musterstrasse,123,8000,Seldwyla,CH,0.50,EUR,S,Schema GmbH,Beispielstraße,5,6900,Bregenz,AT,NON,,Spende,,,,Sehr geehrter Spender,13
|
|
||||||
de,CH5800791123000889012,S,"Verein ""Zum Beispiel""",Musterstrasse,123,8000,Seldwyla,CH,,CHF,S,,,,,,,NON,,Spende,,,,,
|
|
|
Binary file not shown.
@ -1,5 +0,0 @@
|
|||||||
Rechnung_21003;Auftrag_A003;Zürich;21.03.2021;10:22:54;ZahlungszielInTagen_30
|
|
||||||
Herkunft;41010000001234567;K821;Adam Adler;Bahnhofstrasse 1;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
|
|
||||||
Endkunde;41301000000012497;Autoleasing AG;Gewerbestrasse 100;5000 Aarau
|
|
||||||
RechnPos;1;Einrichten E-Mailclients;6;25.00;150.00;MWST_0.00%
|
|
||||||
RechnPos;2;Konfig & Schulung Scanningcenter;1;1200.00;1200.00;MWST_0.00%
|
|
@ -1,5 +0,0 @@
|
|||||||
Rechnung_21004;Auftrag_A004;Zürich;21.03.2023;10:21:32;ZahlungszielInTagen_30
|
|
||||||
Herkunft;41010000001234567;K821;Berta Berisha;Bahnhofstrasse 23;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
|
|
||||||
Endkunde;41301000000012497;Carlo Caprez;Carrosseriestrasse 2;7000 St. Gallen
|
|
||||||
RechnPos;1;Ganzkörpermassage;1;100.00;100.00;MWST_0.00%
|
|
||||||
RechnPos;2;Massageöl Ultra;1;20.00;20.00;MWST_0.00%
|
|
@ -1,77 +0,0 @@
|
|||||||
# M122 - Aufgabe
|
|
||||||
|
|
||||||
## Dateien und Verzeichnisse anlegen
|
|
||||||
|
|
||||||
Als Lehrer habe den Bedarf, für alle Lernenden einer Klasse
|
|
||||||
dieselben Dateien zur Verfügung zu stellen.
|
|
||||||
|
|
||||||
Es gibt mehrere Klassen. Jede Klasse bekommt ein Verzeichnis.
|
|
||||||
Alle Lernenden bekommen alle ein eigenes Verzeichniss in der
|
|
||||||
'eigenen' Klasse. Und in jedem Lernenden-Verzeichnis sollen
|
|
||||||
die gleichen Dateien zur Verfügung gestellt werden.
|
|
||||||
|
|
||||||
### Gesucht
|
|
||||||
Es soll nachher eine solche Struktur entstehen:
|
|
||||||
|
|
||||||
./M122-AP22b
|
|
||||||
Amherd
|
|
||||||
Datei-1.txt
|
|
||||||
Datei-2.docx
|
|
||||||
Datei-3.pdf
|
|
||||||
Baume-Schneider
|
|
||||||
Datei-1.txt
|
|
||||||
Datei-2.docx
|
|
||||||
Datei-3.pdf
|
|
||||||
Berset
|
|
||||||
Datei-1.txt
|
|
||||||
Datei-2.docx
|
|
||||||
Datei-3.pdf
|
|
||||||
|
|
||||||
usw.
|
|
||||||
|
|
||||||
|
|
||||||
### Vorbereitung
|
|
||||||
Ich bereite mich so vor, dass ich eine Liste mit allen Namen
|
|
||||||
aller Lernenden habe. Diese mache ich dann ein eine Datei. Diese
|
|
||||||
Datei bekommt den Namen (die Abkürzung) der Klasse.
|
|
||||||
|
|
||||||
./M122-AP22b.txt
|
|
||||||
|
|
||||||
Der Inhalt der M122-AP22b.txt Datei könnte so aussehen:
|
|
||||||
|
|
||||||
Amherd
|
|
||||||
Baume-Schneider
|
|
||||||
Berset
|
|
||||||
Cassis
|
|
||||||
Keller-Sutter
|
|
||||||
Parmelin
|
|
||||||
Roesti
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Mögliche Strategie für den Programmablauf
|
|
||||||
|
|
||||||
Versuchen Sie alles in **bash** nachzumachen.
|
|
||||||
Aber Achtung. Manche Dinge kann man oder muss
|
|
||||||
man in **bash** anders machen. Wenn Sie ganz
|
|
||||||
gefitzt sind, werden Sie auch noch eine
|
|
||||||
einfachere und schnellere Lösung finden.
|
|
||||||
|
|
||||||
|
|
||||||
**Beispiel-Lösung in PS**
|
|
||||||
Das automatisierte Skript muss jetzt den Dateinamen (vor dem Punkt)
|
|
||||||
auslesen um damit das Grundverzeichnis anzulegen. Dann muss das
|
|
||||||
Skript die Datei öffnen und alle Namenseinträge lesen. Die Namen
|
|
||||||
sind in einer Liste, die ich dann als "array" verwenden werde um
|
|
||||||
mit jedem (Namens-)Eintrag erstens ein Verzeichnis zu erstellen
|
|
||||||
und zweitens die Dateien aus dem Template dort hinein zu kopieren.
|
|
||||||
|
|
||||||
|
|
||||||
- [./loesung-in-powershell/einstieg-prepareFiles-01.ps1](./loesung-in-powershell/einstieg-prepareFiles-01.ps1)
|
|
||||||
- [./loesung-in-powershell/einstieg-prepareFiles-02.ps1](./loesung-in-powershell/einstieg-prepareFiles-02.ps1)
|
|
||||||
- [./loesung-in-powershell/einstieg-prepareFiles-03.ps1](./loesung-in-powershell/einstieg-prepareFiles-03.ps1)
|
|
||||||
- [./loesung-in-powershell/einstieg-prepareFiles-04.ps1](./loesung-in-powershell/einstieg-prepareFiles-04.ps1)
|
|
||||||
- [./loesung-in-powershell/einstieg-prepareFiles-05.ps1](./loesung-in-powershell/einstieg-prepareFiles-05.ps1)
|
|
||||||
- [./loesung-in-powershell/einstieg-prepareFiles-06.ps1](./loesung-in-powershell/einstieg-prepareFiles-06.ps1)
|
|
||||||
- [./loesung-in-powershell/einstieg-prepareFiles-07.ps1](./loesung-in-powershell/einstieg-prepareFiles-07.ps1)
|
|
@ -1,24 +0,0 @@
|
|||||||
Semester: FR23, Klasse: AP20b, Thema: 122
|
|
||||||
Achermann
|
|
||||||
Angst
|
|
||||||
Baars
|
|
||||||
Bauer
|
|
||||||
Baumann
|
|
||||||
Begzati
|
|
||||||
Blaauw
|
|
||||||
Bruehwiler
|
|
||||||
Faeh
|
|
||||||
Graf
|
|
||||||
Hajnik
|
|
||||||
Hatzikiriakos
|
|
||||||
Kastien
|
|
||||||
Kuhn
|
|
||||||
Mititelu
|
|
||||||
Obrist
|
|
||||||
Pfister
|
|
||||||
Preter
|
|
||||||
Qarri
|
|
||||||
Rascher
|
|
||||||
Tifner
|
|
||||||
Zeiter
|
|
||||||
Zimmermann
|
|
@ -1,19 +0,0 @@
|
|||||||
Semester: FR23, Klasse: AP22b, Thema: 122
|
|
||||||
Blattner
|
|
||||||
Boshtraj
|
|
||||||
Cecutti
|
|
||||||
Daniels
|
|
||||||
Erdinc
|
|
||||||
Haradini
|
|
||||||
Kohler
|
|
||||||
Kos
|
|
||||||
Meile
|
|
||||||
Meyer
|
|
||||||
Muggli
|
|
||||||
Mueller
|
|
||||||
Nguyen
|
|
||||||
Pfrender
|
|
||||||
Schäfli
|
|
||||||
Vennemann
|
|
||||||
Weibel
|
|
||||||
Bajra
|
|
@ -1,19 +0,0 @@
|
|||||||
Semester: FR23, Klasse: AP22d, Thema: 122
|
|
||||||
Andreatta
|
|
||||||
Benz
|
|
||||||
Blau
|
|
||||||
Chandler
|
|
||||||
Duersteler
|
|
||||||
Fanzun
|
|
||||||
Haueter
|
|
||||||
Kohl
|
|
||||||
Mohler
|
|
||||||
Morgenthaler
|
|
||||||
Odermatt
|
|
||||||
Pizzi
|
|
||||||
Seiler
|
|
||||||
Steinauer
|
|
||||||
Steiner
|
|
||||||
Sureskumar
|
|
||||||
Ugur
|
|
||||||
Weinrich
|
|
@ -1,22 +0,0 @@
|
|||||||
Semester: FR23, Klasse: PE22e, Thema: 122
|
|
||||||
Berisha
|
|
||||||
ElIsbihani
|
|
||||||
Ganesalingam
|
|
||||||
Gfeller
|
|
||||||
Greter
|
|
||||||
Horvath
|
|
||||||
Hosseini
|
|
||||||
Husy
|
|
||||||
Jauch
|
|
||||||
Maerki
|
|
||||||
Rasiti
|
|
||||||
Renggli
|
|
||||||
Riesselmann
|
|
||||||
Saljihu
|
|
||||||
Semiaji
|
|
||||||
Srimohan
|
|
||||||
Stocker
|
|
||||||
Vanev
|
|
||||||
Zollinger
|
|
||||||
Zoric
|
|
||||||
Zuppiger
|
|
@ -1,23 +0,0 @@
|
|||||||
Semester: FR23, Klasse: ST19d, Thema: 122
|
|
||||||
Ajdini
|
|
||||||
Brauchli
|
|
||||||
Castro
|
|
||||||
Dawit
|
|
||||||
Duriqi
|
|
||||||
ElJaouzy
|
|
||||||
Frei
|
|
||||||
Gantenbein
|
|
||||||
Imhasly
|
|
||||||
Istrefi
|
|
||||||
Jassim
|
|
||||||
Koch
|
|
||||||
Maegerle
|
|
||||||
Markovic
|
|
||||||
MartinsMiranda
|
|
||||||
Mena
|
|
||||||
Sattelmaier
|
|
||||||
Scheuss
|
|
||||||
Schneiter
|
|
||||||
Sherifi
|
|
||||||
Sugumaran
|
|
||||||
Zgraggen
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,24 +0,0 @@
|
|||||||
Semester: FR23, Klasse: AP20b, Thema: 122
|
|
||||||
Achermann
|
|
||||||
Angst
|
|
||||||
Baars
|
|
||||||
Bauer
|
|
||||||
Baumann
|
|
||||||
Begzati
|
|
||||||
Blaauw
|
|
||||||
Bruehwiler
|
|
||||||
Faeh
|
|
||||||
Graf
|
|
||||||
Hajnik
|
|
||||||
Hatzikiriakos
|
|
||||||
Kastien
|
|
||||||
Kuhn
|
|
||||||
Mititelu
|
|
||||||
Obrist
|
|
||||||
Pfister
|
|
||||||
Preter
|
|
||||||
Qarri
|
|
||||||
Rascher
|
|
||||||
Tifner
|
|
||||||
Zeiter
|
|
||||||
Zimmermann
|
|
@ -1,19 +0,0 @@
|
|||||||
Semester: FR23, Klasse: AP22b, Thema: 122
|
|
||||||
Blattner
|
|
||||||
Boshtraj
|
|
||||||
Cecutti
|
|
||||||
Daniels
|
|
||||||
Erdinc
|
|
||||||
Haradini
|
|
||||||
Kohler
|
|
||||||
Kos
|
|
||||||
Meile
|
|
||||||
Meyer
|
|
||||||
Muggli
|
|
||||||
Mueller
|
|
||||||
Nguyen
|
|
||||||
Pfrender
|
|
||||||
Schäfli
|
|
||||||
Vennemann
|
|
||||||
Weibel
|
|
||||||
Bajra
|
|
@ -1,19 +0,0 @@
|
|||||||
Semester: FR23, Klasse: AP22d, Thema: 122
|
|
||||||
Andreatta
|
|
||||||
Benz
|
|
||||||
Blau
|
|
||||||
Chandler
|
|
||||||
Duersteler
|
|
||||||
Fanzun
|
|
||||||
Haueter
|
|
||||||
Kohl
|
|
||||||
Mohler
|
|
||||||
Morgenthaler
|
|
||||||
Odermatt
|
|
||||||
Pizzi
|
|
||||||
Seiler
|
|
||||||
Steinauer
|
|
||||||
Steiner
|
|
||||||
Sureskumar
|
|
||||||
Ugur
|
|
||||||
Weinrich
|
|
@ -1,22 +0,0 @@
|
|||||||
Semester: FR23, Klasse: PE22e, Thema: 122
|
|
||||||
Berisha
|
|
||||||
ElIsbihani
|
|
||||||
Ganesalingam
|
|
||||||
Gfeller
|
|
||||||
Greter
|
|
||||||
Horvath
|
|
||||||
Hosseini
|
|
||||||
Husy
|
|
||||||
Jauch
|
|
||||||
Maerki
|
|
||||||
Rasiti
|
|
||||||
Renggli
|
|
||||||
Riesselmann
|
|
||||||
Saljihu
|
|
||||||
Semiaji
|
|
||||||
Srimohan
|
|
||||||
Stocker
|
|
||||||
Vanev
|
|
||||||
Zollinger
|
|
||||||
Zoric
|
|
||||||
Zuppiger
|
|
@ -1,23 +0,0 @@
|
|||||||
Semester: FR23, Klasse: ST19d, Thema: 122
|
|
||||||
Ajdini
|
|
||||||
Brauchli
|
|
||||||
Castro
|
|
||||||
Dawit
|
|
||||||
Duriqi
|
|
||||||
ElJaouzy
|
|
||||||
Frei
|
|
||||||
Gantenbein
|
|
||||||
Imhasly
|
|
||||||
Istrefi
|
|
||||||
Jassim
|
|
||||||
Koch
|
|
||||||
Maegerle
|
|
||||||
Markovic
|
|
||||||
MartinsMiranda
|
|
||||||
Mena
|
|
||||||
Sattelmaier
|
|
||||||
Scheuss
|
|
||||||
Schneiter
|
|
||||||
Sherifi
|
|
||||||
Sugumaran
|
|
||||||
Zgraggen
|
|
@ -1,17 +0,0 @@
|
|||||||
# mal schauen, ob ob ich Verzeichnisse und Dateien anlegen kann
|
|
||||||
|
|
||||||
# Verzeichnis anlegen
|
|
||||||
mkdir _template
|
|
||||||
|
|
||||||
#Verzeichnis wechseln
|
|
||||||
cd .\_template
|
|
||||||
|
|
||||||
|
|
||||||
# Verzeichnis zurück wechseln
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
dir
|
|
||||||
|
|
||||||
ls .\_template
|
|
||||||
|
|
||||||
echo "---fertig---"
|
|
@ -1,55 +0,0 @@
|
|||||||
# mal schauen, ob ob ich Verzeichnisse und Dateien anlegen kann
|
|
||||||
|
|
||||||
# Verzeichnis anlegen
|
|
||||||
mkdir _template
|
|
||||||
|
|
||||||
#Verzeichnis wechseln
|
|
||||||
cd .\_template
|
|
||||||
|
|
||||||
# Dateien im Verzeichnis anlegen,
|
|
||||||
# jedoch nur mit Fake-Inhalt damit mal was da ist.
|
|
||||||
#
|
|
||||||
# Trick: Mit "echo" wird normalwerweise ein Text
|
|
||||||
# auf die Konsole herausgeschrieben.
|
|
||||||
# Mit dem ">" wird dann dieser Output in eine
|
|
||||||
# Datei umgelenkt. Die Datei wird entweder neu
|
|
||||||
# angelegt oder ersetzt, wenn es schon eine gibt
|
|
||||||
echo "datei-1.txt" > datei-1.txt
|
|
||||||
echo "datei-2.docx" > datei-2.docx
|
|
||||||
echo "datei-3.pdf" > datei-3.pdf
|
|
||||||
echo "datei-4.xlsx" > datei-4.xlsx
|
|
||||||
|
|
||||||
# Verzeichnis zurück wechseln
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Namensdatei-Vorlage automatisch erstellen #
|
|
||||||
#############################################
|
|
||||||
|
|
||||||
# Ich speichere mal den Dateinamen in eine Variable,
|
|
||||||
# weil ich das mehrmals brauche
|
|
||||||
|
|
||||||
$namensdatei = "M122-BR23a.txt"
|
|
||||||
|
|
||||||
# ich mache die Namendatei gleich zur besseren
|
|
||||||
# Ordnung in ein entsprechendes Verzeichnis
|
|
||||||
|
|
||||||
$verzeichnis_namensdateien = "_namensdateien"
|
|
||||||
mkdir $verzeichnis_namensdateien
|
|
||||||
cd $verzeichnis_namensdateien
|
|
||||||
|
|
||||||
# Namendatei anlegen und Inhalte reinschreiben
|
|
||||||
echo "Amherd" > $namensdatei
|
|
||||||
|
|
||||||
# Zwei ">" (">>") hängt das neue Material unten an
|
|
||||||
echo "Baume-Schneider" >> $namensdatei
|
|
||||||
echo "Berset" >> $namensdatei
|
|
||||||
echo "Cassis" >> $namensdatei
|
|
||||||
echo "Keller-Sutter" >> $namensdatei
|
|
||||||
echo "Parmelin" >> $namensdatei
|
|
||||||
echo "Roesti" >> $namensdatei # Umlaute wie das "ö" sind mega schlecht
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
# Skript anhalten, um zu sehen, obs Fehler gab
|
|
||||||
pause
|
|
@ -1,12 +0,0 @@
|
|||||||
# mal schauen, ob ob ich aus Verzeichnissen, Dateien lesen kann
|
|
||||||
|
|
||||||
$verzeichnis_namensdateien = "_namensdateien"
|
|
||||||
|
|
||||||
# Da PowerShell objektorientiert ist, kann man gleich das
|
|
||||||
# Name-Attribut aus der Resultatsliste erfragen.
|
|
||||||
# Dies wird sogleich in eine Variable gespeichert.
|
|
||||||
$allFiles = (dir $verzeichnis_namensdateien).name
|
|
||||||
echo $allFiles
|
|
||||||
|
|
||||||
# Skript anhalten, um zu sehen, obs Fehler gab
|
|
||||||
pause
|
|
@ -1,26 +0,0 @@
|
|||||||
# mal schauen, ob ob ich aus Verzeichnissen, Dateien lesen kann
|
|
||||||
|
|
||||||
$verzeichnis_namensdateien = "_namensdateien"
|
|
||||||
|
|
||||||
# Da PowerShell objektorientiert ist, kann man gleich das
|
|
||||||
# Name-Attribut aus der Resultatsliste erfragen.
|
|
||||||
# Dies wird sogleich in eine Variable gespeichert.
|
|
||||||
$allFiles = (dir $verzeichnis_namensdateien).name
|
|
||||||
|
|
||||||
# Ich versuche mal alles aufzulisten
|
|
||||||
# Wir haben jetzt ja in "allFiles" die ganze Liste der Files
|
|
||||||
# im Verzeichnis gespeichert.
|
|
||||||
# mit "type" kann ich nun auslesen, was in jeder Datei drin ist.
|
|
||||||
# Wenn man in PowerShell ein 2echo" auf eine Liste macht,
|
|
||||||
# kann er die ganze Liste ausdrucken
|
|
||||||
foreach ($file in $allFiles) {
|
|
||||||
$fileinhalt = type $verzeichnis_namensdateien/$file
|
|
||||||
echo $file
|
|
||||||
echo "---"
|
|
||||||
echo $fileinhalt
|
|
||||||
echo "===="
|
|
||||||
echo ""
|
|
||||||
}
|
|
||||||
|
|
||||||
# Skript anhalten, um zu sehen, obs Fehler gab
|
|
||||||
pause
|
|
@ -1,16 +0,0 @@
|
|||||||
|
|
||||||
$verzeichnis_namensdateien = "_namensdateien"
|
|
||||||
$allFiles = (dir $verzeichnis_namensdateien).name
|
|
||||||
|
|
||||||
# Mir fehlt nun noch, dass ich den Dateinamen inkl. dem Punkt habe.
|
|
||||||
# aber ich brauche nur den Teil vor dem Punkt.
|
|
||||||
# Um das zu machen, gibt es eine "split"-Funktion
|
|
||||||
# Nach dem Split, brauche ich dann die erste Position (=0)
|
|
||||||
foreach ($file in $allFiles) {
|
|
||||||
$fileNameVorPunkt = $file.split(".")[0]
|
|
||||||
echo $fileNameVorPunkt
|
|
||||||
echo ""
|
|
||||||
}
|
|
||||||
|
|
||||||
# Skript anhalten, um zu sehen, obs Fehler gab
|
|
||||||
pause
|
|
@ -1,20 +0,0 @@
|
|||||||
# Jetzt alles zusammen
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
$verzeichnis_template = "_template"
|
|
||||||
$verzeichnis_namensdateien = "_namensdateien"
|
|
||||||
|
|
||||||
$allFiles = (dir $verzeichnis_namensdateien).name
|
|
||||||
|
|
||||||
foreach ($file in $allFiles) {
|
|
||||||
$fileNameVorPunkt = $file.split(".")[0]
|
|
||||||
echo $fileNameVorPunkt
|
|
||||||
echo ""
|
|
||||||
$fileinhalt = type $verzeichnis_namensdateien/$file
|
|
||||||
foreach ($zeile in $fileinhalt) {
|
|
||||||
echo $verzeichnis_namensdateien/$file/$zeile
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
# Jetzt alles zusammen
|
|
||||||
#
|
|
||||||
$verzeichnis_template = "_template"
|
|
||||||
$verzeichnis_namensdateien = "_namensdateien"
|
|
||||||
|
|
||||||
$allFiles = (dir $verzeichnis_namensdateien).name
|
|
||||||
|
|
||||||
foreach ($file in $allFiles) {
|
|
||||||
$fileNameVorPunkt = $file.split(".")[0]
|
|
||||||
$klasse = $fileNameVorPunkt
|
|
||||||
$fileinhalt = type $verzeichnis_namensdateien/$file
|
|
||||||
foreach ($teilnehmer in $fileinhalt) {
|
|
||||||
mkdir $verzeichnis_namensdateien/$klasse/$teilnehmer
|
|
||||||
copy $verzeichnis_template/*.* $verzeichnis_namensdateien/$klasse/$teilnehmer
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
# erstellt alle Verzeichnisse und kopiert die
|
|
||||||
# Template-Dateien in alle Teilnehmer aller Klassen
|
|
||||||
|
|
||||||
$verzeichnis_template = "_template"
|
|
||||||
$verzeichnis_namensdateien = "_namensdateien"
|
|
||||||
|
|
||||||
$allFiles = (dir $verzeichnis_namensdateien).name
|
|
||||||
|
|
||||||
foreach ($file in $allFiles) {
|
|
||||||
$fileNameVorPunkt = $file.split(".")[0]
|
|
||||||
$klasse = $fileNameVorPunkt
|
|
||||||
$fileinhalt = type $verzeichnis_namensdateien/$file
|
|
||||||
foreach ($teilnehmer in $fileinhalt) {
|
|
||||||
mkdir $verzeichnis_namensdateien/$klasse/$teilnehmer
|
|
||||||
copy $verzeichnis_template/*.* $verzeichnis_namensdateien/$klasse/$teilnehmer
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
# Erstelle das Template-Verzeichnis und die Dateien
|
|
||||||
|
|
||||||
# Verzeichnis anlegen
|
|
||||||
mkdir _template -ErrorAction Ignore
|
|
||||||
|
|
||||||
#Verzeichnis wechseln
|
|
||||||
cd .\_template
|
|
||||||
|
|
||||||
# Dateien im Verzeichnis anlegen,
|
|
||||||
# jedoch nur mit Fake-Inhalt damit mal was da ist.
|
|
||||||
echo "datei-1.txt" > datei-1.txt
|
|
||||||
echo "datei-2.docx" > datei-2.docx
|
|
||||||
echo "datei-3.pdf" > datei-3.pdf
|
|
||||||
echo "datei-4.xlsx" > datei-4.xlsx
|
|
||||||
|
|
||||||
# Verzeichnis zurück wechseln
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# Namensdatei-Vorlage automatisch erstellen #
|
|
||||||
#############################################
|
|
||||||
|
|
||||||
# Ich speichere mal den Dateinamen in eine Variable,
|
|
||||||
# weil ich das mehrmals brauche
|
|
||||||
|
|
||||||
$namensdatei = "M122-BR23a.txt"
|
|
||||||
|
|
||||||
# ich mache die Namendatei gleich zur besseren
|
|
||||||
# Ordnung in ein entsprechendes Verzeichnis
|
|
||||||
|
|
||||||
$verzeichnis_namensdateien = "_namensdateien"
|
|
||||||
mkdir $verzeichnis_namensdateien -ErrorAction Ignore
|
|
||||||
|
|
||||||
cd $verzeichnis_namensdateien
|
|
||||||
|
|
||||||
# Namendatei anlegen und Inhalte reinschreiben
|
|
||||||
echo "Amherd" > $namensdatei
|
|
||||||
|
|
||||||
# Zwei ">" (">>") hängt das neue Material unten an
|
|
||||||
echo "Baume-Schneider" >> $namensdatei
|
|
||||||
echo "Berset" >> $namensdatei
|
|
||||||
echo "Cassis" >> $namensdatei
|
|
||||||
echo "Keller-Sutter" >> $namensdatei
|
|
||||||
echo "Parmelin" >> $namensdatei
|
|
||||||
echo "Roesti" >> $namensdatei # Umlaute wie das "ö" sind mega schlecht
|
|
||||||
|
|
||||||
|
|
||||||
# Gleich noch eine zweite Namensdatei
|
|
||||||
$namensdatei = "M122-SR23a.txt"
|
|
||||||
echo "Burkhart" > $namensdatei
|
|
||||||
echo "Chiesa" >> $namensdatei
|
|
||||||
echo "Jositsch" >> $namensdatei
|
|
||||||
echo "Noser" >> $namensdatei
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
~$*
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,25 +0,0 @@
|
|||||||
# Aufgabe "Lieferung ins Zahlungssystem"
|
|
||||||
|
|
||||||
**Files**
|
|
||||||
|
|
||||||
<https://haraldmueller.ch/schoolerinvoices/out> (Passwort auf html-Seite: tbz)
|
|
||||||
<br><https://haraldmueller.ch/schoolerinvoices/in> (Passwort: tbz)
|
|
||||||
|
|
||||||
FTP-Server: ftp.haraldmueller.ch
|
|
||||||
Benutzer: schoolerinvoices
|
|
||||||
Passwort: Berufsschule8005!
|
|
||||||
|
|
||||||
<br>
|
|
||||||
**Verarbeitung starten:**
|
|
||||||
|
|
||||||
<https://coinditorei.com/zahlungssystem> (Passwort: tbz)
|
|
||||||
|
|
||||||
|
|
||||||
**Files**
|
|
||||||
|
|
||||||
<https://coinditorei.com/zahlungssystem/in> (Passwort: tbz)
|
|
||||||
<br><https://coinditorei.com/zahlungssystem/out> (Passwort: tbz)
|
|
||||||
|
|
||||||
FTP-Server: ftp.coinditorei.com
|
|
||||||
Benutzer: zahlungssystem
|
|
||||||
Passwort: Berufsschule8005!
|
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Header><From>IPEC</From><To>Coop Mineralöl AG</To><UseCase>GetProcessProtocol</UseCase><SessionID /><Version>1.1</Version><Status>0</Status></Header><Body><BillerID>41101000000240844</BillerID><DeliveryDate date="20150106"><NumberBills>1</NumberBills><OK_Signed>1</OK_Signed><OK_Result><Signed>1</Signed><Bill><TransactionID>729122x000005xEBPxCOOPx01022015x000093</TransactionID></Bill></OK_Result><NOK_Result><NotSigned>0</NotSigned></NOK_Result></DeliveryDate><RejectedBills><NumberBills>1</NumberBills><Bill><TransactionID>729122x000005xEBPxCOOPx01022015x000093</TransactionID><EBillAccountID>41100000077682784</EBillAccountID><ESRReference>911754000000012218285587591</ESRReference><TotalAmount>10.80</TotalAmount><ReasonCode>25</ReasonCode><ReasonText>eBill Rejected by Customer / Payer</ReasonText><Date>2015-02-27</Date></Bill></RejectedBills></Body></Envelope>
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user