Autor Thema: Terminüberschneidungen bei Raumbuchungen.  (Gelesen 19827 mal)

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Terminüberschneidungen bei Raumbuchungen.
« Antwort #20 am: 11.03.03 - 12:21:04 »
mit Notesliedern?

Hm,..
Titel "Take Notes Today"
Produziert by: eknori, Notes&Music Media AG
written&composed by: RobGreen, Crazy Notes Studios
gesungen: Axel Superstar  8) 8)
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Terminüberschneidungen bei Raumbuchungen.
« Antwort #21 am: 11.03.03 - 17:56:08 »
Hätte da noch ein paar Cover Versionen anzubbieten

Jeronimos formula ( kennt man doch, oder? )
Script-Li-bra-ry ( Y.M.C.A)
Dancing Script (Dancin' queen )
Notes on  the water ( Smoke on the water )

na, ja und die Kapelle, die das zu besten gibt könnte heißen...

ACL/ECL oder
RedScreen/ BlueScreen

Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Terminüberschneidungen bei Raumbuchungen.
« Antwort #22 am: 11.03.03 - 20:39:53 »
... mit Solosänger Mike Crow Soft...  ;D ;D ;D

... das wäre ja schon fast Kabarett-tauglich - wenn ihr noch nen Gitarristen sucht...

ata
Grüßle Toni :)

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Terminüberschneidungen bei Raumbuchungen.
« Antwort #23 am: 30.03.03 - 03:23:45 »
so..eknori..mir klingelte was in den Ohren, daß ich vor Jahren meiner Kollegin eine Formel für Terminüberschneidungen freudejauchzend vor die Nase gehalten hatte (sie mußte so ne kleine Autoreservierungs DB schreibseln...)


und siehe da...ich habs beim guten alten Martin Scott gefunden:
Description

 Given lists of StartTimes, EndTimes, Persons, and EventNames, determines which Persons/Events intersect a proposed event with StartTimeProposed, EndTimeProposed.
 
Comments

 at the end of the code, if TextSet is "", then there is no intersection between the existing event times and the proposed event time.
 
 Code

 REM "======================================================";
REM "Date Range Intersection detection.";
REM "Jamie Magee 8/18/98";
REM "Martin Scott Consulting LLC, American Management Systems, Inc.";

REM "Given a list of StartTimes, list of EndTimes, Persons, and EventNames ";
REM "this formula determines which Persons/Events intersect a proposed event ";
REM "with StartTimeProposed, EndTimeProposed.";
REM "======================================================";

REM "any unlikely-to-occur string, used for internal data separation";
sep := "~!@";

REM "interface with field data values on form";
REM "...Who and When (day)";
t_ProposedPersons := Invitees+sep+@Text(@Date(MeetingDate));

REM "...When (time)";
t_StartTimeProposed := @TextToTime( @Left(@Text(MeetingTime); " -"));
t_EndTimeProposed := @TextToTime( @Right(@Text(MeetingTime); "- "));

@If(t_StartTimeProposed !="" & t_EndTimeProposed !="" & @Trim(Invitees) !=""; ""; @Return(@Success));

REM "...lookup location";
t_EventView := "MeetingsByPerson-ConflictChecking";
t_EventDataColumnNum := 2;

REM "formatting - keep in mind that only 256 characters show up in an @Prompt message";
EventNameMaxDisplayLength := 60;

REM "============== DO NOT CHANGE CODE BELOW =============";
t_EventData := @DbLookup("":"NoCache"; ""; t_EventView; t_ProposedPersons; t_EventDataColumnNum);
@If(@IsError(t_EventData); @Do(@Set("ConflictMessage"; ""); @Return(@Prompt([OK]; "Conflict checking"; "No conflicts found."))); "");
t_StartTimes := @TextToTime(@Word(t_EventData; sep; 1));
t_EndTimes := @TextToTime(@Word(t_EventData; sep; 2));
t_EventNames := @Word(t_EventData; sep; 3);

REM "used later to exclude the current doc from the list of conflicts...";
t_NoteIDs := @Word(t_EventData; sep; 4);

REM "lookup the list of persons again, so we can accurately pair them up with their respective meetings on that day.";
t_Persons := @Word(@DbLookup("":"NoCache"; ""; t_EventView; t_ProposedPersons; 1); sep; 1);

