Terminlücke finden
Hallo zusammen,
ich bin noch ziemlich neu im Ninox-Geschäft und bräuchte mal Euer Schwarmwissen, weil ich über die Suche nichts entsprechendes finden konnte.
Ich habe eine Tabelle mit Terminen.
Wenn ich nun einen neuen Termin erstelle Würde ich gerne alle Termine in einer bestimmten KW heraussuchen und eine entsprechende Lücke für den neuen Termin finden.
Die Termine selektiere in einem Layoutfeld Ansicht/Tabelle per
select Termine where week(Datum) = 2
Jetzt müsste ich die Endzeit des ersten Termines mit der Startzeit des zweiten Termines vergleichen bzw. berechnen um festzustellen, ob die Lücke für den neuen Termin groß genug ist.
Also:
select Termine where week(Datum) = 2
Array Lücke = Starttermin(2) - Endtermin(1)
if DauerNeuerTermin <= Array Lücke dann Vorschlag Datum und Uhrzeit
Ich hoffe das ist so für alle Verständlich?!
Danke für Eure Hilfe!
2 Antworten
-
Hallo Stefan,
das hier sollte es tun für dich. Du musst dir natürlich noch etwas Gedanken drüber machen, dass der gefundene Termin innerhalb der Arbeitszeiten liegt,...let timeNeeded := time(2, 0); let curT := this; let allT := ((select Termine where yearweek(Termin) = yearweek(curT.Termin)) order by start(Termin)); let availableSlots := for i in range(0, cnt(allT)) do let timeslot := start(item(allT, i + 1).Termin) - endof(item(allT, i).Termin); if timeslot > timeNeeded then appointment(endof(item(allT, i).Termin), timeNeeded) end end; first(availableSlots)
Liebe Grüße
Christoph
-
Hallo Christoph,
vielen lieben Dank für Deinen Ansatz. Der hilft mir auf jeden Fall schon weiter.
Die Arbeitszeiten, sind ein weiteres Problem, inkl. der Wochenenden.
Ich bin mal gespannt, ob ich das umsetzen kann?!
Muss noch ein paar andere Kleinigkeiten lösen, dann setze ich mich an dieses Problem.Melde mich auf jeden Fall noch mal...
Grüße
Stefan
Content aside
- vor 1 JahrZuletzt aktiv
- 2Antworten
- 101Ansichten
-
3
Folge bereits