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!

193 Antworten

null
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Es muss heißen:
    –––
    let myBelegNr := BelegNr;
    BelegNr := if BelegNr = null then
    max((select TrBelege).BelegNr) + 1
    else
    myBelegNr
    –––


    Birger - Ninox Support
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • juttabl
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Danke!
    • juttabl
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Vielen Dank! hat geklappt!
    • guwidrig_bluewinch
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • Frank_Bohmer
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • xmedia
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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!
    • mspirig_educationch
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • blue_bee
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • Schneppi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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.
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Es sollte heißen:
    –––
    if text(Status) = "Erledigt" then
    'Erledigt am' := today()
    end
    –––


    Birger Ninox Support
    • Schneppi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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?
    • Schneppi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Ah! Super & Danke! :)
    • Schneppi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hat sich mit if text(Status) = "Erledigt" then erledigt. Danke :)
    • blue_bee
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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.
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Das formatierte Textfeld nimmt html entgegen. Versuchen Sie folgendes:
    –––
    'my Rich text field' := "<strong>fett</strong> und nicht mehr fett."
    –––


    Birger - Ninox Support
    • blue_bee
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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?
    • Frank_Bohmer
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Man kann in den Einstellungen der Datenbank die Druckausgabe auf HTML umstellen.
    Viele Grüße
    Frank
    • telakis
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo zusammen,

    ist es möglich mit Trigger in eine andere Tabelle bzw auf ein anderes Feld zu "springen" ?

    Vielen Dank

    Georg_0815
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • telakis
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    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
  • 58006Ansichten