0

kein verlässliches Ergebnis

Liebe Ninoxfreunde,

ich bin recht neu in diesem Umfeld und habe ein Problem.

Mein Skript (eingebaut in einen Button) sollte mir für einen vorgegebenen Zeitraum auf Basis einer auswählbaren Vorlage (Montag bis Mittwoch gibt es je eine unterschiedliche Startzeit, Dauer und teilweise auch fix vorgegebene Buchungen) Zeitslots generieren.

Generell funktioniert das Skript, es ist aber nicht verlässlich. Teilweise fehlen einzelne Einträge. Wird das Skript dann erneut ausgeführt, kann es einwandfrei funktionieren.

Wie bekomme ich das in Griff bzw. kann ich was verbessern?

Danke und liebe Grüße

Sigi

let myGen := this;
for i from 0 to 'Anzahl Tage' do
    let newEntry := (create OP_Zeitslots);
    newEntry.(Datum := last(myGen.'OP_Zeitslots_zu_Zeitslots generieren'.Datum) + 1);
    let myDate := newEntry.Datum;
    newEntry.('Verknüpfung zu Zeitslots generieren' := myGen);
    if weekday(newEntry.Datum) = "0" then
        newEntry.(Uhrzeit := myGen.Stamm_Wochenplanung.Mo_Start);
        newEntry.(Dauer := myGen.Stamm_Wochenplanung.Mo_01_Dauer);
        newEntry.('OP_Zeitslot zu Personen' := myGen.Stamm_Wochenplanung.Mo_01_Reservierung)
    else
        if weekday(newEntry.Datum) = "1" then
            newEntry.(Uhrzeit := myGen.Stamm_Wochenplanung.Di_Start);
            newEntry.(Dauer := myGen.Stamm_Wochenplanung.Di_01_Dauer);
            newEntry.('OP_Zeitslot zu Personen' := myGen.Stamm_Wochenplanung.Di_01_Reservierung)
        else
            if weekday(newEntry.Datum) = "2" then
                newEntry.(Uhrzeit := myGen.Stamm_Wochenplanung.Mi_01_Start);
                newEntry.(Dauer := myGen.Stamm_Wochenplanung.Mi_01_Dauer);
                newEntry.('OP_Zeitslot zu Personen' := myGen.Stamm_Wochenplanung.Mi_01_Reservierung)
            end
        end
    end
end

2 Antworten

null
    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 10 Monaten
    • Gemeldet - anzeigen

    Moin ,

    probiere es mal mit "do as server".

    Dazu schreibe das Skript in deinem Button so:

    do as server

    DEIN GESAMTER CODE

    end

    Mit einem wichtigen Hinweis: bei Uhrzeitwerten /-berechnungen kann es zu Unterschieden kommen, da die Serverzeit evtl. anders ist als deine Rechnerzeit.

    VG Ronald

    Hier noch der Link zur Doku für mehr Infos: https://docs.ninox.com/en/script/introduction-to-ninox-script/optimize-performance-of-scripts#do-as-server-...-end

      • siegfried
      • vor 10 Monaten
      • Gemeldet - anzeigen

       Hallo Ronald,

      herzlichen Dank für diese Rückmeldung!! Jetzt geht die Post ab :-) - alle Einträge passen und dies in gefühlt 10facher Geschwindigkeit.

      Danke.

      LG Sigi

Content aside

  • vor 10 MonatenZuletzt aktiv
  • 2Antworten
  • 37Ansichten
  • 2 Folge bereits