Domino 9 und frühere Versionen > Entwicklung

Terminüberschneidungen bei Raumbuchungen.

<< < (4/7) > >>

eknori (retired):
So, der guten Ordnung halber hier der Code für den CHECK

Sub Click(Source As Button)
   Dim session As New NotesSession      
   Dim db As NotesDatabase              
   Dim view As NotesView         
   Dim doc As NotesDocument            
   Dim workspace As New NotesUIWorkspace
   Dim dc As NotesDocumentCollection
   Set db = session.CurrentDatabase   
   Set View = db.GetView ( "($BUSYTIME)" )
   Dim uidoc As NotesUIDocument   
   Set uidoc = workspace.CurrentDocument 'Look at the current document on the screen
   Dim dtimefromNEU As New NotesDateTime ( Cstr ( uidoc.FieldGetText ( "StartDatumZeit" ) ) )
   Dim dtimetoNEU As New NotesDateTime ( Cstr ( uidoc.FieldGetText ( "EndDatumZeit" ) ) )
   DOCUID$ = uidoc.FieldGetText ( "ID" )
   
   Set dc = view.GetAllDocumentsByKey( uidoc.FieldGetText( "co_Resource" ) )
   
   For i% = 1 To dc.Count ' Alle docs in der collection durchlaufen
      Set doc = dc.GetNthDocument ( i% )   ' erstes doc aus collection holen
      If doc.ID(0) <> DOCUID$Then ' gefundenes doc ist nicht uidoc
         Dim dtimefromALT As New NotesDateTime ( Cstr ( doc.StartDatumZeit(0) ) )
         Dim dtimetoALT As New NotesDateTime ( Cstr ( doc.EndDatumZeit(0) ) )
         
         If dtimefromNEU.TimeDifference ( dtimetoALT ) > 0 Or dtimetoNEU.TimeDifference ( dtimefromALT ) < 0 Then
            flag% = 0 ' keine überschneidung
         Else
            flag% = 1
            Goto NotAvailable
         End If
         
      End If
   Next
   Exit Sub
NotAvailable:
   Msgbox "NotAvailable"
End Sub

Die Ansicht ($BUSYTIME) enthält in der ersten Spalte aufsteigend sortiert den Namen der Resource.

Rob Green:
habe es nahezu ebenso gelöst..

bei mir kommt noch dazu, daß ich mittlerweile widerholende Termine verarbeite und dabei mehrfach vorhandene, zu reservierende Ressourcen/Räume im aktuellen Termindoc auf mögliche Terminüberschneidungen gechecked und einzeln reported werden müssen. Daher ist mein Code noch etwas länger geworden. Wenn ich das Teil fertig habe, werde ich es hier posten...momentan ist er noch sehr unsauber (keine explizite Deklaration, keine vernünftigen Variablen Namen, etc...unnötige, doppelte Intialisierungen von Objekten, etc...).

Erschwerend kommt hinzu, daß man tagesüberschreitend ganztägige Termine eingeben kann, wobei die EndZeit kleiner der Startzeit sein kann (klar, heute Auto um 12:00 Uhr bis übermorgen ausgeliehen, Rückgabe um 09:00 Uhr)...dabei werden repetierende Einzeltermine angelegt beim Abspeichern und der letzte Tag mit der EndZeit 09:00 Uhr in dem Beispiel.

Und, um es noch etwas einfacher zu machen ;D...*grins....gut schwarzen Humor zu haben* dass man Serientermine verändern kann - natürlich muß dann erneut ein Terminkollisionscheck ausgeführt werden - und das System den User fragt "wollen sie den Termin löschen, alle löschen, alle Serien Termine in der Zukunft entsprechend anpassen, alle Serien Termine in der Vergangenheit..., oder nur diesen anpassen?"  :P :P :P

*bin schon am Singen:

Mein Lotus Notes fährt 210, schwupp, IBM hat's nicht geseh'n,
das macht Spaß! Ich geb' Gas, ich geb' Gas!
Will nicht spar'n, will nicht vernünftig sein,
bau nur das beste rein, ich mach' Spaß!
Ich geb' Gas ich geb' Gas! - Ich will Spaß, ich will Spaß!
Ich will Spaß ich will Spaß! Ich geb' Gas, ich geb' Gas!
Ich will Spaß, ich will Spaß!
Ich schubs die Templates aus dem Verkehr, ich jag'die Formeln vor mir her,
ich mach' Spaß! Ich mach' Spaß, ich mach' Spaß!

Und kost'der Mist auch viele Müh, scheiß egal, es wird schon
geh'n,
ich will coden! Ich will jodln, ich will johln.
Ich will Spaß, ich will Spaß! Ich will Spaß, ich will Spaß!
Ich geb' Gas, ich geb' Gas! Ich will Spaß, ich will Spaß!

IBM, Microsoft, spürst du mich?
Heut'nacht komm ich über dich - das macht Spaß!
Das macht Spaß, das macht Spaß ~
Der Ozzie ist mein bester Freund, hui wenn ich komm', wie der
sich freut
er braucht Spaß! Er hat Spaß, er hat Spaß

Wir wollh Spaß, wollen Spaß! Wir woll'n Spaß, wollen Spaß!
Wir geb'n Gas, geben Gas! Wir woll'n Spaß, wollen Spaß!
Wir mach'n Spaß, machen Spaß! Wir geb'n Gas, geben Gas! . . .  *

macht Notes eigentlich plemplem?  :o :o

eknori (retired):
in Anlehnung eines "Hits von einem gewissen Dieter B. aus H:

Take Notes today
everything is possible

 ;D ;D

Rob Green:
yep... ;D ;D

Axel:
@Rob

Ich wußte gar nicht, dass du so toll texten und singen kannst.   ;D ;D

Wenn kommt denn deine erste Platte ?
Und wann der Auftritt beim Grand Prix ?
 ;D ;D


Aber Spaß beiseite:

Klingt gut mit den tagesüberschreitenden Terminen. Bin sehr am Code interessiert.

Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln