Domino 9 und frühere Versionen > ND6: Entwicklung

calender entry duration greater than 24 hours

(1/2) > >>

HipSlu:
im 5er notes durften meines wissens nach kalender einträge mitternacht nicht überschreiten, weil diese dann in der kalenderansicht nur am ersten tag angezeigt wurden. im 6er sind immerhin einträge kleiner 24 stunden möglich - wird ein tag überschritten, wird der eintrag automatisch auch am nächsten tag angezeigt.

aber eben nur maximal 24 stunden - mehrere tage sind nicht möglich, die werden dann wieder einfach nicht angezeigt.

jetzt mal abgesehen davon, dass ich diese limitierung absolut nicht verstehe, suche ich nach einer lösung.


mein erster ansatz war: pro tag einen datensatz aus startzeit und dauer generieren; für das beispiel

19.05.2005 22:00 - 23.05.2005 04:00

ergeben meine formeln also für das startdatum

19.05.2005 22:00
20.05.2005 00:00
21.05.2005 00:00
22.05.2005 00:00
23.05.2005 00:00

und die dauer:

7200
86400
86400
86400
14400

das wäre soweit auch richtig. weiters wollte ich dann einfach per "show multiple values" im view bei den beiden spalten das gewünschte ergebnis erziehlen; doch leider geht das nicht, es kommt nur unsinn dabei heraus, notes kombiniert alle möglichkeiten untereinander....

so, nun fällt mir nichts mehr ein - ausser einer "lösung", die eigentlich keine ist: alle 15 minuten einen agent laufen lassen, der anhand der beiden felder pro tag ein neues dokument generiert; der view zeigt dann diese an. das würde ja funktionierten, allerdings ist der view dann nicht aktuell, es muss alle 15 min ein agent laufen, wenn jemand aus dem kalender heraus ein dokument editieren will muss man den irgendwie auf das originale umleiten.... kurz gesagt: keine lösung.

habt ihr noch einen einfall?

umi:
Dein Ansatz ist schon richtig!

Aber ohne Code können wir nicht helfen.

HipSlu:
bitteschön - wobei wie gesagt: das funktioniert ja noch.....


für startdatum:
StartDatum:=Durchf_Start_Date;
EndDatum:=Durchf_Ende_Date;
StartZeit:=Durchf_Start_Time;
EndZeit:=Durchf_Ende_Time;

Temp:=@Explode(@TextToTime(@Text(StartDatum) + " - "+ @Text(EndDatum)));

Count:=@Elements(Temp);
Result:="";
@For(n:=1; n <= Count; n:=n+1;
@If(
n=1;@Set("Result";@TextToTime(@Text(StartDatum) + " " + @Text(StartZeit)));
@Set("Result";Result:@TextToTime(@Text(@Subset(@Subset(Temp;n);-1)) + " " + "00:00"))));
Result


für die dauer:
StartDatum:=Durchf_Start_Date;
EndDatum:=Durchf_Ende_Date;
StartZeit:=Durchf_Start_Time;
EndZeit:=Durchf_Ende_Time;
StartDateTime:=@Date(@Year(StartDatum);@Month(StartDatum);@Day(StartDatum);@Hour(StartZeit);@Minute(StartZeit);@Second(StartZeit));
EndDateTime:=@Date(@Year(EndDatum);@Month(EndDatum);@Day(EndDatum);@Hour(EndZeit);@Minute(EndZeit);@Second(EndZeit));

StartDatum1:=@Adjust(StartDateTime;0;0;1;-1*@Hour(StartZeit);-1*@Minute(StartZeit);-1*@Second(StartZeit));
EndDatum1:=@Adjust(EndDateTime;0;0;0;-1*@Hour(EndZeit);-1*@Minute(EndZeit);-1*@Second(EndZeit));
StartDuration:=StartDatum1-StartDateTime;
EndDuration:=EndDateTime-EndDatum1;

Rest:=EndDateTime-StartDateTime-StartDuration-EndDuration;

REM {Rest:};
REM {0 = Termin an 2 Tagen};
REM {-86400 = Termin am selben Tag};
REM {vielfaches von 86400 = wert / 86400 tage};

RepeatDuration:=@Explode(@Repeat("86400:";Rest/86400);":");

@If(Rest=0;@TextToNumber(@Explode(@Text(StartDuration):@Text(EndDuration)));Rest=-86400;EndDateTime-StartDateTime;@TextToNumber(@Explode(@Text(StartDuration):RepeatDuration:@Text(EndDuration))))

HipSlu:
keine hinweise für mich? nichtmal den, dass es einfach nicht gehen kann?

koehlerbv:
Schlichte Antwort: Nein, so geht das nicht. Du brauchst für diesen Stunt 5 separate Dokumente,
da diese fünf Einträge mit unterschiedlichen StartDateTime / EndDateTime darstellen (dass
Tag 2 bis 4 identisch wären, spielt hier keine Rolle).
Die Limitierung ist dadurch begründet, da Notes C&S mit puren Bordmitteln funktioniert. Neben den
Limits gibt es andererseits die Möglichkeit, hierbei selber eingreifen zu können.

"HTH" - würde ich jetzt gerne schreiben, stimmt dann aber nicht. Eher also: Sorry for bad news ...
Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln