Mehrere Datensätze in Schleife per Skript Drucken
Ninox Profile
Hallo Leo,
auch mal wieder drauf reingefallen = Beitrag nicht da?
Ninox Profile
Nein, ich war nur nicht so schnell wie du.
Also, um alle Datensatzberichte in der Tabelle als PDF auszudrucken verwendet man die Formel:
--
for II in select Tabelle1 do

printRecord(II, "mein_Bericht")
end
---
Bitte Vorsichtig damit, Ninox öffnet die Dokumente im Standard PDF Viewer. Bei mir ist es Adobe Reader. Bei 40 Datensätzen gabs irgendwann die Fehlermeldung dass Acrobat die Dateien nicht mehr öffnen kann.

Wenn man alle Datensatzberichte aus der Untertabelle als PDF erstellen möchte. Z.B. Alle Bestellungen pro Kunde. Dann ist die Formel noch einfacher.
---
Untertabelle.(printRecord(this, "mein_Bericht")
---

"Untertabelle" hier, ist der Name der Untertabelle in der Haupttabellenformular. Interessant hier, dass ich gar keine Schleife verwende. Diese Konstellation "Untertabelle.(...)" führt dazu, dass Ninox alle sich in Klemmer befindlichen Befehle in Schleife innerhalb der Untertabelle durchführt). Auf Server-Version ist diese Formel ca. 10 mal schneller als "for in do end" Schleife.

Grüße
Leo

Ninox Profile
Hallo Leo

Ganz, ganz toll. Auf diese Idee bin ich noch nicht gekommen, jedoch funktioniert es auf meinem iPad leider nicht.
Ninox Profile
Das ist wirklich super mit dem Tipp:

Untertabelle.

Damit kann man noch viel anderes machen und so viel Script sparen.
A
Guter Tipp, danke.

Frage dazu: Ich nehme an, das "mein_Bericht" dabei das Drucklayout ist. Lässt sich auch der Dateiname beeinflussen bzw. für bestimmte Drucklayouts vorgeben?

Hintergrund: Druckfähige Dokumente wie Auftragsbestätigung, Rechnung usw. haben bei mir immer eine Belegnummer im Format XXJJMMDD99 (XX= AN, AF oder RE; 99 = lfd. Nr.). Diese Belegnummer soll auch Dateiname sein. Wobei ich einen Button "Drucken" eingebaut habe, der zu Kotrollzwecken zunächst das betreffende Drucklayout öffnet, als Vorschau quasi. Klicke ich dort auf "PDF drucken", wird standardmäßig der Tabellenname plus Datensatznummer vorgegeben, was natürlich wenig Aussagekraft hat. Das manuelle Ändern ist nicht nur lästig, sondern auch fehleranfällig. Da hat sich schnell mal ein Zahlendreher o. ä. eingeschlichen, was Ablage und Archivierung natürlich sehr erschweren kann. Es wäre deshalb sehr hilfreich, wenn man als Dateiname bspw. den Inhalt des Feldes "BelegNr" vorgeben könnte (z. B. "RE18012201.PDF").

Gibt es eine solche Möglichkeit?
Ninox Profile
Hallo AxelE

Nein geht nicht. Habe heute Morgen auch schon im Manual Teil geschrieben, dass wir unbedingt mehr Kontrolle über den Output bekommen sollten.
A
Hallo Nik, danke für die Bestätigung. Ja, bei Druck und optischer Aufbereitung von Daten wäre noch ein bisschen Feinschliff wünschenswert. Mit kleineren Mängeln wie die (falsche) automatische Ausrichtung der Summenfelder kann man ja leben (auch, wenn es etwas nervt), aber bei allem, was externe Personen zu Gesicht bekommen, sollte man schon auf Details achten. Auch eine Rechnung ist letztlich Kundenkommunikation.

Na ja, vielleicht tut sich in der Hinsicht ja bald was.
Ninox Profile
Ich bin da, für dieses Jahr, doch recht zuversichtlich ;-)
A
Dein Wort in Gottes Ohr! ;)
Antworten