Domino 9 und frühere Versionen > Entwicklung

Terminüberschneidungen bei Raumbuchungen.

<< < (2/7) > >>

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