Neuer Datensatz per Button MIT FORMULAR-Ansicht
Hallo Zusammen,
ich habe eine Tabelle "Protokoll" und in einem Dashboard einen Button "Neues Protokoll erstellen", mit welchem ich auch jetzt schon direkt dahin gelange, ein neues Protokoll zu erstellen mit:
let p := (create protokoll);
popupRecord(p)
Allerdings öffnet sich dann die "Eingabemaske" nur zu 3/4 des Bildschirms. In einer Formular-Ansicht hat man quasi eine Vollbild-Ansicht. Kann man diese Ansicht nicht direkt ansprechen wenn man sagt "Neues Protokoll erstellen" ?
Vielen Dank im Voraus!
7 Antworten
-
Moin, bei popupRecord() schiebt sich der Datensatz über den aktuellen. Mit openRecord() wird der aktuelle Datensatz geschlossen und der neue geöffnet.
-
Hallo. Versuch es mal damit. Stell vorher sicher, dass Du in der Tabelle Protokoll eine Formularansicht hast.
create Protokoll;
openTable("Protokoll", "FORMULARNAME");
openRecord(last(select Protokoll))
oder, für eine schöne große Ansicht:
openRecord(openFullscreen(create Protokoll))
Mirko
-
Habe den Ansatz von MZ ausprobiert.
mit der ersten Variante wird ein neues Protokoll erstellt und es öffnet sich auch ein Protokoll in der Formular-Ansicht wie ich es haben möchte, allerdings ein Protokoll vom 14.07. und nicht das eben neu-erstellte?!
Die zweite Methode mit openFullscreen macht genau das was ich haben will allerdings bräuchte ich das ohne Vollbild, links sollte die Leiste mit den Tabellen noch zu sehen sein.
Woran könnte es bei der ersten Methode liegen, dass nicht das neuste-erstellte Protokoll geöffnet wird?
-
popupRecord(create Protokoll)= Du bleibst im Dashboard, es wird nur Dein Formular geöffnet mit einem neuen Datensatz
openRecord(create Protokoll)=Du schließt das Dashboard, Du wechselst zur Tabelle, es wird nur Dein Formular geöffnet mit einem neuen Datensatz, links ist Deine Tabellenansicht
create Protokoll; openTable("Protokoll", "FORMULARNAME"); openRecord(last(select Protokoll)) =Du schließt das Dashboard, es wird ein neuer Datensatz angelegt, wechselst zur Tabelle, Du öffnest den Formulartab (so er angelegt ist) "Formularname" (schön groß) und es wird Dir der letzte, also neue Datensatz angezeigt (was bei mir klappt, anscheinend bei Dir nicht)
openRecord(openFullscreen(create Protokoll))=wie 2. nur Vollansicht (schön und sehr groß), keine Tabelle, da Vollansicht.
letzte Möglichkeit: wenn popup in der Tabelle geöffnet ist, dann Schraubenschlüssel, Popupfenster vergrößern (individuell groß), Schraubenschlüssel,
Mehr Möglichkeiten kenne ich nicht. Wenn ich das aber richtig lese ist Copytexters Lösung die von Dir gesuchte. openRecord(create Protokoll). Ich dachte Dir ging es um die Größe der Ansicht. ;-)
-
Anfangs wollte ich eigentlich genau diese Lösung:
create Protokoll; openTable("Protokoll", "FORMULARNAME"); openRecord(last(select Protokoll))
Allerdings öffnet sich da nicht das gerade erstellte Protokoll sondern immer das vom 14.07.2020. Ganz Komisch.
Allerdings finde ich jetzt mittlerweile für Angestellte die FullScreen-Variante noch besser und über einen "Zurück" Button kommt man wieder zum Dashboard. :-)
Vielen Dank euch!
-
Hallo Sebastian, "last" macht manchmal Probleme und landet dann irgendwie doch nicht bei last sondern immer am gleichen Datensatz. Warum weiß ich nicht. Es gibt zwei Lösungsansätze die ich mal bei Leo und Copytexter gelesen habe. Hier letzterer, falls es noch wichtig ist für Dich.
*
create Protokoll;
openTable("Protokoll", "FORMULARNAME");
openRecord(last((select Protokoll)order by number(Nr)))
*
Mirko
-
Moin, kurz zum "Warum": Die Record-ID besteht aus einem Buchstaben für die Tabelle und der Ziffernfolge der Datensatznummer. Die Standardsortierung erfolgt alphanumerisch von links nach rechts, so das bspw. "2" größer "13" ist. Deshalb gibt "last" manchmal andere Werte zurück als serwartet.
Mit dem "order by number(Nr)" erzwingt man eine numerische Sortierung der Datensatznummern, bei der 2 natürlich kleiner 13 ist.
Das Problem ist bereits als Change-Request hinterlegt, denn es wäre natürlich sinnvoll, dass Ninox die Datensatznummern automatisch numerisch sortiert. Insofern ist das mit dem "order by" eher ein Workaround, aber immerhin ein funktionierender.
Content aside
- vor 4 JahrenZuletzt aktiv
- 7Antworten
- 1219Ansichten