REM "used for text message at end of this routine.  Removing leading zeros saves output space.";
t_EventTimes := @Text(t_StartTimes; "T1" ) + " - " + @Text(t_EndTimes; "T1" );
@Set("t_EventTimes"; @ReplaceSubstring(t_EventTimes; "01:":"02:":"03:":"04:":"05:":"06:":"07:":"08:":"09:"; "1:":"2:":"3:":"4:":"5:":"6:":"7:":"8:":"9:"));

REM "calculate the differences between start and end times";
sas := t_StartTimes - t_StartTimeProposed ;
sbe := t_EndTimeProposed - t_StartTimes ;
eas := t_EndTimes - t_StartTimeProposed ;
ebe := t_EndTimeProposed - t_EndTimes ;
sbs := t_StartTimeProposed - t_StartTimes ;
eae := t_EndTimes - t_EndTimeProposed ;

sas_1 := (@Abs(sas)-sas)+1;

sbe2 := @TextToNumber(@Replace(@Text(sbe); "0"; "-1"));
sbe_1 := (@Abs(sbe2)-sbe2)+1;

eas2 := @TextToNumber(@Replace(@Text(eas); "0"; "-1"));
eas_1 := (@Abs(eas2)-eas2)+1;

ebe_1 := (@Abs(ebe)-ebe)+1;

sbs_1 := (@Abs(sbs)-sbs)+1;
eae_1 := (@Abs(eae)-eae)+1;

test1 := @Replace(@Text(SAS_1 * SBE_1); "1"; "<<<");
test2 := @Replace(@Text(EAS_1 * EBE_1); "1"; "<<<");
test3 := @Replace(@Text(SBS_1 * EAE_1); "1"; "<<<");

REM "match up known conflict row numbers with event info for an informative message detailing the conflicts.";
Set1 := @Trim(@Left(t_Persons + sep + t_EventTimes + sep + t_EventNames  + test1; "<<<"));
Set2 := @Trim(@Left(t_Persons + sep + t_EventTimes + sep + t_EventNames + test2; "<<<"));
Set3 := @Trim(@Left(t_Persons + sep + t_EventTimes + sep + t_EventNames  + test3; "<<<"));

TextSet := @Trim(@Unique(Set1 : Set2 : Set3) );

REM "if this doc is already saved, make sure to exclude it from the list of found conflicts, else it will conflict with itself.";
@If(@IsNewDoc; ""; @Set("TextSet"; @Trim(@Replace(TextSet ; @Right(t_NoteIDs + t_Persons + sep + t_EventTimes + sep + t_EventNames; @NoteID); ""))) );

message := @If(TextSet = ""; @Return(@Prompt([OK]; "Conflict checking"; "No conflicts found.")); @Implode("  " + @Left(@Word(TextSet; sep; 1); 1) + ". " + @Right(@Word(TextSet; sep; 1); " ") + " - " + @Word(TextSet; sep; 2) + ": " + @Left(@Left(@Word(TextSet; sep; 3); "|||"); EventNameMaxDisplayLength); @NewLine));
FIELD ConflictMessage := message;

Quelle: http://www.martinscott.com/DesignLibrary.nsf/scategory/844BD6BD3F7E00ED85256C08001DF281?opendocument
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Iron

  • Junior Mitglied
  • **
  • Beiträge: 70
  • Geschlecht: Männlich
Re:Terminüberschneidungen bei Raumbuchungen.
« Antwort #24 am: 02.05.03 - 11:29:50 »
Hi Leute,

die DB von Eknori schaut jetzt schon klasse aus.
Allerdings wäre eine Möglichkeit der Reservierung über die Einladung aus dem Kalender die Top-Sache schlechthin.

Wie ist jetzt die "letzte" Version der Entwicklung?

Ich kann auch "etwas" Script und Formula... also will ich auch gerne mithelfen...

Gruß
Iron ;)

TheBigS

  • Gast
Re:Terminüberschneidungen bei Raumbuchungen.
« Antwort #25 am: 09.09.04 - 14:31:56 »
Was ist den eigentlich aus euren schönen resservierungs db geworden?

hab mir zwar mal die aktuelle version angeschaut, aber vielleicht ist ja noch kräftig daran weiter gearbeitet worden?

wäre eine schöne sache, mit der noteseigenen ressourcen db komme ich nämlich gar nicht zurecht.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Terminüberschneidungen bei Raumbuchungen.
« Antwort #26 am: 09.09.04 - 14:35:40 »
Zitat
Was ist den eigentlich aus euren schönen resservierungs db geworden?

