Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: topsys am 10.12.07 - 11:46:08
-
Hallo Zusammen,
ich habe folgendes Problem:
Ich möchte in der Maildatenbank per Script einen vorher eingeladenen Benutzer wieder ausladen. Dieses funktioniert auch z.B. wie folgt:
Call curDoc.ReplaceItemValue("RequiredAttendees", Fulltrim(newRequiredRecipients))
nur leider bekommt diese Person keine Info über die "Ausladung". Wenn ich mir das Script in dem Button in dem Kalendereintrag der Mail-DB anschaue, komme ich um eine manuelle Auswahl (Dialogbox) nicht herum.
Das „Ausladen“ soll aber ohne Eingriff eines Benutzers geschehen.
Auch aus dem IBM® Lotus® Notes® Calendaring & Scheduling Schema (http://atnotes.de/index.php?topic=39101.0) werde ich nicht richtig schlau. ???
Vielleicht hat das ja schon mal jemand hinbekommen und kann mir einen Tipp geben?!
Vielen Dank im voraus.
Gruß
topsy
-
... du müsstest in deiner Routine feststellen, wer neuerdings nicht mehr enthalten ist, bzw. wer eventuell neu hinzugekommen ist. An diese Personen versendest du dann die entsprechende Mail...
Toni
-
Hallo Toni,
vielen dank für deine schnelle Anwort, aber ...
Vielleicht muss ich mein Problem noch einmal besser beschreiben:
1. Ich möchte jemanden normal zu einem Termin einladen, diese Person bekommt eine Einladung und nimmt diese an, so weit alles standard Notesfunktioalitäten.
2. Jetzt will ich über ein Script diese Person wieder ausladen und z.B. eine andere Person einladen (z.B. nach Abhängigkeit des eingeladenen Raumes).
3. Die ausgeladene Person soll jetzt eine aktualisierung der Einladung bekommen, mit dem Hinweis das sie ausgeladen wurde. Anschließend wird der Termin bei der Person nicht mehr im Kalender angezeigt (es ist nur noch eine Notiz), genauso wie bei der Notes Standardfunktionalität.
So weit ist alles in Ordnung aber irgendwie bekomme ich den Punkt 3 nicht ausgelöst bzw. nachgebildet.
Hat vielleicht jemand so etwas schon gemacht???
Danke und Gruß
topsys
-
... um das genauer zu sagen müsst ich den Prozess ebenfalls nachbilden und eventuell den Debugger mitlaufen lassen, um zu sehen, was Notes da alles angreift und verwendet...
Mal sehen, wenn ich später noch etwas Zeit habe...
Toni
-
Hallo!
So ich habe nun mal versucht eine Antwortmail für einen ausgeladenen Teilnehmer selbst zu "bauen".
Ne menge Felder die zu erstellen/mappen sind. Dieses habe ich geschafft, aber irgendwie bekommen ich beim öffnen der selbstgebauten Ausladung immer folgende Fehlermeldung: "Fehler beim öffnen des Dokumentes: Ein Feld im Dokument besitzt einen falschen Datentyp".
Meine Vermutung ist, das es an einem Item des Typs: Antwort-Referenzliste liegt ($Orig bzw $Ref).
Wie bekomme ich denn diesen Typ hin ? ???
Ich bin für jede Hilfe dankbar :P
Gruß
topsys
-
... kontrolliere deine Felder, da scheint irgendwo ein Datumsfeld oder Zahlenfeld verkettet zu werden, das nicht konvertiert wurde...
Toni
-
Habe ich alles schon kontrolliert.
Dafür gibt es überigends ein guten Tool von openntf:
http://www.openntf.org/Projects/pmt.nsf/HomeLookup/3281F699534ECA928625713F0045E4BA?OpenDocument (http://www.openntf.org/Projects/pmt.nsf/HomeLookup/3281F699534ECA928625713F0045E4BA?OpenDocument).
Damit können die Felder angezeigt und verglichen werden.
Bei mir sind alle Felder gleich der Original-Absage, bis auf die Felder $Orig und $Ref, bei mir sind es Textfelder und bei dem Original sind sie vom Typ Antwort-Referenzliste.
-
$Ref erzeugt man mit NotesDocument.MakeResponse. Hierüber kannst Du auch $Orig erzeugen, beispielsweise durch ein nicht zu speicherndes Hilfsdokument, MakeResponse und anschliessendem NotesItem.CopyItemToDocument (Zieldokument, "$Orig").
HTH,
Bernhard
-
Hallo Bernhard,
das war der Schlüssel zur Lösung meines Problems. Call docNew.MakeResponse(docSel) und schon funzt es. Herzlichen Dank. Ich habe auch über die folgende Seite noch ein paar Infos zu diesem Thema gefunden:
http://atnotes.de/index.php?topic=13984.0 (http://atnotes.de/index.php?topic=13984.0).
Folgendes habe ich noch nicht richtig verstanden:
Hierüber kannst Du auch $Orig erzeugen, beispielsweise durch ein nicht zu speicherndes Hilfsdokument, MakeResponse und anschliessendem NotesItem.CopyItemToDocument (Zieldokument, "$Orig")
Was meinst du mit Hilfsdokument erzeugen?
Schon mal vielen Dank für die Hilfe
topsys
-
Set NotesDocument = NotesDatabase.CreateDocument
Dann das MakeResponse und anschliessend
Set NotesItem = NotesDocument.GetFirstItem ("$Ref")
Call NotesItem.CopyItemToDocument (DeinEigentlichesDokument, "$Orig").
Bernhard