Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: mariab am 07.06.07 - 15:28:22

Titel: Zeitintervall überprüfen
Beitrag von: mariab am 07.06.07 - 15:28:22
In einer Maske gibt es zwei Felder. Diese geben den Reservierungszeitraum einer Ressource an, also Start- und Endzeit.
Nun sollte eine Kontrolle stattfinden ob eine Ressource in einem bestimmten Zeitraum schon gebucht ist, z.B.

Fahrzeug A reserviert von 10.00 - 12.00 Uhr

Wenn nun das Fahrzeug A von 11.00 bis 13.00 Uhr nochmals reserviert werden möchte sollte eine Meldung erscheinen, dass es nicht verfügbar ist

Kann ich dies mittels @Formeln irgendwie überprüfen?
Titel: Re: Zeitintervall überprüfen
Beitrag von: eknori (retired) am 07.06.07 - 15:32:38
Da haben wir uns hier vor gut 4 Jahren schon mal mit beschäftigt:

http://atnotes.de/index.php?topic=6094.0

Auf Seite 2 gibt es auch etwas mit Formeln http://atnotes.de/index.php?topic=6094.msg37107#msg37107
Titel: Re: Zeitintervall überprüfen
Beitrag von: mariab am 07.06.07 - 15:46:28
Danke für die schnelle Antwort, werde mir das mal ansehen

Grüße Maria
Titel: Re: Zeitintervall überprüfen
Beitrag von: mariab am 08.06.07 - 09:56:36
Hallo,

habe mir das Beispiel auf Seite zwei lange  angeschaut. Leider komme ich überhaupt nicht voran. Kann mir jemand kurz in Worten beschreiben wie ich vorgehen muß?

Danke
Titel: Re: Zeitintervall überprüfen
Beitrag von: m3 am 08.06.07 - 10:00:14
Script mit der Maus markieren, rechte Maustaste, Kopieren, in das Fenster wechseln, wo Du den Code brauchts, rechte Maustaste, Einfügen
Anschließend noch die Feldnamen (MeetingDate, MeetingTime, Invitees, ... ) anpassen und es läuft schon.
Titel: Re: Zeitintervall überprüfen
Beitrag von: mariab am 08.06.07 - 10:40:06
OK.
Wie muß ich die Ansicht "MeetingsByPerson-ConflictChecking" aufbauene?
Titel: Re: Zeitintervall überprüfen
Beitrag von: koehlerbv am 08.06.07 - 11:02:59
Das geht sehr eindeutig aus dem Code hevor. Und wenn Du den nicht verstanden hast, solltest Du ihn auf keinen Fall einsetzen.

Bernhard
Titel: Re: Zeitintervall überprüfen
Beitrag von: mariab am 08.06.07 - 11:14:45
Das geht sehr eindeutig aus dem Code hevor. Und wenn Du den nicht verstanden hast, solltest Du ihn auf keinen Fall einsetzen.

Bernhard

Da gebe ich dir recht, setze den Code auch nicht ein bevor ich ihn nicht durchgekaut und verstanden habe. Aber um das ganze verstehen zu können, würde mir die dazugehörige Datenbank erheblich helfen.

Also:
in der Datenbank gibt es folgende Felder:

Invitees z.B. Maria
Meeting Date z.B. 08.06.2007
Meeting Time z.B. 10:00-12.00

In der Ansicht steht wie ich es verstehe in der zweiten spalte das Datum also 08.07.2007
Aber wenn ich zwei Einträge mit derselben Zeit und demselben Datum einfüge, erscheint immer No Conflicts found

Titel: Re: Zeitintervall überprüfen
Beitrag von: koehlerbv am 08.06.07 - 11:21:44
Ich denke, dies ist die für Dich entscheidende Zeile, was die Ansicht angeht:
Code
t_ProposedPersons := Invitees+sep+@Text(@Date(MeetingDate));

Bernhard
Titel: Re: Zeitintervall überprüfen
Beitrag von: mariab am 08.06.07 - 11:40:18
Also habe ich in der 2 Spalte folgendes stehen: "Maria~!@08.06.2007
Titel: Re: Zeitintervall überprüfen
Beitrag von: koehlerbv am 08.06.07 - 11:42:48
Das ist Dein Such-Schlüssel! In der zweiten Spalte macht das wenig Sinn ...

Bernhard
Titel: Re: Zeitintervall überprüfen
Beitrag von: mariab am 08.06.07 - 12:25:44
Ich stecke hier

Code
REM "============== DO NOT CHANGE CODE BELOW =============";
t_EventData := @DbLookup("":"NoCache"; ""; t_EventView; t_ProposedPersons; t_EventDataColumnNum);

Der Suchschlüssel muß also in der Ansicht in der Spalte 1 stehen und lautet Maria~!@08.06.2007 und ist kategorisiert. Somit steht mal fest was in der 1. Spalte steht.

Irgendwo muss es einen String geben der das Datum die Startzeit, die Endzeit, den Eventnamen und die NotesID enthält und der müsste in Spalte zwei stehen also:

sep:= "~!@";
@Text(MeetingDate) +sep+ @Text(MeetingTime) +sep + Event  + sep + @Text(@DocumentUniqueID)

Aber es scheint immer noch nicht zu funktioniern