Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

[vb.net][gelöst] Kalendereinträge mit VB.net erzeugen

<< < (2/2)

michaelz:
@kohlerbv: Es geht um Appointments: Termine. Es geht noch nicht um die Meetings: Besprechungen oder Jahretage, Erinnerungen. Theoretisch könnten Erinnerungen auch reichen, aber diese Unterscheiden sich meines Erachtens lediglich durch den Typ des Kalenderdokumentes. Bei Meetings sieht die Sache schon anders aus, das sind ja auch die eingeladenen Personen zu berücksichtigen.

@Peter Klett: Ich gehe davon aus, das das temporäre Feld entweder teil einer Formel oder aber Teil des Templates ist. Da Kalenderdokument weisst im Designer schon einige tmp Felder auf, leider nur nicht das, welches ich als Fehlermeldung auf den Schirm bekomme. Daher vermute ich das es in einem anderen Teil des Templates zu finden ist. Ich hatte halt gehofft, es sagt einer: Jau hab ich schon gesehen und zwar an Stelle xy. Dann hätte ich mir das Suchen im kompletten Template erspart.
 

Thomas Schulte:
_Eintrag Offlinekalender und _Kalendereintrag.  In beiden Berechnet zur Anzeige ...
_Eintrag Offlinekalender mit dieser Formel.
@If(@IsNewDoc;@Return(@Now);"");
REM {Display the day-of-week using local time};
xxSTZ:=@If(@IsAvailable(StartTimeZone);StartTimeZone;LocalTimeZone);
xxStartTime:=@If(@IsAvailable(StartTime);@Time(StartTime);@Time(StartDateTime));
xxStartDateTime:=@If(@IsAvailable(tmpViewStartDateTime);tmpViewStartDateTime;StartTime = ""; @If(@IsAvailable(StartDateTime);StartDateTime; @Today); StartTime);
xxStartDate:=@If(@IsAvailable(StartDate);@Date(StartDate);@Date(StartDateTime));

xxUseStart := @If(@IsUnavailable(StartTimeZone);"0";xxSTZ = LocalTimeZone & xxSTZ = LocalTimeZone; "0";"1");
xsStart := @If(xxUseStart="1";@TimeZoneToText(xxSTZ);   @RightBack(@Text(xxStartDateTime; "Z2"); " "));

tmpIndex := @Member(@Text(xxStartDate;"D0S0");@Text(xxStartDateTime;"D0S0"));
tmpStartNDT := @TimeMerge(@Date(@Year(xxStartDate);@Month(xxStartDate);@Day(xxStartDate));@Time(@Hour(xxStartTime);@Minute(xxStartTime);@Second(xxStartTime));xxSTZ);

@TimeMerge(tmpStartNDT;tmpStartNDT;LocalTimeZone)

und beim _Kalendereintrag mit dieser ...

REM {Begin DNT};
@If(@IsNewDoc & StartDate = "";@Return(@Now);"");
REM {Display the day-of-week using local time};
xxSTZ:=@If(@IsAvailable(StartTimeZone);StartTimeZone;LocalTimeZone);
xxStartTime:=@If(@IsAvailable(StartTime);@Time(StartTime);@Time(StartDateTime));
xxStartDateTime:=@If(@IsAvailable(tmpViewStartDateTime);tmpViewStartDateTime;@Text(StartTime) = ""; @If(@IsAvailable(StartDateTime);StartDateTime; @Today); StartTime);
xxStartDate:=@If(@IsAvailable(StartDate);@Date(StartDate);@Date(StartDateTime));

xxUseStart := @If(@IsUnavailable(StartTimeZone);"0";xxSTZ = LocalTimeZone & xxSTZ = LocalTimeZone; "0";"1");
xsStart := @If(xxUseStart="1";@TimeZoneToText(xxSTZ);   @RightBack(@Text(xxStartDateTime; "Z2"); " "));

tmpIndex := @Member(@Text(xxStartdate;"D0S0");@Text(xxStartDateTime;"D0S0"));
tmpStartNDT := @If(tmpInPreview="1" & AppointmentType="3" & @Elements(xxStartDateTime) > 1;xxStartDateTime[1];
tmpInPreview="1" & AppointmentType="3" & @Elements(xxStartDateTime) = 1;xxStartDateTime;
@IsAvailable(OrgRepeat) & @Elements(xxStartDateTime) > 1;xxStartDateTime[tmpIndex];
NoticeType="E" & @IsAvailable($ICAL_ORGANIZER) & @IsAvailable($ICAL_ORIG_PRODID) & !@IsAvailable(tmpInPreview) & !@IsAvailable(OrgRepeat) ;xxStartDateTime[1];
@IsAvailable(StartTime) & @Text(StartTime)!="";@TimeMerge(@Date(@Year(xxStartDate);@Month(xxStartDate);@Day(xxStartDate));@Time(@Hour(xxStartTime);@Minute(xxStartTime);@Second(xxStartTime));xxSTZ);
xxStartDateTime);

tmpStartNDT:=@If(@Text(@Date(tmpStartNDT))="" | @Text(@Time(tmpStartNDT))="";@TimeMerge(@Date(@Year(xxStartDate);@Month(xxStartDate);@Day(xxStartDate));@Time(@Hour(xxStartTime);@Minute(xxStartTime);@Second(xxStartTime));xxSTZ);tmpStartNDT);

@TimeMerge(tmpStartNDT;tmpStartNDT;LocalTimeZone);
REM {End DNT};
Welches der Felder, die hier verwendet werden, jetzt bei dir, weil es entweder nicht oder nicht typkorrekt gesetzt wurde, deinen Fehler schmeisst, musst du selbst rausfinden.

koehlerbv:
Viele von den hier belegten Items kann man aber getrist vergessen, wenn man einen gültigen, auch wiederverwendbaren reinen kalendereintrag erzeugen will.

Peter hat schon recht - das einfachste ist, einfach einen Eintrag anzulegen (und dabei unbedingt das C&S Schema danebenliegen zu haben!).
Wiederkehrende Termine oder Einladungen sind natürlich eine ganz andere Hausnummer  ;)

Bernhard

michaelz:
Guten Morgen,

problem erkannt, gefunden und gelöst.
Für die Nachwelt:
Das Problem lag bei den Alarm Feldern. Sind diese nicht entsprechend der C&S Doku gesetzt, kommt es zu dem von mir beschreibenen Fehler.
Entweder ist das $Alarm Feld mit einem Wert belegt (immer 1) und vorhanden oder aber das $AlarmDisable Feld ist vorhanden. Ist keines der beiden da, hat wohl eine Formel ein kleines Problem. :)

Trotzdem Danke für die wirklich schnelle Reaktionen.

@kohlerbv: Ja in der Tat sind Termine und Einladungen eine ganz andere Hausnummer. Die kommen im nächsten Schritt dann zum Zuge, auch wenn das Gegensystem gar nicht in der Lage ist, Besprechungen zu organisieren. Mal sehen was mich dann da erwartet. :)

Gruß

Michael

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln