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
1b2c30ae81
commit
7059b20f81
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 196 KiB |
16
m122/uebungs-aufgaben/qr-rechnungen-erzeugen/README.md
Normal file
16
m122/uebungs-aufgaben/qr-rechnungen-erzeugen/README.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# 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)
|
||||||
|
|
||||||
|
|
||||||
|
![https://www.six-group.com/de/products-services/banking-services/payment-standardization/standards/qr-bill.html](https://www.six-group.com/de/products-services/banking-services/payment-standardization/standards/qr-bill.html)
|
||||||
|
|
||||||
|
|
||||||
|
## Aufgabenstellung
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
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,93 +1,73 @@
|
|||||||
# M122 - Übungen
|
# M122 - Aufgabe
|
||||||
|
|
||||||
## Dateien und Verzeichnisse anlegen
|
## Dateien und Verzeichnisse anlegen
|
||||||
|
|
||||||
Ich habe den Bedarf, für alle Lernenden einer Klasse dieselben
|
Als Lehrer habe den Bedarf, für alle Lernenden einer Klasse
|
||||||
Dateien zur Verfügung zu stellen. Es gibt mehrere Klassen. Die
|
dieselben Dateien zur Verfügung zu stellen.
|
||||||
Lernenden bekommen alle ein eigenes Verzeichnisse. Und jede
|
|
||||||
Klasse bekommt ein Verzeichnis. In diesem Klassen- Verzeichnis
|
|
||||||
sind dann die Lernenden-Verzeichnisse gesammelt. In jedem dieser
|
|
||||||
Lernenden-Verzeichnisse werden dann die gewünschten Dateien zur
|
|
||||||
Verfügung gestellt.
|
|
||||||
|
|
||||||
|
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
|
Ich bereite mich so vor, dass ich eine Liste mit allen Namen
|
||||||
aller Lernenden habe. Diese mache ich dann ein eine Datei. Diese
|
aller Lernenden habe. Diese mache ich dann ein eine Datei. Diese
|
||||||
Datei bekommt den Namen (die Abkürzung) der Klasse.
|
Datei bekommt den Namen (die Abkürzung) der Klasse.
|
||||||
|
|
||||||
Weiter werde ich ein Verzeichnis namens "_template" bereitstellen.
|
./M122-AP22b.txt
|
||||||
Da drin werden dann alle Dateien hineingelegt, die allen Lernenden
|
|
||||||
zur Verfügung gestellt werden sollen.
|
Der Inhalt der M122-AP22b.txt Datei könnte so aussehen:
|
||||||
|
|
||||||
|
Amherd
|
||||||
|
Baume-Schneider
|
||||||
|
Berset
|
||||||
|
Cassis
|
||||||
|
Keller-Sutter
|
||||||
|
Parmelin
|
||||||
|
Roesti
|
||||||
|
|
||||||
|
|
||||||
Strategie (Programmablauf)
|
|
||||||
|
|
||||||
|
|
||||||
|
### 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)
|
Das automatisierte Skript muss jetzt den Dateinamen (vor dem Punkt)
|
||||||
auslesen um damit das Grundverzeichnis anzulegen. Dann muss das
|
auslesen um damit das Grundverzeichnis anzulegen. Dann muss das
|
||||||
Skrpt die Datei öffnen und alle Namenseinträge auslesen. Die Namen
|
Skript die Datei öffnen und alle Namenseinträge lesen. Die Namen
|
||||||
sind in einer Liste, die ich dann als "array" verwenden werde um
|
sind in einer Liste, die ich dann als "array" verwenden werde um
|
||||||
mit jedem (Namens-)Eintrag erstens ein Verzeichnis zu erstellen
|
mit jedem (Namens-)Eintrag erstens ein Verzeichnis zu erstellen
|
||||||
und zweitens die Dateien aus dem Template dort hinein zu kopieren.
|
und zweitens die Dateien aus dem Template dort hinein zu kopieren.
|
||||||
|
|
||||||
|
|
||||||
Erstellen Sie als Ausgangslage folgende Dateien und Verzeichnisstruktur
|
|
||||||
|
|
||||||
./M122-AP22b.txt
|
|
||||||
|
|
||||||
./_template
|
|
||||||
Datei-1.txt
|
|
||||||
Datei-2.docx
|
|
||||||
Datei-3.pdf
|
|
||||||
|
|
||||||
|
|
||||||
Der Inhalt der M122-AP22b.txt Datei könnte so aussehen:
|
|
||||||
|
|
||||||
Amherd
|
|
||||||
Baume
|
|
||||||
Berset
|
|
||||||
Cassis
|
|
||||||
Keller
|
|
||||||
Parmelin
|
|
||||||
Roesti
|
|
||||||
|
|
||||||
|
|
||||||
Es soll nachher eine solche Struktur entstehen:
|
|
||||||
|
|
||||||
./M122-AP22b
|
|
||||||
Amherd
|
|
||||||
Datei-1.txt
|
|
||||||
Datei-2.docx
|
|
||||||
Datei-3.pdf
|
|
||||||
Baume
|
|
||||||
Datei-1.txt
|
|
||||||
Datei-2.docx
|
|
||||||
Datei-3.pdf
|
|
||||||
Berset
|
|
||||||
Datei-1.txt
|
|
||||||
Datei-2.docx
|
|
||||||
Datei-3.pdf
|
|
||||||
|
|
||||||
usw.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Erstellen Sie ein Skript, das diese Aufgabe erledigt.
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<hr>
|
|
||||||
<br>
|
|
||||||
Hier eine Lösung in **PowerShell**.
|
|
||||||
|
|
||||||
Versuchen Sie alles in **bash** nachzumachen. Aber Achtung. Manche Dinge kann man oder muss man in **bash** anders machen.
|
|
||||||
|
|
||||||
- [./loesung-in-powershell/einstieg-prepareFiles-01.ps1](./loesung-in-powershell/einstieg-prepareFiles-01.ps1)
|
- [./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-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-03.ps1](./loesung-in-powershell/einstieg-prepareFiles-03.ps1)
|
||||||
|
Loading…
Reference in New Issue
Block a user