0

Funktions- und Sprachreferenz

Hallo, ich habe zwei Frage:

1) Ich würde gerne zu einer bestehenden Uhrzeit eine gewisse Anzahl Stunden und Minuten addieren. Leider schaffe ich das nur indem ich zwei Datenfelder von Typ Uhrzeit addiere, aber ich hätte erwartet, dass man auch z.B. Begin := Begin + "07:00" oder wie auch immer angeben kann. Ich habe schon alle möglichen Varianten probiert, komme aber nicht auf eine Lösung. Ist es überhaupt möglich Zeiten auf diese Weise zu addieren?

2) es gibt bei Rechnen die Funktion Prozent %, allerdings finde ich dazu keine Beschreibung und bekomme auch keine sinnvollen Werte raus. Wo finde ich dazu eine Erklärung/Beispiel?

Noch zwei Anregungen:
- generell fände ich es gut, wenn einzelnen Funktionen durchgehend mit ein oder zwei aussagekräftigen Beispielen beschrieben wären, das würde viel Zeit ersparen.

- will man eine Funktion als Text eingeben, werden im Editor zwar Zeilennummern angezeigt, aber leider keine Spaltennummern. Die Fehlerhinweise erscheinen aber mit Spaltennummer! Dann beginnt das fleissige Zählen....

Besten Dank Klaus

493 Antworten

