PrintAndSafeRecord klappt nicht
Hi,
ich würde gerne mehrere pdf's in einer Schleife generieren (am liebsten in einer mehrseitigen pdf). Als Workaround habe ich die Funktion printAndSafeRecord gefunden. Das klappt aber leide auch nicht, weil der Editor immer behauptet "Die Funktion ist nicht definiert...". Was mache ich falsch?
Zur Erklärung: m ist ein Menü. Gänge ist einer Tabelle, verknüpft mit m (Menü). Zu jedem Gang möchte ich die Zubereitung ausdrucken:
let m := this;
for g in m.'Gänge' do
importFile(g, printAndSafeRecord(g, "Zubereitung Gang"), g.Nummer + ".pdf");
end
Gruß
Arnd
16 Antworten
-
Hallo,
die Funktion hört auf den Namen "printAndSaveRecord()" und hat mit Geldschränken so gar nichts gemein... :-)
lg, Torsten
-
Danke Torsten! Ich kann gar nicht sagen, wie oft ich das überlesen habe. Wäre natürlich toll, wenn der Editor bekannte Funktionen farblich markierte.
Leider löst das mein Problem trotzdem nicht. Nun kann ich zwar den Code ohne Fehler abspeichern, wenn ich jedoch den Button betätige, der diesen Code ausführt, stürzt die Datenbank ab :-(
-
importFile(g, printAndSafeRecord(g, "Zubereitung Gang"), text(g.Nummer) + ".pdf");
versuche es mal so...
-
Danke für den Tipp, aber das ist es leider auch nicht (natürlich mit "save"). Auch wenn ich den Dateinamen als festen String eingebe, stürzt NINOX ab.
Der Fehler muss irgendwo anders liegen. Wenn ich den Report manuell über das Druckersymbol aufrufe, klappt es, aber sobald ich Code benutze nicht (auch "printRecord" bringt die DB zum Absturz).
-
ich habe es bei mir so und funktioniert. es ist der gesamte Skript...
let ANR := Nr;
let DOT := 'neuer Dokumenten-Typ';
let DOC := (create Dokumente);
DOC.(Buchung := ANR);
DOC.('Erstellung am' := now());
DOC.(DockumentTyp := DOT);
if DOT.'Druck-Vorlage' then
let NDO := importFile(DOC, printAndSaveRecord(this, DOT.'Druck-Vorlage'), DOT.'Druck-Vorlage' + ".pdf");
DOC.('Dokument...' := NDO)
else
void
end;
'neuer Dokumenten-Typ' := 0 -
Auch mit dieser Version stürzt Ninox ab:
let m := this;
for g in m.'Gänge' do
importFile(g, printAndSaveRecord(g, g."Zubereitung Gang"), "Zubereitung.pdf")
end -
Leo hate mich mal vor ein paar Jahren geachrieben, das Ninox leichte Schwierigkeiten mit einstelligen Variablen hat...,
seit dem neme ich immer mindestens 3 Buchstaben...
Ich hatte dmals auch Schwierigkeiten, die ich mir nicht erklären konnte...
-
Mein Pronlem damals hatte sich dann erledigt, mit mehr als 1 Buchstben...
-
no chance :-(
-
schreibe doch mal den Import... in eine Variable, also let IMP := importFile...
kann ja sein, das die Funktion wirklich einen Wert übergeben möchte und wenn nichts da ist...
-
schneller kann man die DB nicht schließen :-(
-
-
schick mal deine DB, aber mit Rezept :-)
-
Ich weiß nicht ob meine Erfahrung dir etwas bringt. Ich wollte ein paar hundert Dokumente vom Server nach Ninox holen.
mit der Server Version ging alles zwar langsamm aber ohne Probleme. Als ich das ganze mit der MacApp und FTP Server (ebenfalls auf Mac) versucht habe, hängte sich Ninox nach ein paar Sekunden. Es sah so aus, als wären in der App die Zeiten nicht eingehalten und in der Schleife der nächste Schritt anfängt bevor die Speicherung abgeschlossen ist. Vielleicht soööte man noch ein paar Operationen nach dem Import einfügen. Und g in (g."Zubereitung Gang") ist meiner Meinung nach nicht notwendig. Und vorsichtshalber alle Variablen mit mehr als 1 Buchstabe.
---
for myG in 'Gänge' do
importFile(myG, printAndSaveRecord(myG, "Zubereitung Gang"), "Zubereitung.pdf");
alert("Gang "+myG.'IRGENDEIN FELD'+" ist gespeichert")
end
---
Leo
-
bringt leider nichts, die DB stürzt schon ab, bevor der alert kommt.
-
nur mal eine Frage, geht es ohne die Schleife
da fällt mir ein, ich habe aktuell auch ein Problem (Bug) mit der Funktion importFile...
habe es schon gemeldet und "Fehler" wurde bereits lokalisiert..., ber eventuell hänge es auch damit zusammen.
In meine Skript habe ich vor der Funktion eine select where Anweisung. Dabei wird der where Teil komplett ignoriert..., wenn die Funktion importFile... vorhanden ist. Lösche ich die Funktion, wird whehre ordnungsgemäße ausgeführt...
Wollte damit nur sagen, die Funktion hat irgendwelche Probleme.
Deswegen meine Frage an Anfang, geht es ohne Schleife
Content aside
- vor 5 JahrenZuletzt aktiv
- 16Antworten
- 3823Ansichten