0

Hilfe beim erstellen einer CSV-Export Datei mit mehreren Datensätzen.

Hallo zusammen,

 

ich habe ein Rechnungseingangsbuch angelegt. zu einer Rechnung kann ich mehrere Zahlungsaufträge anlegen, daher liest man im nachfolgenden Skript auch häufiger ein last(select ...

 

Der Status Quo ist, dass ich pro Zahlungsauftrag und Rechnung eine Datei mit create file anlege.

 

Wie kann ich alle Zahlungsaufträge eines Zahlungslaufs in eine CSV Datei schreiben?

 

let my := this;
let myADRART := Adressbuch.'Adress-Art';
let myW := text('Währung');
let myVERNR := Vertragsmanagement.'Vertrags-Nr.';
let myPRJNR := Vertragsmanagement.'Projekt-Nr.:';
let myRGNr := 'Rg-Nr.:';
let myAuswahl := 'Konto-ID';
let myHBCI := Uebertragungserge;
let myMG := 'MacGiro-ID';
let myZW := text(Zahlwege);
let myBetrag := last(select 'Zahlaufträge' where 'Rg-Nr.:' = myRGNr).Betrag;
let myAusfuhrung := last(select 'Zahlaufträge' where 'Rg-Nr.:' = myRGNr).'Ausführung';
let myTAusfuhrung := last(select 'Zahlaufträge' where 'Rg-Nr.:' = myRGNr).'Terminausführung';
let myAngelegt := last(select 'Zahlaufträge' where 'Rg-Nr.:' = myRGNr).'Erfasst am:';
let myDatNam := myAngelegt + " " + 'Konto-ID' + " " + Adressbuch.MatchCode + " " + myZW + " " + " " + 'Rg-Nr.:' + " " + myBetrag;
let myaVWZ := last(select 'Zahlaufträge' where 'Rg-Nr.:' = myRGNr).'Verwendungszweck (autom.)';
let mymVWZ := last(select 'Zahlaufträge' where 'Rg-Nr.:' = myRGNr).'Verwendungszweck (manuel)';
let myVWZ := myaVWZ + " " + mymVWZ;
let myDMB := last((select 'Zahlaufträge' where 'Rg-Nr.:' = myRGNr).Betrag) * 1.952583;
let myMemo := "Dieser Zahlauftrag ist von der Ninox Vertragsverwaltung übertragen worden.";
if myADRART = 9 or 10 then
    if Zahlungsart = 1 or 6 then
        let myChoise := text(Zahlwege);
        switch myChoise do
        case "SEPA":
            (
                let mySEPA := "EU/SEPA-Überweisung;" + myHBCI + ";" + myZW + ";" + myMG + ";" + 'Auftraggeber BIC:' + ";" + 'Auftraggeber IBAN:' + ";" + Auftraggeber + ";" + Adressbuch.Firma + Adressbuch.Vorname + " " + Adressbuch.'Zweiter Vorname' + " " + Adressbuch.Nachname + ";" + 'Empfänger BIC:' + ";" + 'Empfänger IBAN' + ";" + Adressbuch.Firma + Adressbuch.Vorname + " " + Adressbuch.'Zweiter Vorname' + " " + Adressbuch.Nachname + ";" + myVWZ + ";" + myDMB + ";" + myAngelegt + ";" + myAusfuhrung + ";;;;;;Nein;0;Nein;1;Monatlich am 1.;;;0;" + myMemo + ";;Nein;;;" + Auftraggeber + ";" + Auftraggeber + ";" + myAusfuhrung + ";;;" + number(myBetrag) + ";" + myW + ";0;;;" + myAusfuhrung + ";" + myAusfuhrung + ";Nein;Nein;Nein;" + Adressbuch.Rechnungen.'Rechnung-ID:' + " / " + myVERNR + " / " + myPRJNR + ";;;;;;;;;;;";
                "";
                createTextFile(this, mySEPA, myDatNam + ".csv");
                'Zahlaufträge'.('Z-Datei erstellt' := 1);
                alert("Die Zahlungsträgerdatei" + myDatNam + " wurde erzeugt und im TAB: Datei abgelegt.")
            )
        case "SEPA Sammler":
            alert("Dieser Bereich befindet sich im Aufbau!")
        case "Termin-SEPA":
            (
                let mySEPA := "EU/SEPA-Überweisung;" + myHBCI + ";" + myZW + ";" + myMG + ";" + 'Auftraggeber BIC:' + ";" + 'Auftraggeber IBAN:' + ";" + Auftraggeber + ";" + Adressbuch.Firma + Adressbuch.Vorname + " " + Adressbuch.'Zweiter Vorname' + " " + Adressbuch.Nachname + ";" + 'Empfänger BIC:' + ";" + 'Empfänger IBAN' + ";" + Adressbuch.Firma + Adressbuch.Vorname + " " + Adressbuch.'Zweiter Vorname' + " " + Adressbuch.Nachname + ";" + myVWZ + ";" + myDMB + ";" + myAngelegt + ";" + myAngelegt + ";;;;;;Nein;0;Nein;1;Monatlich am 1.;;;0;" + myMemo + ";;Nein;;;" + Auftraggeber + ";" + Auftraggeber + ";" + myTAusfuhrung + ";;;" + number(myBetrag) + ";" + myW + ";0;;;" + myTAusfuhrung + ";" + myTAusfuhrung + ";Nein;Nein;Nein;" + Adressbuch.Rechnungen.'Rechnung-ID:' + " / " + myVERNR + " / " + myPRJNR + ";;;;;;;;;;;";
                "";
                createTextFile(this, mySEPA, myDatNam + ".csv");
                'Zahlaufträge'.('Z-Datei erstellt' := 1);
                alert("Die Zahlungsträgerdatei" + myDatNam + " wurde erzeugt und im TAB: Datei abgelegt.")
            )
        case "Termin-SEPA Sammler":
            alert("Dieser Bereich befindet sich im Aufbau!")
        case "default":
            alert("Dieser Bereich befindet sich im Aufbau!")
        end
    else
        alert("Für diese Zahlungsarten darf keine Zahlungsträgerdatei erstellt werden!")
    end
else
    if myADRART = 8 then
        if Zahlungsart = 1 or 6 then
            let myChoise := text(Zahlwege);
            switch myChoise do
            case "SEPA":
                (
                    let mySEPA := "EU/SEPA-Überweisung;" + myHBCI + ";" + myZW + ";" + myMG + ";" + 'Auftraggeber BIC:' + ";" + 'Auftraggeber IBAN:' + ";" + Auftraggeber + ";" + Adressbuch.Vorname + " " + Adressbuch.'Zweiter Vorname' + " " + Adressbuch.Nachname + ";" + 'Empfänger BIC:' + ";" + 'Empfänger IBAN' + ";" + Adressbuch.Firma + ";" + myVWZ + ";" + myDMB + ";" + myAngelegt + ";" + myAusfuhrung + ";;;;;;Nein;0;Nein;1;Monatlich am 1.;;;0;" + myMemo + ";;Nein;;;" + Auftraggeber + ";" + Auftraggeber + ";" + myAusfuhrung + ";;;" + number(myBetrag) + ";" + myW + ";0;;;" + myAusfuhrung + ";" + myAusfuhrung + ";Nein;Nein;Nein;" + Adressbuch.Rechnungen.'Rechnung-ID:' + " / " + myVERNR + " / " + myPRJNR + ";;;;;;;;;;;";
                    "";
                    createTextFile(this, mySEPA, myDatNam + ".csv");
                    'Zahlaufträge'.('Z-Datei erstellt' := 1);
                    alert("Die Zahlungsträgerdatei" + myDatNam + " wurde erzeugt und im TAB: Datei abgelegt.")
                )
            case "SEPA Sammler":
                alert("Dieser Bereich befindet sich im Aufbau!")
            case "Termin-SEPA":
                (
                    let mySEPA := "EU/SEPA-Überweisung;" + myHBCI + ";" + myZW + ";" + myMG + ";" + 'Auftraggeber BIC:' + ";" + 'Auftraggeber IBAN:' + ";" + Auftraggeber + ";" + Adressbuch.Vorname + " " + Adressbuch.'Zweiter Vorname' + " " + Adressbuch.Nachname + ";" + 'Empfänger BIC:' + ";" + 'Empfänger IBAN' + ";" + Adressbuch.Firma + ";" + myVWZ + ";" + myDMB + ";" + myAngelegt + ";" + myAngelegt + ";;;;;;Nein;0;Nein;1;Monatlich am 1.;;;0;" + myMemo + ";;Nein;;;" + Auftraggeber + ";" + Auftraggeber + ";" + myTAusfuhrung + ";;;" + number(myBetrag) + ";" + myW + ";0;;;" + myTAusfuhrung + ";" + myTAusfuhrung + ";Nein;Nein;Nein;" + Adressbuch.Rechnungen.'Rechnung-ID:' + " / " + myVERNR + " / " + myPRJNR + ";;;;;;;;;;;";
                    "";
                    createTextFile(this, mySEPA, myDatNam + ".csv");
                    'Zahlaufträge'.('Z-Datei erstellt' := 1);
                    alert("Die Zahlungsträgerdatei" + myDatNam + " wurde erzeugt und im TAB: Datei abgelegt.")
                )
            case "Termin-SEPA Sammler":
                alert("Dieser Bereich befindet sich im Aufbau!")
            case "default":
                alert("Dieser Bereich befindet sich im Aufbau!")
            end
        else
            alert("Für diese Zahlungsarten darf keine Zahlungsträgerdatei erstellt werden!")
        end
    else
        alert("Für die Ausgewählte Adressenart ist kein Zahllauf zulässig!")
    end
end

Antwort

null