liegt bei mir in der Schublade und will und will sich nicht alleine weiterentwickeln.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline MartinG

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.802
  • Geschlecht: Männlich
Re:Terminüberschneidungen bei Raumbuchungen.
« Antwort #27 am: 09.09.04 - 14:37:22 »
Ulrich hat m.W das ganze wieder verworfen weil die Anforderungen immer höher wurden und der Aufwand darüber vermutlich gigantisch geworden wäre....

So schlimm finde ich die Notes- interne Resourcenverwaltung aber gar nicht - ich habe bei uns die Ansichten (aber nur die Ansichten der ResourcenDB) noch etwas angepasst (kosmetisch und auf die relevanten Infos beschränkt) und wir leben recht gut damit. Klar ist Sie sicherlich nicht optimal, aber man kann schon ganz gut damit leben. Bei mir wird 1x am WE die busytime.nsf gelöscht und seitdem habe ich ruhe...

Gruss
Martin
Martin
Wir leben zwar alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont.
KONRAD ADENAUER

TheBigS

  • Gast
Re:Terminüberschneidungen bei Raumbuchungen.
« Antwort #28 am: 09.09.04 - 15:25:55 »
schade das ihr nicht mehr daran weiter entwickelt habt.

dann werde ich wohl doch einen thread mit meinen ressources db problemen auf machen müssen...

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Terminüberschneidungen bei Raumbuchungen.
« Antwort #29 am: 30.08.05 - 10:18:35 »
Hallo Eknori,

beim Stöbern im Forum bin ich auf Deine Versuche mit einer eigenen Reservierungsdatenbank gestoßen.

Deine Ansätze sind bestechend. Ich selbst quäle mich mit Erweiterungen der 4.6-er Schablone herum, da auch die neuere Standard-Datenbank nicht die gewünschten Funktionen enthält.

Dabei ist Dein Applet "Belegungsplan" eine tolle Ergänzung. Daher meine Frage:

Ist es wohl möglich, diese Funktion in die obige Version einzubauen, ohne im Java-Code programmieren zu müssen?

Ein kurzes Statement dazu wäre sehr nett.

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Terminüberschneidungen bei Raumbuchungen.
« Antwort #30 am: 30.08.05 - 10:21:00 »
Am Java Code musst du nix machen; daß lässt sich alles über Parameter einstellen ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Terminüberschneidungen bei Raumbuchungen.
« Antwort #31 am: 30.08.05 - 11:42:35 »
Hallo Eknori,

hab' noch eine Nachfrage:

Da die Feldnamen in meiner Maske anders lauten, findet das Applet wohl offensichtlich keine verwertbaren Daten. Heisst das, dass ich alle bestehenden Reservierungen auf deine Maske überführen muss?

Alexis
 
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline knolli75

  • Frischling
  • *
  • Beiträge: 12
  • Geschlecht: Männlich
    • Knollis Website
Re: Terminüberschneidungen bei Raumbuchungen.
« Antwort #32 am: 31.07.08 - 09:29:29 »
Hallöchen, vielen Dank an alle die sich diesem Problem gewidmet haben. In euren Beispielen werden immer nur Uhrzeiten (StartTime > EndTime" verglichen. Wenn ich aber die Abfrage für mehrere Tage bzw. einen Zeitraum stellen möchte ? Wie müßte dann das Script aussehen ? Ich habe nämlich einen Gruppenkalender als Zimmerbelegungs-Datenbank umfunktioniert. Es soll eine Abfrage möglich sein, ob das Zimmer in diesem Zeitraum verfügbar ist.
Sprich: Eine Maske ist vorhanden in der ich eine Reservierung erstelle. Datum wird per Kalender ausgewählt. Felder sind mit datumVon und datumBis bezeichnet.
Wenn ich z.B. das Zimmer für den 31.07.2008 reservieren möchte, es aber vom 29.07.08-01.08.2008 bereits reserviert ist, wie muß dann die Abfrage lauten ? Ich danke euch.
Gruß Sascha

P.S. Wir arbeiten zur Zeit mit der 6er Version.
« Letzte Änderung: 31.07.08 - 09:31:02 von knolli75 »

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Terminüberschneidungen bei Raumbuchungen.
« Antwort #33 am: 31.07.08 - 10:40:24 »
Zitat
P.S. Wir arbeiten zur Zeit mit der 6er Version.

Und warum die Frage nicht im 6er-Forum?
Und warum einen alten Thread wieder öffnen?
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz