0

urlOf(this) liefert nicht korrekten Link

Ich stelle Fest, dass die Funktion urlOf() nicht den gleichen Wert liefert, wie der, welcher aktuell oben im Browser aktiv ist. Somit lässt sich mit dem mit urlOf(this) ausgelesenen Link nicht die gewünschte Ansicht aufrufen. Kann das jemand bestätigen oder mache ich etwas falsch.

Ausgegebner Links von urlOf(this): https://app.ninox.com/#/teams/w7HBzineawz2bu7sM/database/vk4b...p70mh/module/B/view/default/node/B3641

Link im Browser: https://app.ninox.com/#/teams/w7HBzineawz2bu7sM/database/vk4b...p70mh/module/B/view/z2nbSRxboroqqgwE/node/B3641/tab/0

26 Antworten

null
    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Nutzen Sie die neue Funktion wie folgt:
    • urlOf(this) – erstellt einen Link für den aktuellen Datensatz
    • urlOf(this, “<view name>”, “<tab name>”) – Link zu einem bestimmten Tab in einer bestimmten Ansicht der aktuellen Tabelle
    • urlOf(“<table name>”, “<view name>”) – erstellt einen Link zu einer bestimmten Ansicht in einer bestimmten Tabelle

    • Dirk_Pulver
    • vor 3 Jahren
    • Gemeldet - anzeigen

    naja, diesen Text kenne ich - habe ich ja auch genommen. Also mit urlOf(this) sollte ich doch in die Standard-Formularansicht des Datensatzes kommen ....?

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Dirk,

    verstehe, ehrlich gesagt dein Problem nicht. Auch wenn Browser-Link anders aussieht, komme ich in den ersten Tab (Standard-Formularansicht) des Datensatzes.
    Möchte ich einen bestimten Reiter ansprechen dannurlOf(this,"","REITERNAME"). Möchte ich dass zuerst eine Bestimmte Ansicht der Tabelle geöffnet wird und daraus die Formularansicht, dann urlOf(this,"ANSICHT","REITERNAME"). 

    Funktioniert bei mir so wie beschrieben.

    Leo

    • Dirk_Pulver
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich habe in einem Formular (Standardformular des Datensatzes) einen Support-Button. Der schreibt mit urlOf(this) die URL in ein Feld.

    Beim Aufruf dieses Links allerdings, wird nicht diese Ansicht geöffnet:

    ninox_urlof

    • Dirk_Pulver
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Jo - und ohne dass ich den Code geändert habe, tut es heute Morgen.....

    • Dirk_Pulver
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Gestern ging nur die Datenbank auf, aber nicht die Ansicht

    • MSchwippe
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich habe die gleichen Probleme die Tabelle wird geöffnet
    aber der Datensatz wird nicht angezeigt.
    WIN 10 / Google Chrome

    • Carsten_Losch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ich habe ein ähnliches Problem; wenn ich mit urlOf(this) einen Link erzeuge, wird der richtige link erzeugt, wenn ich diesen nun mit einem Trigger in ein Textfeld kopiere, damit ich ihn in Zapier nutzen kann, wird der Link nicht 1 zu 1 kopiert, sondern immer Verkürzt, 

     

    Kopiere ich den Link mit einem Button, funktioniert es

    Kopiere ich den Link über "Nach Änderung folgendes Skript ausführen, wird der link falsch kopiert

    Die Formel ist jedesmal die gleiche;   Link := LinkBerechnet

     

    Hat jemand eine Idee?

    Danke, Carsten 

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Carsten.
    urlOf() erzeugt nur einen korrekten Link wenn man ihn aktiv (Button/Funktionsfeld) auslöst.
    Im Trigger wird die DatabaseID nicht korrekt wiedergegeben.
    Eine Möglichkeit trotzdem den Link im Trigger zu erzeugen ist eine Hilfstabelle, in der die DatabaseID eingetragen ist anzulegen.
    Im Trigger wird dann folgender Code verwendet:
    let vDatabase := first(select Hifstabelle).DatabaseID;
    let vLink := "https://app.ninox.com/#/teams/" + teamId() + "/database/" + vDatabase + extractx(urlOf(this), "(/module.*)")

    Das gleiche Problem tritt auf, wenn du bspw. über Zapier/Integromat/NodeRed einen neuen Datensatz erzeugst und den Deeplink dieses Datensatzes zurück bekommen möchtest um ihn weiterzuleiten.
    Hier kann man über die Rest-API die Abfrage erzeugen.
    Ich habe mal die URL für die Abfrage reingestellt.

    ---
    //Abfrage Deeplink des Datensatzes in Tabelle anhand der zurückgegebenen ID (XX) bei Neuerstellung;
    msg.url = “https://api.ninoxdb.de/v1/teams/TEAMID/databases/DATABASEID/query?query=encodeURI(“urlOf(first(select Tabelle where id="+XX+"))“)
    ---

    Das kann man nicht innerhalb Ninox im Trigger anwenden, da die databaseID() nicht über einen Trigger erzeugt werden kann.

    • Frank_Bohmer
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo zusammen,

    seit dem letzten Update 3.4.4 funktionieren diese Funktionen auch in Triggern oder do as server Blöcken:

    teamId()
    databaseId()
    urlOf(this)

    Liebe Grüße
    Frank

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Frank.
    Ich nutze die public-Cloud und habe es gerade nochmal probiert.
    Ein Textfeld mit dem Trigger 'nach Ändern'
    Das Ergebnis ist: https://app.ninox.com/#/teams/LgfL4kbZ9gtPMCBMr/database/41/module/A/view/default/node/A1

    Per Button
    Das Ergebnis ist: https://app.ninox.com/#/teams/LgfL4kbZ9gtPMCBMr/database/h1hv9xonu9f0/module/A/view/default/node/A1

    Erster Link führt mich bis in das Team.
    Zweiter Link bis zum Record.

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Es liegt an der database-ID. Diese kann nach wie vor nicht im Trigger erzeugt werden und wird auch in urlOf() nicht richtig im Trigger erzeugt. Gibt scheinbar nur einen Pointer auf die Database-ID zurück.
    Das gleiche Problem besteht auch im Trigger 'Bei neuem Datensatz'.

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Habe es in der Mac-APP Version 3.4.3 getestet. Da funktioniert urlOf()und databseId() im Trigger.

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Habe es in der Mac-APP Version 3.4.3 getestet. Da funktioniert urlOf()und databseId() im Trigger.

    • Carsten_Losch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Habe es eben getestet, in der MAC-APP 3.4.4 geht es , im Browser unter Safari ist das Problem noch nicht behoben 

    Der obere Link führ mich direkt zum Element, der andere leider nicht! 

     

    https://app.ninox.com/#/teams/eBDm363TCKYBmL2Zv/database/dstpfmb0b0jo/module/C/view/default/node/C61

    https://app.ninox.com/#/teams/eBDm363TCKYBmL2Zv/database/2402/module/C/view/default/node/C61

    • Team Lead Customer Service
    • joerg
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Carsten, hallo Uwe, 

     

    ich kann eure Tests bestätigen. Die Korrektur ist schon erfolgt und wird im nächsten Hotfix-Release veröffentlicht.

    Danke für Eure Geduld.

     

    Beste Grüße

    Jörg 

    • marcg2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Kann es sein, dass dieser Fehler immer noch besteht?

      • Jens_Peters.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      MarcG  Ist zwar schon eine Weile her, aber ich glaube, den "Fehler" gefunden zu haben.

      Der mit "urlOf(this)" generierte Link zeigt dann den Datensatz an, wenn im Bearbeitungsmodus unter den Datenbank-Optionen bei "Wo möchten sie starten, wenn sie die Datenbank öffnen ?" die Option "Zuletzt verwendete Stelle" ausgewählt ist.

      Ist die Option "Startbilschirm" ausgewählt, wird der gewünschte Datensatz nicht angezeigt.

      • Henning_Tag
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Das glaub ich ja nicht. Da krepelt man ewig hin und her, kriegt kryptische Antworten wie "Bei mir funktionierts, was hast Du denn?" und dann hängt die Lösung am anderen Ende der Software. Aber kein Profi kommt über Jahre drauf. Dann dieser Zufallsfund!

      Vielen Dank Jens, das hat mir jetzt echt den Tag gerettet.

    • Dirk_Spannaus
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Sollte dieses Feld nicht auch über die API abrufbar sein? Wird mir in den record fields nicht angezeigt.

      • UweG
      • vor 11 Monaten
      • Gemeldet - anzeigen

       

      was bezeichnest du mit ‚dieses Feld‘?

      • Dirk_Spannaus
      • vor 11 Monaten
      • Gemeldet - anzeigen

       Ich habe mir ein Berechnungsfeld angelegt, um den direkten Link zu diesem Record zu haben. Den will ich per API auslesen, um in einem Zweitsystem den direkten Link darin abzulegen.

      Die API zeigt mir aber den Wert dieses Berechnungsfeldes nicht an. Werden Berechnungsfelder per API nicht bereitgestellt?

      • UweG
      • vor 11 Monaten
      • Gemeldet - anzeigen

       

      Hallo Dirk
      Funktions-/Berechnungsfelder können nicht über die REST-API direkt abgefragt werden.
      Hier muss man einen Kniff anwenden um an die Information zu gelangen.
      Schau bitte mal in folgenden Forenbeitrag:
      https://forum.ninox.de/t/35yqwxg/ninox-api-mit-praxis-beispielen-verstehen

      Wenn du im Dashboard im Feld 'Tag' den Wert 'Query' und im Feld 'Topic' den Wert '07_execute...' auswählst, öffnet sich ein Formular, bei dem mit dem Button 'List all Records..' eine globale Ninox-Funktion aufgerufen wird, die auch den Inhalt von Berechnungs/Funktionsfeldern zurüch gibt.
      Da die DB ncht verschlüsselt ist, kannst du die den Aufbau der glob. Funktion im Dartenbankmenue ansehen.

      • Dirk_Spannaus
      • vor 11 Monaten
      • Gemeldet - anzeigen

       Vielen Dank... funktioniert das mit der Public API und auf Mac? Mein Ninox Mac Client hängt sich offenbar beim Setup immer wieder auf.
       

      • UweG
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Dirk Spannaus 
      Ich verstehe die Frage nicht?
      Ich lade die Datei aus dem Beitrag runter, entpacke sie auf dem Rechner.
      Dann öffne ich den Browser, importiere die Datenbank in ein Team.
      Öffne die Datenbank und arbeite darin.
      Ich habe es auf der public und private Cloud getestet.

Content aside

  • vor 11 MonatenZuletzt aktiv
  • 26Antworten
  • 1341Ansichten
  • 4 Folge bereits