null
    • Mirko.1
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,

    habe jetzt mal mit dem Formeln noch ein wenig herum probiert, habe nun eine gute und schicke Lösung gefunden:

    let SN := 'Straßen';
    let newR := (create Aufgaben);
    let RN := newR.Nr;
    newR.('Straßen' := SN);
    closeRecord();
    popupRecord(record(Aufgaben,number(RN)))

    Dadurch schließt sich das Fenster und öffnet sofort wieder ein neues, und das wirklich sehr schnell. Dadurch brauch ich dann zum verlassen ds Formulars dann nur noch einen Button mit closeRecord().

    Grüße
    Mirko
    • Frank_Schafer
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallöchen,
    mal wieder eine ... nein 3 Fragen von mir:

    1. Ich möchte einen Artikel-Datensatz über eine Schaltfläche kopieren:

    let artikelOld := this;
    let artikelNew := duplicate(artikelOld);
    openRecord(artikelNew)

    Klappt eigentlich wunderbar, nur das Artikel-Bild wird nicht mit übernommen. Auch eine nachträgliche Zuweisung über:
    artikelNew.(Bild := artikelOld.Bild);
    nutzt nicht. Wie lässt sich das Bild übertragen?

    2. Obiger Code bewirkt die Kopie aber das openRecord klappt nicht, ich bleibe auf dem alten Datensatz. Ein popupRecord macht auch nichts... Wie wechsle ich zum neuen Datensatz?

    3. In einer anderen Routine möchte ich Daten vom Datensatz einer Tabelle in einen neuen Datensatz einer anderen (ähnlich aufgebauten) Tabelle übernehmen. Soweit kein Problem aber die Einzelzuweisungen von Feldinhalten des Feldes Inhalt (Typ "Text (formatiert)") funktioniert nicht:
    uNewTeil.(Inhalt := teil.Inhalt);
    Wie bekomme ich dies rüber?

    Vielen Dank im Voraus, Frank
    • Frank_Schafer
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Zu 3. habe ich den Fehler gefunden :) - da habe ich einfach von der falschen Variablen kopiert *duw*
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Kann mir einer helfen. Wie sieht die Syntax hier genau aus:

    createCalendarReminder(calendar, title, start)

    Wenn ich das eingebe: createCalendarReminder("Name des Kalenders", Aufgabenbezeichnung, starttermin)
    kommt die funktion ist nicht definiert. Es wäre mal ganz hilfreich in die Doku mit reinzuschreiben welche Felder ich an den stellen benutzen soll. In der Funktion ist kein timestamp Feld erwünscht was bei mir starttermin ist, name des kallenders ist bei mir ein string feld ist wohl auch nicht erlaubt und der title darf wohl auch kein string sein. Leider muss man immer raten welche Datenfelder bei den funktionen erwünscht sind, das hält einen ewig auf.
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Also so funktioniert es createCalendarReminder(Aufgabenbezeichnung, starttermin)

    leider schreibt er es dann in irgendeinen Kalender, will ich aber ein Kalender mit angeben funktioniert es nicht.
    • bernd
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo,
    hat keiner eine Antwort..., habe auch diese kleinen Probleme...
    • OLIVER
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Liebe Ninox-Fachleute,

    ich komme mit der Syntax von User() nicht klar, kann mir da eventuell jemand helfen?

    Ziel: Ich möchte eine Tabelle erstellen, die entweder in Gänze oder auf Feldebene nur für einen User, nämlich mich, sichtbar ist, nicht für das ganze Team von knapp 10 Leuten, die wir sind.

    Ich kann es nicht über "Admin" machen, weil mehrere User einen Admin-Zugang haben und auch brauchen. Ich habe auch eine Tabelle als versteckte Tabelle angelegt, und die habe ich dann selbst auch nicht wiedergefunden :)

    Nun habe ich eine weitere Tabelle angelegt und versucht, es mit User() über die Sichtbarkeit der Felder zu definieren, aber ich bekomme nur Fehlermeldungen.

    "Feld nur anzeigen wenn" brachte mit der Formel
    User(OLIVER) = true
    kein Resultat, nur die Fehlermeldung "Tabellenspalte wurde nicht gefunden".

    Ich wäre für Tipps sehr dankbar!

    Viele Grüße
    Oliver
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Oliver,
    erstens, du kannst die versteckten Tabellen sehen, wenn du in edit modus auf Datenmodel gehst.
    Mit der Sichtbarkeit kannst du so versuchen:
    am sichersten ist es wenn du zuerst deine userId rausfindest, falls mehrere Olivers im Team sind. Einfach ein berechnetes Feld mit userId() einfügen. Die Nummer seiht etwa so aus:
    KYWYjoy4RP74phT6o

    jetzt bei nur anzeigen wenn:

    userId()="KYWYjoy4RP74phT6o"

    grüße
    Leo
    • OLIVER
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,
    vielen, vielen Dank - das hat funktioniert. Habe sowohl die Tabelle wiedererfunden als auch die Feldanzeige hinbekommen.
    Eine schöne Woche,
    Oliver
    • jomo_h
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo,

    ich stehe gerade mal wieder auf dem Schlauch. Wie kann ich die ID(s) gewählter Einträge eines Mehrfachauswahlfeldes auflisten? Bei einem "normalen" Auswahlfelde würde dies mit

    number('Auswahl')

    funktionieren.

    Ich habe es bereits mit

    number(chosen(Mehrfachauswahl))

    probiert, doch das liefert kein Ergebnis
    • jomo_h
    • vor 6 Jahren
    • Gemeldet - anzeigen
    P.s.:

    number(Mehrfachauswahl) scheint die einzelnen ID Werte zu addieren, wobei der Wert mit der ID 3 sonderbarerweise in der Berechnung den Wert 4 erhält, anstatt 3?

    Viele liebe Grüße
    Jo
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    number(Mehrfachauswahl) liefert zurück:
    1 wenn das erste Element gewählt ist.
    2 wenn das zwei Element gewählt ist.
    4 wenn das dritte Element gewählt ist.
    8 wenn das vierte Element gewählt ist.
    ...
    Ein Rückgabewert 11 bedeutet also, dass das 1., 2. und 4. Element gewählt ist (1+2+8 = 11)

    Birger - Ninox Support
    • jomo_h
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Vielen Dank, Birger, für die schnelle Antwort.
    • Dominik_Eng
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Birger
    Sobald die Zahl zusammgezählt 10 oder grösser ist, wird keine Zahl mehr angezeigt.

    Also 2+6=8, 2+8= ... nichts
    1,2,4,8,1,2,4,8 usw. Dann wie ich sehe 1 Gruppe x=3, 2 Gruppe y=8 ergibt 38

    Das Ganze wäre sehr praktisch um die Mehrfachauswahl auszuwerten.

    Geht das auch umgekehrt, dh kann man eine Zahl an die Mehrfachauswahl zurückgeben. Habe es versucht ohne Erfolg.
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Völlig richtig. Ich hab' Quatsch erzählt. Ich nehme alles zurück.

    Folgendes ist gewiß: Mittels
    –––
    if index(text('Multiple choice'), "Movies") >= 0 then ... end
    –––

    lässt sich abfragen, ob die Option "Movies" gewählt ist.

    Birger - Ninox Support
    • mfessl
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hm. Ihr schreibt oben:
    weekday(date) – Weekday of the given date (0 = Sunday, 1 = Monday, … 6 = Saturday)

    Bei Deutscher Lokalisierung ergibt sich aber für Samstag 5 und für Sonntag 6
    Also Wochenbeginn mit 0=Montag....
    • Dietmar_Fels
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Guten Tag,

    gibt es eine Möglichkeit den Inhalt eines verknüpften Datenfeldes per Script zu löschen, also die Verknüpfung zu lösen? Suche einen Befehl analog zu Feld := null
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Feld:=0

    Grüße
    Leo
    • Dietmar_Fels
    • vor 6 Jahren
    • Gemeldet - anzeigen
    ich bin so blöd ;-) Manchmal ist die Lösung so simpel.
    • Dominik_Eng
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Darkstone

    Verknüpfung :=0

    Lieber Gruss Nik
    • Mirko.1
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo,
    habe gerade versucht, mit userName etwas zu berechnen, das klappt leider nicht, hat da einer einen Rat?
    In dem Formelfeld eingetragen zeigt userName() den korrekten Namen(Mirko) an.
    Meine Formel lautet:

    let myName := userName();
    if myName := "Mirko" then "Bestimmter Text" else ""

    Leider passiert da gar nichts, auch keine Fehlermeldung?
    Jemand einen Tip?

    Grüße
    Mirko
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Mirko,
    da ist ein Fehler in der zweiten Zeile:
    Statt ":=" solltest du "=" einsetzen

    Grüße
    Leo
    • Mirko.1
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,

    das habe ich nur hier falsch geschrieben, hier noch mal mein ganzer Code direkt kopiert:

    let myName := userName();
    if myName = "Mirko" then "Dieser Text" else "?" end

    Obwohl userName() alleine Mirko anzeigt funktioniert diese Formel nicht, sie zeigt jetzt ein Fragezeichen als Ergebnis?

    Grüße
    Mirko
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Komisch, ich habe jetzt die Formel:
    ---
    let myName := userName();
    if myName = "Leonid Semik" then
    "Dieser Text"
    else
    "?"
    end
    ---
    Funktioniert ohne Probleme bei Mac und in der WebApp

    grüße
    Leo
    • flori
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo NINOX-Team,

    gibt es eine Möglichkeit die "Global eindeutige ID" für eine Tabelle oder ein Feld abzurufen bzw. in den Formeleditor (Text) einzugeben ? Ähnlich der "UserID".

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 493Antworten
  • 134607Ansichten