0

Datensatz automatisch täglich über Uhrzeit festschreiben

Hallo und guten Tag! 

Ich möchte, dass jeden Abend um 22 Uhr, ein Schalter (toggle) umgelegt wird, damit meine Daten von diesem Tag festgeschrieben werden. 

So funktioniert es nicht: if now() = time(22,0) then 'TAGESDATEN ALLER FILIALEN FESTSCHREIBEN (hidden)' :=1  

Weiß jemand wie es klappen könnte? Aktuell würde ich das "festschreiben" über den Tabellen-Trigger (writable if... und dort dann den oben genannten toggle 'TAGESDATEN ALLER FILIALEN FESTSCHREIBEN (hidden)' = 0) lösen, bin aber auch hier offen für andere Vorschläge. 

Wichtig ist mir nur, dass jeden Abend um 22 Uhr (oder auch 24 Uhr, falls es das leichter macht) der Datensatz von den usern, die keine Admins sind, nicht mehr verändert werden kann. Händisch macht leider keinen Sinn, weil mehrere user unwissentlich in einem Datensatz arbeiten und ich somit nicht weiß, wer der letzte user ist, der dann festschreiben könnte.

Ich freue mich auf eure Ideen,

LG Volker

5 Antworten

null
    • Marwin
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Also mit "if now() (time(22,0) then" wirst du kein Erfolg haben, dazu müsste es in dem Moment wo der Button/Trigger betätigt wird genau Punkt 22 Uhr sein, und es muss natürlich getriggert werden - die Funktion löst so nicht automatisch um 22 Uhr aus.
    Ich glaube du stellst dir es so vor das es automatisch um 22 Uhr passiert ? Das wird so einfach nicht funktionieren, also wir machen es bei uns über die Plattform make.com...

    Einfacher wäre es in der Tat über einen Button der von einem User gedrückt wird, selbstverständlich kannst du gleichzeitig ein user-Feld mit dem Benutzer füllen der den Button gedrückt hat.

    Noch einfacher für deinen Zweck wäre wahrscheinlich (falls die Benutzer Ninox täglich neu öffnen oder sich sonst wie anmelden durch Button betätigen etc.) dann am nächsten morgen die Datensätze vom letzten Tag festzuschreiben.

    --------------------------

    oder ganz einfach --> in "writeable if" machst du 

    isAdminMode() or date(_cd) = today()

    also wenn man im AdminMode ist oder wenn der Datensatz heute erstellt wurde. (Ich gehe davon aus das jeden Tag ein Datensatz erstellt wird ?!)

    • Tobias_Bartzsch
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Ich würde das über MAKE/Integromat lösen, da Du m.w. bei NINOX keine verlässlichen Trigger hast. MAKE in der Free Version kostet nix und Du brauchst nur einen UPDATE Node. Diesen kannst Du auf täglich 22 Uhr setzen und den Schalter umlegen lassen...

      • Volker_Muden
      • vor 6 Monaten
      • Gemeldet - anzeigen

       danke für die Idee, ich hatte kurz reingeschaut und MAKE bietet tolle Möglichkeiten. Vielen Dank für den Hinweis.

    • Ninox-Professional
    • planoxpro
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Verstehe ich das richtig: Daten sollen nur am Tag ihrer Erstellung geändert werden können, ab dem darauf folgenden Tag nur noch von Benutzern mit der Rolle "admin"? Falls ja, würde ich es mit einer kombinierten Bedingung in "Schreibbar, wenn" versuchen, z. B. so (nicht getestet):

    date('Erstellt am') = date(today()) or userIsAdmin()

    Den Schalter könnte man sich dann sparen, und damit auch irgendeinen Auslöser zu dessen Umschaltung. 'Erstellt am' ist ein internes Feld, das von Ninox automatisch gefüllt wird.
     

      • Volker_Muden
      • vor 6 Monaten
      • Gemeldet - anzeigen

      super, das hat geklappt, danke!

Content aside

  • vor 6 MonatenZuletzt aktiv
  • 5Antworten
  • 94Ansichten
  • 4 Folge bereits