REST-API
Wie komme ich bei Abfrage von Werten einer Ninox-Tabelle an den zum Abfragezeitpunkt berechneten Wert eines Berechnungsfeldes.
Über Postmen werden Funktionsfelder nicht angezeigt.
Auch über den REST-API Befehl bekomme ich keine Rückgabe.
Berechnungsfelder in einem Datensatz werden ignoriert.
Ich möchte nur über die REST-API das Ergebnis des Berechnungsfeldes auslesen.
Jemand eine Idee.
Gruss
UweG
14 Antworten
-
Hallo Uwe,
Berechnungsfelder werden nicht mit REST-Protokoll übertragen. Einzige Idee - die Berechnung nach der Synchronisierung nachzubauen.
Leo
-
oder zusätzliche Text-/Zahlenfelder als Ergebnisfelder einzubauen, in die die im Funktionsfeld berechneten Werte übertragen werden, und diese dann nach der Berechnung auszulesen, evtl. lassen sich diese zusätzlichen Felder auch verstecken.
-
Stimmt, ist viel besser. Da muss man nach der Datenübergabe nichts mehr machen
-
... den Werteübertrag muss man dann aber auch Ninoxseitig irgendwo triggern - aus dem Funktionsfeld funktioniert das ja nicht.
Im Änderungstrigger der Tabelle wäre das machbar, dann könnte ich mir aber auch die Funktionsfelder an sich sparen.
-
Danke für die Vorschläge.
Aber wie bereits beschrieben nützt mir das Hiflsfeld nichts, wenn ich es aus dem Funktionsfeld nicht beschreiben kann.
Und der Änderungstrigger der Tabelle funktioniert auch nicht mit dem Funktionsfeld.
Bsp. Hilfsfeld := Funktionsfeld (Fehlermeldung: Circular Reference)
Scheinbar wird hierbei nicht der Wert erfragt sondern die Formel.
-
Doch das geht, Beispiel-Datenbank folgt in Kürze.
-
Beispiel-Datenbank:
https://www.dropbox.com/s/fucm06d1vqv4bu7/Funktions%C3%9CbergabeAnFelder.ninox?dl=0
Ok, direkt vom Funktionsfeld aus kann man das versteckte Feld nicht befüllen, aber mit einem Trigger, wenn ein Datensatz geändert wird.
-
Danke Bug Trapper für deine Antwort.
Aber sie hilft hier nicht.
Ich füge per REST-API Dateianhänge dem Datensatz an.
Ein Funktionsfeld zeigt mitr mit cnt(files(this)) die Anzahl der Anhänge an.
Über die Rest-API kann ich den Wert des Funktionsfeldes nicht abfragen.
Die Idee ist ein Hilfsfeld zu bauen, das den Wert des Funktionsfeldes automatisch übernimmt.
Aber wo und wie setze ich den Trigger damit das Hilfsfeld befüllt wird ohne den Datensatz aufzurufen?
In der Tabelle bei Änderung geht nicht: siehe obige Fehlermeldung.
Gruss
UweG
Wo
-
Hallo Uwe,
da Ninox per POST keine Dateianhänge speichern kann gehe ich davon aus, dass du eine GET Abfrage hast und in json dann ein Array mit URLs zum downloaden. Diese URLs fragst dann in der Schleife mit importFile(this, URL). Stimmt?
Wenn es so ist, dann würde ich den Zähler hier einbauen:
---
importFile(this, URL);
Zahler:=cnt(files(this))
----
Oder liege ich komplett daneben?
-
Hallo Leonid.
Ich speicher die Anlage nicht aus Ninox heraus, sondern extern per REST-API.
Und das passiert per POST.
Ich habe die Datenbank in der Tabellenansicht und sehe dann, wenn ich den Aktualisierungsknopf in der Tabellenansicht betätigt habe, die Änderungen. Wäre schön wenn das Aktualisierungsfeld (Kringel links oben) als Sctiptbefehl existieren würde. Dann könnte man über die neue Query-Funktion der API, dies ausführen lassen.
Ich benötige das Hilfsfeld um von extern per GET-Abfrage einen Wert zu erhalten und diesen weiter zu verarbeiten.
Und das Hilfsfeld soll automatisch nach dem POST aus dem Funktionsfeld den Wert erhalten.
Gruss
UweG
-
Hallo Leonid.
Ich speicher die Anlage nicht aus Ninox heraus, sondern extern per REST-API.
Und das passiert per POST.
Ich habe die Datenbank in der Tabellenansicht und sehe dann, wenn ich den Aktualisierungsknopf in der Tabellenansicht betätigt habe, die Änderungen. Wäre schön wenn das Aktualisierungsfeld (Kringel links oben) als Sctiptbefehl existieren würde. Dann könnte man über die neue Query-Funktion der API, dies ausführen lassen.
Ich benötige das Hilfsfeld um von extern per GET-Abfrage einen Wert zu erhalten und diesen weiter zu verarbeiten.
Und das Hilfsfeld soll automatisch nach dem POST aus dem Funktionsfeld den Wert erhalten.
Gruss
UweG
-
Ok, mit dem POST war ich nicht auf dem neuesten Stand - ist tätsächlich möglich. Und was spricht dagegen, wenn du den Zahlenfeld vor POST mit GET abfragst, dann das Ergebniss in deiner Anwendung mit Anzahl der Dateien addierst und dann diese Zahl per POST wieder an Ninox zurück gibst?
Leo
-
Wie gut, dass die tatsächlichen Anforderungen dann doch immer viel komplizierter sind als die Ursprungsfrage :o)
Es sei denn, er möchte überprüfen, ob die Daten auch sicher in Ninox angekommen sind,
also, dass der REST-API-Aufruf auch wirklich geklappt hat, dann müsste er schon einmal in der Ninox-Datenbank nachschauen.
-
Ich schau nach der Übertragung schon per GET-Befehl nach.
Dabei wird aber nichts im Datensatz geändert.
wue gesagt: Nur gucken, nicht anfassen;-)
Geuss
UweG
Content aside
- vor 5 JahrenZuletzt aktiv
- 14Antworten
- 3769Ansichten