0

Erstellte .pdf öffnet sich nicht mehr - Fehlermeldung.

Hallo liebes Ninox Forum,

seit einem der letzten Updates ist ein Trigger von mir kaputt. Dieser erstellt automatisch individuelle Anschreiben als .pdf und öffnet diese dann am MAC in der Preview. Nun bekomme ich folgende Fehlermeldung:

siehe Screenshot. 

Weiß jemand wo ich suchen muss? Vielen Dank!

Reinhard

- - - - -

Hier der Trigger:

if Status = 9 or 'Produkte Handel' != null then
    alert("Dieser Medienpartner wurde bereits physisch bemustert. Bitte 'Status' oder 'Produkte Handel' prüfen. ")
else
    if Status = 6 or Status = 8 then
        alert("Uuups, da stimmt was nicht, bitte Status prüfen :)")
    else
        if 'Produkt Physical Mail Out' = null then
            alert("'Produkt Physical Mail Out' darf nicht leer sein.")
        else
            if (Status = 1 or Status = 2 or Status = 5 or Status = 13) and
                                    Medienpartner.Vorname != null and
                                Medienpartner.'Straße' != null and
                            Medienpartner.Postleitzahl != null and
                        Medienpartner.Ort != null and
                    Medienpartner.Land != null and
                'Produkt Physical Mail Out' != null then
                let myLayout := "Anschreiben";
                let myProdukt := 'Produkt Physical Mail Out';
                let my := this;
                let myStk := 'Stückzahl';
                let myFilename := "Anschreiben " + Bezeichnung + ".pdf";
                let myTempFile := printAndSaveRecord(this, myLayout);
                importFile(this, myTempFile, myFilename);
                printRecord(this, myTempFile);
                let new := (create 'Label Sales');
                new.(Produkte := myProdukt);
                new.(QTY := myStk);
                new.(DATE := today());
                new.(INFO := "Bemusterung " + my.Bezeichnung);
                new.(DISTRIBUTION := true);
                new.(DISTR_TYPE := 2);
                'Produkte Handel' := new;
                Status := 9
            else
                if (Status = 1 or Status = 2) and Medienpartner.Vorname = null or
                                    Medienpartner.Nachname = null or
                                Medienpartner.'Straße' = null or
                            Medienpartner.Postleitzahl = null or
                        Medienpartner.Ort = null or
                    Medienpartner.Land = null then
                    alert("Es fehlen noch Kontaktdaten des Medienpartners.")
                end
            end
        end
    end
end

3 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Reinhard, die Funktion printRecord() erzeugt selbst ein PDF-File und erwartet als zweiten Parameter das Drucklayout. Ich wüsste nicht, dass man dabei jemals eine temporäre Datei hätte angeben können. Zur Überprüfung würde ich es mal so versuchen: 

    printRecord(this, myLayout);
    

    Das sollte eigentlich funktionieren.

      • Reinhard
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Vielen Dank, das hat auf alle Fälle funktioniert. 

      ich habe diese Zeile ersetzt:

      printRecord(this, myTempFile);

      Jetzt wäre noch die Frage ob ich dadurch die erste Funktion noch weiter vereinfachen kann?

      Danke :) 

      • Ninox-Professional
      • planoxpro
      • vor 1 Jahr
      • Gemeldet - anzeigen

       

      Hallo Reinhard, wenn du die Datei nur drucken bzw. herunterladen willst, dann benötigst du dazu m. E. nur die Variable 'myLayout'. Das heißt, die drei Zeilen mit "let myFilename", "let myTempFile" und "importFile" vor dem "printRecord" könnten wohl entfallen (ein eigener Dateiname lässt sich beim printRecord leider nicht vergeben).

      Am besten, das Script sichern und einfach mal ausprobieren. Den Rest des Codes habe ich mir allerdings jetzt nicht angesehen, das sieht doch sehr individuell aus ...😉