Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: typeOneg am 21.10.15 - 09:45:35

Titel: Entwickler-Noob-Frage
Beitrag von: typeOneg am 21.10.15 - 09:45:35
Hi Kollegen und -innen,

ich bin ja Admin und kein Entwickler, deshalb bräuchte mal kurz eure Hilfe :-)

Ausgangslage:
es soll in diversen Mailboxen eine gemeinsame Mailvorlage zur Verfügung gestellt werden

Lösungsansatz:
ich hab' ein Script gefunden, das über einen Button-Hotspot in einer Mail den Bodytext als Vorlage in der Mailbox des Users speichert. Also grundsätzlich das, was ich brauche.

Problem:
Wie bekomme ich beim Kopiervorgang (wenn die Mail zur Vorlage wird) den Button-Hotspot raus, sodass dieser in der Vorlage nicht mehr enthalte ist?

wenn ich das "rtitem.remove" nämlich drin lasse

   Dim rtitem As NotesRichTextItem
   Set rtitem = Stationdoc.GetFirstItem("Body")
   Call rtitem.remove   

ist immer alles weg, nicht nur der Button.

Ich hoffe, ich hab' mich verständlich ausgedrückt :-)

Hier der Scriptcode, der hinter der Schaltfläche liegt:

Code

Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace
	Dim s As New NotesSession
	Dim uidoc As NotesUIDocument
	Dim doc As NotesDocument
	Dim db As NotesDatabase
	Dim StationDoc As NotesDocument
	
	Set db = s.CurrentDatabase
	Set uidoc = ws.CurrentDocument
	Set doc = uidoc.Document
	
	Set StationDoc = doc.Copytodatabase(db)
	
	Dim rtitem As NotesRichTextItem
	Set rtitem = Stationdoc.GetFirstItem("Body")
	Call rtitem.remove	
	
	Call StationDoc.RemoveItem("DefaultMailServerOptions")
	Call StationDoc.RemoveItem("PostedDate")
	Call StationDoc.RemoveItem("ExcludeFromView")
	Call StationDoc.RemoveItem("Recipients")
	Call StationDoc.RemoveItem("$Revisions")
	Call StationDoc.RemoveItem("$VERREF")
	Call StationDoc.RemoveItem("$VersionOpt")
	
	StationDoc.ISMAILSTATIONERY = 1
	StationDoc.MAILSTATIONERYNAME = "Ihre Anfrage"
	StationDoc.SendTo = ""
	StationDoc.Subject = ""
	
	Call StationDoc.Save(True,True)
	'Msgbox "Please close the current note and go to draft view to access the new stationery named : Temp Stationery"
	Msgbox "Bitte schließen Sie jetzt diese Nachricht, öffnen Sie ''Werkzeuge'' - ''Vorlagen'', um zur Vorlage ''hre Anfrage''  zu gelangen."
	
End Sub

Titel: Re: Entwickler-Noob-Frage
Beitrag von: jo@chim am 21.10.15 - 10:01:43
Vielleicht mit ner Hide-When-Formel ausblenden, wenn die Mail als Vorlage gespeichert wurde?
Titel: Re: Entwickler-Noob-Frage
Beitrag von: Peter Klett am 21.10.15 - 10:32:25
Hide-When halte ich für gefährlich, schließlich ist der Button dann immer noch in der Vorlage. Wenn die Vorlage benutzt wird, um einem Kunden eine Mail zu schicken, ist auch in dieser Mail der Button enthalten und wird ggf. dort angezeigt. Das wollt Ihr bestimmt nicht riskieren.

Lege die Vorlage in eine Datenbank, die für alle Mitarbeiter im Zugriff ist, und versende mit einer anderen Mail einen Button, der diese Vorlage aus der zentralen Vorlagendatenbank in die persönliche Maildatenbank kopiert, dann hast Du eine saubere Lösung
Titel: Re: Entwickler-Noob-Frage
Beitrag von: typeOneg am 21.10.15 - 13:33:04
Danke für eure Anregungen. Ich werde die Variante 2 mit der eigenen Vorlagen-DB jetzt weiterverfolgen.