Domino 9 und frühere Versionen > Entwicklung
Terminüberschneidungen bei Raumbuchungen.
wflamme:
--- Zitat von: eknori am 12.02.03 - 12:45:23 ---Wie kann ich nun beim Erstellen einer neuen Buchung feststellen, ob es zu einer Terminüberschneidung kommt. ?
--- Ende Zitat ---
Ich habe das bei einem Eventkalender so gelöst, daß ich den Datumsbereich des Ereignisses in einer Ansicht expandiert (exploded) habe und beim Vergleich nur diese Schlüssel der Ansicht prüfe. Damit beschränke ich die Zahl der zu prüfenden Termine auf alle die Ereignisse, die nach Datum potentiell überschneiden könnten und muß nicht alle Ereignisse der DB prüfen.
Aber ich denke mal, diesen logischen Weg dürftest Du schon vorgesehen haben.
eknori (retired):
Habe diese Formel hier
@Explode(@Date(@TextToTime(@Text(co_StartDate) + " " + @Text(@Time(0;0;0)) + " - " + @Text(@If(co_EndDate > co_StartDate; @Adjust(co_EndDate; 0; 0; -1; 0; 0; 0); co_EndDate)) + " " + @Text(@Time(0;0;0)))))
um den Datumsbereich zwischen Start- und Enddatum zu "exploden"
Ich kriege das einfach nicht für ZEITFELDER umgesetzt.
Wer kann helfen ??
In Script kriege ich das hin.... Aber ich und Formeln :o :o :o
ata:
... das sieht schlecht aus mit Zeitangaben , ich denke das funzt nur mit Datum - nicht mit Zeitwerten
dateRange
Time-date range or time-date range list. The range of dates whose individual days you want to make into a text list.
ata
wflamme:
--- Zitat von: eknori am 13.02.03 - 13:11:08 ---
um den Datumsbereich zwischen Start- und Enddatum zu "exploden"
Ich kriege das einfach nicht für ZEITFELDER umgesetzt.
--- Ende Zitat ---
Geht auch nicht, steht irgendwo versteckt bei @Explode in der Doku, momang...
"The range of dates whose individual days you want to make into a text list."
Gemein.
Aber besser so, als tausende von Terminen zu vergleichen, die wild über's ganze Jahr verstreut liegen.
forrest g:
hi eknori,
ich hab da einen lösungsvorschlag in script(bist da wahrscheinlich schon selber draufgekommen...):
- programmatische view: 1.spalte=ressource, 2.spalte=zeitangabe(vorzugsweise KW, weil ja wohl bei den räumen keine übergriffe in die nächste woche vorkommen; ich hab das in einer db mit 3 spalten(jahr, tag,monat) gelöst); 3.spalte=dein feld DaysOutOS mit der zeitspanne in tagen
- im querysave der maske dann eine schleife einbauen:
dim keyarray(1) as string
KeyArr( 0 ) = ...Ressource...
KeyArr( 1 ) = ...Zeitangabe(KW)...
Set datecol = view.getalldocumentsbykey ( KeyArr, True )
datecolnr = datecol.count
Set resdoc = datecol.getfirstdocument
For i = 0 To datecolnr-1
While Not ( resdoc Is Nothing )
Set ListeVonBis = resdoc.getfirstitem( "DaysOutOS" )
Forall x In ListeVonBis.values
'VERGLEICH eingabe- reservierungen
If x = Von Or x = Bis Then
'wenn überschneidungen bei den tagen, dann zeitwertevergleic
End If
End Forall
Set doc = datecol.getnextdocument(doc)
Wend
Next
tschö
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln