0

weekdayName als "do as server"

Hallo,

 

wenn ich weekdayName() innerhalb eines "do as server" ausführe, liefert es nur die englischen Wochentage zurück. Gibt es einen effizienteren Weg, das zu korrigieren als zusätzlich mit einem switch hartgecoded auf die eigentlichen deutschen Bezeichnung zu ändern, die ich ja auch bekommen würde, wenn der Befehl nicht als "do as server" läuft?

Viele Grüße

Ralf 

15 Antworten

null
    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Ralf
    Probier mal weekdayNameAllLang(DATUM)

    • Icarus_Ralf_Becker
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Uwe,

     

    funktioniert leider nicht, obwohl in den Ninox Einstellungen (cloud) Deutsch als Sprache eingestellt ist. Innerhalb des "do as server" liefert der Befehl bei mir trotzdem englische Bezeichnungen.

    Bildschirmfoto 2022-01-09 um 12.26.17

    VG

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    HJallo, man könnte die Wochentage als Zahl auslesen und über ein Array die deutschen Bezeichnungen zuordnen:

     

    let myDays := ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"];
    item(myDays, weekday(DATUM))

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Sorry, war unvollständig: weekdayNameAllLang(Datum,"de")

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Stimmt, die Variante hatte ich gar nicht auf dem Schirm. Ich sollte öfter in die Referenz schauen. ;-)

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Axel.
    Habe die Reference schon angepasst.

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ja, eben. Da steht's schon drin. Ich hätte es also wissen können. Danke für's Aktualisieren (nicht nur in diesem Fall)!

    • Icarus_Ralf_Becker
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Also, mit meinem Skript funktioniert es nicht. Ich poste es heute Abend hier noch. Vielleicht findet ihr den Fehler, denn ich bekomme weiterhin nur englische Begriffe 🤷🏼‍♂️

    • Icarus_Ralf_Becker
    • vor 3 Jahren
    • Gemeldet - anzeigen

    do as server
    "
    /Zeitfeld/";
    let my_time := zwischen;
    "
    /Zeitfeld/";
    let my_duration := 'Terminlänge (min)';
    "
    / Dropdown mit Minutenangaben/";
    let my_slots := 'Anzahl der Slots';
    "
    / Zahlenfeld/";
    let my_alt := 'Höhe';
    let my_jump := Tandempreis;
    "
    / Datumsfeld /";
    let my_day := 'Am/ vom';
    for i from my_time to und step number(text(my_duration)) * 60000 do
    let my_record := (create 'Termin reservieren');
    my_record.(Termin := appointment(my_day + my_time, time(number(text(my_duration)) * 60000)));
    my_record.('Plätze' := my_slots);
    my_record.('Höhe' := my_alt);
    my_record.(weekdayname := weekdayNameAllLang(date(start(Termin)), "de"));
    my_time := my_time + time(number(text(my_duration)) * 60000)
    end
    end

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Warum, weißß ich nicht.
    Nachbau funktioniert:
    let vStart := date(start(Termin));
    do as server
    for i in range(0, 1) do
    let vNew := (create Tabelle2);
    vNew.(WeekdayName := weekdayNameAllLang(vStart, "de"))
    end
    end
    ----------
    Versuche mal im Trigger 'nach Änderung' im Terminfeld der entsprechenden Tabelle wo der neue Record erstellt wird: 'weekdayname := weekdayName(date(start(Termin))' und lösch es aus dem Script.

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ist "weekdayname" ein Datenfeld? Ich würde keine Feldbezeichnungen wählen, die auch als Ninox-Funktion existieren. Und wo kommt "Termin" her? Wenn das Feld aus dem neu erzeugten Datensatz my_record gemeint ist, dann müsste es vermutlich heißen:

     

    my_record.(weekdayname := weekdayNameAllLang(date(start(my_Record.Termin)), "de"));

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich denke Axel's Lösung trifft zu.

    • Icarus_Ralf_Becker
    • vor 3 Jahren
    • Gemeldet - anzeigen

    @Uwe: ich prüfe das mal, denn in deinem Nachbau wird der Termin außerhalb vom "so as Server" erzeugt, bei mir nicht.

    @planox: weekdayname ≠ weekdayName - ich prüfe Mal die Skriptanpassung

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Nur eine weitere Idee:
    my_record.(weekdayname := weekdayNameAllLang(date(start(appointment(my_day + my_time, time(number(text(my_duration)) * 60000)))), "de"));

    • Icarus_Ralf_Becker
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Guten Morgen an alle,

    um dieses Thema dann abzuschließen: Uwe´s Hinweis auf den Befehl weekdayNameAllLang() war das Rätsels Lösung. Das es nicht gleich geklappt hat lag einfach daran, dass ich ein weekdayName() in einem Änderungstrigger übersehen habe. 

    Vielen Dank nochmal.