Domino 9 und frühere Versionen > ND8: Entwicklung

Anfänger GetProfileDocument("OutOfOfficeProfile")

<< < (3/4) > >>

smokyly:

--- Zitat von: Fanker am 23.10.12 - 16:09:49 ---
Ich möchte erreichen, dass die Benachrichtigung an den Absender alle 7 Tage neu erfolgt.

--- Ende Zitat ---

Das heißt, den schon informierten Sender nach 7 Tagen wieder zu informieren - Sender A schickt am Montag eine Mail und bekommt Benachrichtigung, dann eine Woche später wieder am Montag, Sender B schickt am Dienstag und... wieder am Dienstag?

Dazu braucht man dann aber noch eine Beziehung zwischen Sender und Tag der Benachrichtigung.

Tode:
1. TaskType ist ein Text, und da steht = "1" für Agent und ="2" für Service...
2. Wenn Du den Servernamen nicht kennst musst Du über Forall item in doc.Items gehen und prüfen ob Left( item.Name , 9 ) = "Notified_"
3. Wie bereits geschrieben: Dir fehlt noch die Relation zwischen Eintrag in Notified_xxxx und dem Datum zu dem der eingetragen wurde...Das musst Du Dir irgendwo merken...
4. Scheint mir das alles ne Nummer zu gross für Dich zu sein... Wir haben Dir doch jetzt wirklich fast alles vorgekaut, wenn Du da keinen funktionierenden Code rauskriegst, dann solltest Du dringend über eine LotusScript- Programmierungs- Schulung nachdenken...

ascabg:
Jetzt muss ich Tode vollkommen zustimmen.

Zumal in keinem der genannten Profile-Dokumenten in irgendeiner Art und Weise vermerkt wird, wer an welchem Tag (Datum) die Benachrichtigung erhalten hat.
Und allein das noch zusaetzlich zu implementieren ist schon nicht einfach, zumal wenn der Service aktiv ist.

Ich koennte mir nur vorstellen, einen eigenen kleinen Agenten zu schreiben, der 1x am Tag laeuft, das OOOServiceProfile ausliest, und in einer gemerkten Liste der Namen vom Vortag vergleicht, wer wurde alles neu in das Notified_-Feld geschrieben.
In einem eigenen kleine Profile merke ich mir nun die Namen + Datum, nachdem ich vorher noch verglichen habe, wer aus meiner Liste wurde vor 7 Tagen hinzugefuegt. Diese Namen loesche ich aus dem Notifed_-Feld.

Vorher natuerlich noch die Pruefung einbauen, ob der Service bzw. der Agent aktiv ist, da man ja nicht vollstaendig ausschliessen kann, dass doch noch irgendwer den Agenten verwendet. (Schablone des Mailfiles ist nicht auf Version 8.x)


Andreas

Fanker:
Es soll erreicht werden, dass die Sender, wenn sie in der nächsten Woche erneut schreiben, wieder einen Hinweis bekommen dass der Empfänger Abwesend ist.
Bei drei Wochen Urlaub somit evt. 3 mal eine Abwesenheitsnachricht.
Unabhängig davon, ob die Nachricht am Montag oder Dienstag gesendet wurde.
Ab Sonntag dann - alle 7 Tage die Einträge entweder löschen, oder das Kennzeichen entfernen dass sie eine Nachricht erhalten haben.

Es ist somit nicht relevant an welchem Tag der Sender informiert wurde. Wenn er am Freitag das erste mal schreibt wird er am Montag wieder einen Hinweis bekommen .. aber dann erst weider am darauf folgendem Montag.

Es ist ein Vergleich der Namenslisten somit nicht erforderlich. Ich möchte nur die Senderliste auslesen und diese entweder löschen oder das Kennzeichen entfernen, dass sie eine Nachricht bekommen haben (sofern es das gibt).

Nur weiß ich nicht wie diese Notfied Liste aussieht. Muss eine Schleife über die Liste laufen? oder erhält man ein  (beispielsweise) Array zurück?
Gibt es hinter dem Namen ein Feld 'wurde benachrichtigt' ?

Ich bin Script-anfänger und möchte nun etwas weiter kommen.
Ich habe eine Testumgebung und werde natürlich die Liste -erst einmal- nicht wirklich löschen.

Vielen Dank für eure Geduld



 





 

ascabg:
Also unter diesen Voraussetzungen ist es absolut nicht relevant, wie die Liste in dem basgten Feld des Profiles aussieht.

Du musst doch nur alle Eintraege in diesem Feld loeschen.

NotesDocument.Notified_<Servername> = "" oder

NotesDocument.RepliceItemValue("Notified_<Servername>, "")

und danach ein NotesDocument.Save(True, False)


Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln