0

Anzeigen, drucken und Speichern eines Drucklayouts. Warum klappt die 2. (nahezu identische) Variante beim Speichern nicht?

Liebe Ninox-Gemeinde,

ich hab’ da mal wieder eine Frage bzw. ein Problem, dass mich schier zur Verzwieflung bringt:

Ich habe in einer Tabelle ein Druckkayout „Deklaration“. Ich möchte dies aufrufen und anzeigen; dann erscheint eine Auswahl, ob Änderungen gewünscht werden oder ob die Deklaration gedruckt (als PDF-Datei angezeigt) und gespeichert (als PDF dem Datensatz angehngt) werden soll.

Die Variante A klappt ohne Probleme.

A)

openPrintLayout(this, "Deklaration";

"Deklaration");

let result := dialog("", "Möchten Sie die Rechnung noch korrigieren oder drucken und speichern?", ["Ändern", "Drucken/Speichern"]);

if result = "Drucken/Speichern" then

let mypdf := printAndSaveRecord(this, "Deklaration");

let myname := "Dekl." + DeklNr + ".pdf";

importFile(this, mypdf, myname);

printRecord(this, "Deklaration";

"Deklaration")

else

void

end

Nun möchte ich das gleiche mit dem zu dieser Dekalration gehörenden Rechnungsformular machen. Dies funktioniert allerdings nur insoweit, als bei Auswahl „Drucken/Speichern“ die generierte PDF-Datei angezeigt wird. Eine Speicherung erfolgt allerdings nicht. Ich weiß nicht warum. Es werden in den Skripts keine Fehler angezeigt! Habe schon alle möglichen Varianten probiert.

B)

openPrintLayout(this, "Deklaration";

"Rg.dtsch");

let result := dialog("", "Möchten Sie die Rechnung noch korrigieren oder drucken und speichern?", ["Ändern", "Drucken/Speichern"]);

if result = "Drucken/Speichern" then

let mypdf := printAndSaveRecord(this, "Rg.dtsch");

let myname := Rechnungsnummer + ".pdf";

importFile(this, mypdf, myname);

printRecord(this, "Deklaration";

"Rg.dtsch")

else

void

end

2 Antworten

null
    • MReinert
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ENTWARNUNG:

    Manchnmal muß man über eine Sache nur eine Nacht schlafen. Mir ist aufgefallen, dass die Variable "Rechnungsnummer" (anders als die Variable "Deklaration" aus Beispiel A) Sonderzeichen enthällt ("/"), die in Dateinamen (u.a.) für eine PDF-Datei nicht akzeptiert werden!

    Also Befehl replace(Rechnungsnummer,"/","_") angewendet und "/" durch "_" ersetzt und schon klappt es.

    Konnte natürlich niemand beim Lesen meiner Aufgabestellung erkennen; sorry.

    Klein Ursache große Wirkung (es wurde ja keine Fehlermeldung ausgegeben, dass der Dateiname nicht akzeptierte Zeichen enthält, dann wäre auch ich früher darüber gestolpert).

    Dennoch Dank an alle, die darüber gebrütet haben sollten :_)

    • Alexander_Koenig
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ja, das hilft manchmal :)

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 2Antworten
  • 1212Ansichten