0
Trigger
Hallo,
erstmal vielen Dank für das tolle Produkt. Nun habe ich eine Frage: Ich hab es zwar hinbekommen einen Trigger für ein Feld einzurichten aber kann ich einen Trigger so einrichten, dass er sich auf mehr als ein Feld auswirkt?
Z. B.: wenn Feld A »Ja« dann Felder B UND C ändern
Vielen Dank im Voraus!
erstmal vielen Dank für das tolle Produkt. Nun habe ich eine Frage: Ich hab es zwar hinbekommen einen Trigger für ein Feld einzurichten aber kann ich einen Trigger so einrichten, dass er sich auf mehr als ein Feld auswirkt?
Z. B.: wenn Feld A »Ja« dann Felder B UND C ändern
Vielen Dank im Voraus!
193 Antworten
-
Es muss heißen:
–––
let myBelegNr := BelegNr;
BelegNr := if BelegNr = null then
max((select TrBelege).BelegNr) + 1
else
myBelegNr
–––
Birger - Ninox Support -
Dies geht mit "Massendatenänderung" (Zahnrad-Menü).
Geben Sie für das Feld "BelegNr" folgende Formel ein:
–––
let lastRecord := last(select TrBelege where BelegNr);
let lastBelegNr := lastRecord.BelegNr;
let lastRecordBelegNrID := number(lastRecord.Id);
let differenz := lastRecordBelegNrID - lastBelegNr;
let myBelegNr := BelegNr;
if BelegNr then
myBelegNr
else
number(this.Id) - differenz
–––
Birger - Ninox Support -
Danke!
-
Vielen Dank! hat geklappt!
-
Hallo, ein Einsteigerfrage...
Kann ich einen Trigger auch in eine Funktion einbauen oder geht das nur über das Feld "Nach Änderungen folgendes Script ausführen"?
Meine Funktion ist ein einfacher Feldverweis:
Artikel.Preis
Besten Dank für die Hilfe.
GuWi -
Hmm... auf Funktionsfelder kann man keine Trigger legen. Aber auf dem Feldd Preis in der Tabelle Artikel kann natürlich ein Trigger definiert werden.
Viele Grüße
Frank -
Hallo, ich wickel über NINOX Verträge mit Kunden ab. Würde nun gerne Verträge in Rechnungen umwandeln... Oder ein Schritt vorher sogar Angebote in Verträge! Ist es mit dem "Trigger" (oder einer Befehlsschaltfläche) möglich, einen Datensatz in einer Tabelle komplett (alle Felder) oder teilweise (nur ausgewählte Felder) per Trigger an eine andere Tabelle zu übergeben und dabei ein "neuer Datensatz" (Neue Rechnung) erzeugt wird?
Einfach ausgedrückt: "Wandle Vertrag in Rechnung!"
Danke! -
Hallo
Ich möchte nach der Eingabe einer Zahl in ein Zahlfeld einen "Wert" in einer Mehrfachauswahl einstellen. (Auswertung mit if / else, dann Einstellen des Wertes)
Wie ist das möglich?
Besten Dank
Marco -
Jawohl, das ist möglich. Mittels "create" lassen sich neue Datensätze erstellen und den Feldern Werte zuordnen (mehr Infos hier). Möglicherweise aber ist es sinnvoller, für Angebote, Verträge und Rechnungen nur eine Tabelle zu verwenden. Für jeden Fall kann ein eigenes Drucklayout angelegt werden, per Auswahlfeld kann der gegenwärtige Satus des Datensatz' markiert werden.
Birger - Ninox Support -
Das Mehrfach-Auswahl-Feld lässt sich derzeit noch nicht per Script befüllen/einstellen. Die kommt in einem der nächsten Updates.
Birger - Ninox Support -
Hallo,
ich würde gerne über eine Befehlschaltfläche bei einem Kunden ein Neues Projekt erstellen, diese Projekt auch direkt dem Kunden zuordnen über eine Verknüpfung und dem Projekt eine Projektnummer geben die eins höher ist als die vorherige Projektnummer. Ist das irgendwie möglich?
vielen Dank für den super Support bei euch und die schnellen Antworten -
Können Sie mir (support@ninoxdb.de) die Datenbank, an der Sie arbeiten einmal also Kopie zuschicken (Hauptmenü -> "Archiv sichern unter...")? Ich schaue dann gerne einmal hinein.
Birger - Ninox Support -
Ich versuche ein Date Feld abhängig von einer bestimmten Auswahl in einem Auswahl Feld zu ändern.
Folgender Code steht im "Nach Änderungen folgendes Skript ausführen" Feld:if Status = "Erledigt" then
'Erledigt am' = today()
end
Wenn ich nun das Auswahlfeld "Status" von irgend einem anderen Wert auf "Erledigt" setze, passiert nichts. Ich hätte erwartet das sich das Date Feld "Erledigt am" auf das heutige Datum stellt. -
Es sollte heißen:
–––
if text(Status) = "Erledigt" then
'Erledigt am' := today()
end
–––
Birger Ninox Support -
Es funktioniert zwar wenn ich
if Status = 2
schreibe, aber das könnte später zu Fehlern führen, sollte sich die Anzahl/Reihenfolge der Status Auswahl Möglichkeiten, ändern. Oder? -
Ah! Super & Danke! :)
-
Hat sich mit
if text(Status) = "Erledigt" then
erledigt. Danke :) -
Hallo,
ich möchte über einen Trigger folgendes umsetzen:
Wenn in einem Auswahlfeld etwas ausgewählt wird, soll in einem Textfeld (formatiert) ein bestimmter Text in einer bestimmten Formatierung angezeigt werden.
Den Text anzeigen lassen geht, allerdings weiß ich nicht wie ich bestimmte Formatierungen wie fett gedruckten text etc. umsetzen kann. -
Das formatierte Textfeld nimmt html entgegen. Versuchen Sie folgendes:
–––
'my Rich text field' := "<strong>fett</strong> und nicht mehr fett."
–––
Birger - Ninox Support -
Vielen Dank für die Hilfe,
Wenn ich nun die Tabelle als PDF drücken will, werden mir allerdings die HTML Codes angezeigt. Kann ich das ändern? -
Man kann in den Einstellungen der Datenbank die Druckausgabe auf HTML umstellen.
Viele Grüße
Frank -
Hallo zusammen,
ist es möglich mit Trigger in eine andere Tabelle bzw auf ein anderes Feld zu "springen" ?
Vielen Dank
Georg_0815 -
Es ist möglich zu einem anderen Datensatz oder einer anderen Tabelle zu springen. Sucher Sie hier
http://manual.ninoxdb.de/en/function-and-language-reference-2/
nach "User Management Functions".
Birger - Ninox Support -
Servus,
Ich habe 2 Tabellen
Tabelle1
mit den Feldern
Feld1
Feld2
und
Tabelle2
mit den Feldern
Feld3
Feld4
Wenn Feld2 in Tabelle1 einen bestimmten Wert erhält,
soll ein Sprung erfolgen nach Tabelle2 um dort in Feld3 einen Eintrag vorzunehmen.
Mit Ihrer Verlinkung komme ich auf folgendes Resultat:
User Management Functions
Pls. note that the following functions do only work for Ninox Server and Cloud installations. They won’t return useful results for Ninox App.
user() – returns the current user value
userId(id) – returns the user value with given id
userId() – returns the id of the current user.
userId(user) – returns the id of the given user value.
userName() – returns the name of the current user.
userName(user) – returns the name of the given user value.
userFirstName() – first name of the current user
userFirstName(user) – first name of the given user value
userLastName() – last name of the current user
userLastName(user) – last name of the given user value
userFullName() – full name of the current user
userFullName(user) – full name of the given user value
userEmail() – email address of the current user
userEmail(user) – email address of the given user value
Ich verstehe leider nicht, wie ich es einsetzen soll.
Gruss Georg_0815 -
Hallo Georg_0815,
man sollte nach "User Interface Automation" suchen.
Die Möglichkeiten sind folgende:
1. du kannst per Trigger eine Tabelle öffnen:
openTable("Tabellenname","Ansichtname")
2. Du kannst eine Tabelle und ein ein Datensatzformular öffnen:
openRecord(record( Tabellenname), number(Id))
dabei wird das vorhandene Formular geschlossen und ein neues geöffnet.
3. Du kannst ein Formular als popupFenster obendrauf anzeigen lassen
popupRecord(record( Tabellenname), number(Id))
Die Befele funktionieren als Funktionen bei Befehlsschaltflächen in allen Ninox-Varianten. Als Trigger geht es leider bei Web-App noch nicht.
Grüße
Leo
Content aside
- vor 6 JahrenZuletzt aktiv
- 193Antworten
- 58180Ansichten