0

Serienbrief: Druck-Skript funktioniert nicht (mehr)

u. a. Skript in einer Schaltfläche funktioniert nicht mehr, hat es aber in der Vergangenheit über Monate. Seit wann ist nicht näher bekannt. Plattform: Public cloud.

Das Skript legt in einer Untertabelle für jeden Brief einen Datensatz an, gefüllt ihn mit den Daten und erzeugt eine PDF. Die Quelle der Daten ist ein dynMAF in der Haupttabelle, wo Kunden ausgewählt werden können.

Das Skript erzeugt nun weder die Drucksätze und in der Folge auch keine PDFs, solange die Datensatzerzeugung und Datenbefüllung im "do as server" eingeklammert sind. Ohne "do as server" funktioniert es.

"
/ Kopfdaten Serienbrief /";
let my_betreff := Betreff;
let myID := this;
if Personenauswahl != null then
    for i in numbers(Personenauswahl) do
        "
            / Druckdaten erzeugen /";
        do as server
            let new_datasource := (create Druckdatensatz);
            new_datasource.(Serienbriefe := myID);
            new_datasource.(Vorname := record(Kundendaten,i).Vorname);
            new_datasource.(Nachname := record(Kundendaten,i).Nachname);
            new_datasource.('Straße' := record(Kundendaten,i).'Straße');
            new_datasource.('Hausnr.' := record(Kundendaten,i).'Hausnr.');
            new_datasource.(PLZ := record(Kundendaten,i).PLZ);
            new_datasource.(Ort := record(Kundendaten,i).Ort);
            new_datasource.(Adresse := record(Kundendaten,i).'Straße' + " " + record(Kundendaten,i).'Hausnr.' + ", " +
                record(Kundendaten,i).PLZ +
                " " +
                record(Kundendaten,i).Ort);
            new_datasource.(Telefon := record(Kundendaten,i).Telefon);
            new_datasource.('E-Mail' := record(Kundendaten,i).'E-Mail');
            new_datasource.(Geburtsdatum := record(Kundendaten,i).format(Geburtsdatum, "DD.MM.YYYY"));
            new_datasource.(IBAN := record(Kundendaten,i).IBAN);
            new_datasource.(Beitrag := record(Kundendaten,i).text(Jahresbeitrag));
            new_datasource.(Kursdatum := record(Kundendaten,i).format(Kursdatum, "DD.MM.YYYY"));
            new_datasource.(Kursnummer := record(Kundendaten,i).Kursnummer);
            new_datasource.(Heute := text(format(today(), "DD.MM.YYYY")));
            new_datasource.('Kündigung am' := record(Kundendaten,i).format('Kündigung am:', "DD.MM.YYYY"));
            new_datasource.('Kündigung zum' := record(Kundendaten,i).format('Kündigung zum:', "DD.MM.YYYY"));
            let my_Serientext := raw(myID.'Vorlage (zum Editieren klicken)');
            my_Serientext := replace(raw(my_Serientext), "#VORNAME#", new_datasource.Vorname);
            my_Serientext := replace(raw(my_Serientext), "#NACHNAME#", new_datasource.Nachname);
            my_Serientext := replace(raw(my_Serientext), "#ADRESSE#", new_datasource.Adresse);
            my_Serientext := replace(raw(my_Serientext), "#TELEFON#", new_datasource.Telefon);
            my_Serientext := replace(raw(my_Serientext), "#MAIL#", new_datasource.'E-Mail');
            my_Serientext := replace(raw(my_Serientext), "#GEBURTSDATUM#", text(new_datasource.Geburtsdatum));
            my_Serientext := replace(raw(my_Serientext), "#IBAN#", new_datasource.IBAN);
            my_Serientext := replace(raw(my_Serientext), "#BEITRAG#", new_datasource.Beitrag);
            my_Serientext := replace(raw(my_Serientext), "#KURSDATUM#", text(new_datasource.Kursdatum));
            my_Serientext := replace(raw(my_Serientext), "#KURSNUMMER#", new_datasource.Kursnummer);
            my_Serientext := replace(raw(my_Serientext), "#HEUTE#", new_datasource.Heute);
            my_Serientext := replace(raw(my_Serientext), "#KÜNDIGUNG-AM#", new_datasource.'Kündigung am');
            new_datasource.(Serientext := replace(raw(my_Serientext), "#KÜNDIGUNG-ZUM#", new_datasource.'Kündigung zum'))
        end
    end;
    "
/ PDF´s erzeugen /";
    for i in Druckdatensatz do
        if Auswahl = 1 then
            printRecord(i, "Serienbrief m. Bogen")
        else
            printRecord(i, "Serienbrief o. Bogen")
        end;
        sleep(600);
        alert(cnt(i) + " Serienbriefe erstellt ✅")
    end;
    "
/ reset /";
    Personenauswahl := null;
    alert("Alle Serienbriefe heruntergeladen ✅")
else
    alert("Keine Personenauswahl getroffen. Serienbrief nicht möglich")
end;
"
/ aufräumen /";
do as server
    delete (select Druckdatensatz)
end

Vielleicht findet ja jemand den Fehler oder kann die Ursache erklären. Vielen Dank vorab.

1 Antwort

null
    • Icarus_Ralf_Becker
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Scheinbar gibt's keine Ideen. Dann muss ich das Thema wohl an den Support übergeben.

Content aside

  • vor 4 MonatenZuletzt aktiv
  • 1Antworten
  • 55Ansichten
  • 2 Folge bereits