Eine Ansicht im Dashboard drucken
Hallo Forumsmitglieder,
ich stehe etwas auf dem Schlauch.
Ich habe ein Dashboard erstellt über eine Seite.
Hier trägt jeder unseren Monteure seine Arbeitszeiten ein.
Am nächsten morgen sollen diese Zeiten ausgedruckt werden.
Bisher wurde dies in der Tabelle Zeiterfassung gemacht nun würde ich aber gerne gleich über ein Button diese Tabelle ausdrucken.
In einer anderen Anwendung ging dies weil das Dashboard eine Tabelle war. Aber bei Seiten habe ich ja nicht die Möglichkeit zu drucken. hier mal ein Auszug aus dem Code bei dem es geht:
delete DRUCK;
let me := this;
let myView := if 'Auswahl Messe' and Anfang and Ende then
let xAus := 'Auswahl Messe';
let xAnf := Anfang;
let XEnd := Ende;
select Messen where Messe = xAus and Datum >= xAnf and Datum <= XEnd
else
let xAus := 'Auswahl Messe';
select Messen where Messe = xAus
end;
for i in myView do
let newRec := (create DRUCK);
newRec.(ZENTRALE := me);
newRec.(Messen := i)
end;
printRecord(this, "MESSEDRUCK")
der obige Code ist das Dashboard eine Tabelle!
Hat einer eine Idee???
6 Antworten
-
Du kannst mit printRecord() bzw. printAndSaveRecord() auch Drucklayouts aus anderen Tabellen ansteuern.
z.B. printAndSaveRecord(Document, "Report", printJSON)
Hier wird in der Tabelle "Document" das Drucklayout "Report" mit der optionalen JSON "printJSON" angesteuert. -
Wie Philipp schon beschrieb, muss bei Nutzung des Ninox eigenen Drucklayouts das Drucktemplate und die zugehörigen Druckdaten in einem Record einer Tabelle hinterlegt sein.
Wenn du in einer Page ‚this‘ verwendest wird es nicht funktionieren, da ja auf der Page kein Drucklayout hinterlegt sein kann.
Das Gleiche gilt für die zu druckenden Daten. Auch diese müssen in der selben Tabelle wo sich auch das Drucklayout befindet vorhanden sein.
Da musst du über eine Verknüpfung dafür sorgen, das man an die entsprechenden Daten der Page vom dem Record der anderen Tabelle rankommt.
Sinnvoll wäre eine eigene Tabelle dafür zu erstellen und die notwendigen Drucktemplates dort zu hinterlegen.
Jeder neue Druckauftrag erzeugt dann einen neuen Recotd in dieser Tabelle, bei dem dann automatisch eine Verknüpfung zur Page erstellt wird und den Ausdruck in dem erzeugten Record ablegt. Und da gibt es Mittel und Wege um von woanders aus auf das erstellte Pdf zuzugreifen.
-
Danke Uwe und Philipp,
ich habe es nun etwas anders gelöst und es funktioniert.
Lösung für mich gut so.
In der Tabelle Zeiterfassung habe ich zwei verschiedene Tabellenansichten gemacht die ich dann je nach Tag als pdf ausgebe.
Code hierfür ist:
if weekday(today()) = 0 then
printTable("Zeiterfassung", "DruckWE")
else
printTable("Zeiterfassung", "Druck")
end
Content aside
- Status Answered
- vor 2 TagenZuletzt aktiv
- 6Antworten
- 40Ansichten
-
3
Folge bereits
