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,55 +1,16 @@
|
||||
# M122 - Übungen
|
||||
# M122 - Aufgabe
|
||||
|
||||
## Dateien und Verzeichnisse anlegen
|
||||
|
||||
Ich habe den Bedarf, für alle Lernenden einer Klasse dieselben
|
||||
Dateien zur Verfügung zu stellen. Es gibt mehrere Klassen. Die
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
Weiter werde ich ein Verzeichnis namens "_template" bereitstellen.
|
||||
Da drin werden dann alle Dateien hineingelegt, die allen Lernenden
|
||||
zur Verfügung gestellt werden sollen.
|
||||
|
||||
|
||||
Strategie (Programmablauf)
|
||||
|
||||
Das automatisierte Skript muss jetzt den Dateinamen (vor dem Punkt)
|
||||
auslesen um damit das Grundverzeichnis anzulegen. Dann muss das
|
||||
Skrpt die Datei öffnen und alle Namenseinträge auslesen. 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.
|
||||
|
||||
|
||||
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
|
||||
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
|
||||
@ -57,7 +18,7 @@ Es soll nachher eine solche Struktur entstehen:
|
||||
Datei-1.txt
|
||||
Datei-2.docx
|
||||
Datei-3.pdf
|
||||
Baume
|
||||
Baume-Schneider
|
||||
Datei-1.txt
|
||||
Datei-2.docx
|
||||
Datei-3.pdf
|
||||
@ -69,24 +30,43 @@ Es soll nachher eine solche Struktur entstehen:
|
||||
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
|
||||
|
||||
|
||||
|
||||
Erstellen Sie ein Skript, das diese Aufgabe erledigt.
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<hr>
|
||||
<br>
|
||||
Hier eine Lösung in **PowerShell**.
|
||||
### 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.
|
||||
|
||||
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-02.ps1](./loesung-in-powershell/einstieg-prepareFiles-02.ps1)
|
||||
|
Loading…
Reference in New Issue
Block a user