Domino 9 und frühere Versionen > ND8: Entwicklung
AppendDocLink mit Autorenrechten
Ch33:
Guten Morgen,
ich habe in einer neuentwickelten Anwendung ein Problem mit dem erstellen einer Mail per LotusScript.
In einem bestehenden Dokument (Benutzer ist im Autorenfeld enthalten und hat Autorenrechte auf die Anwendung) wird über eine Aktion folgender code Aufgerufen:
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim se As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = se.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
If uidoc.EditMode = False Then
uidoc.EditMode = True
End If
Call uidoc.Close
doc.Status = "9"
Call doc.Save(True,True)
ID = doc.UniversalID
Delete doc
Set doc = db.GetDocumentByUNID(ID)
Call ws.EditDocument(False,doc)
Dim pdoc As NotesDocument
Set Pdoc = db.GetProfileDocument("Konfig","Konfig")
If Pdoc.KonPBEmpfängerStorno(0) <> "" Then
Set mail = New NotesDocument(db)
mail.form = "memo"
mail.SendTo = Pdoc.KonPBEmpfängerStorno
mail.subject = "Text für Betreff"
Set rtitem = mail.CreateRichTextItem("Body")
Call rtitem.appendtext("Mailtext")
Call rtitem.AppendDocLink(doc,"Link zum Dokument","Anklickbarer Text")
Call mail.Send(False)
End If
Wird dieser Button von einem Editor oder höher verwendent funktioniert alles wunderbar.
Wird der Button von einem Autor betätigt, wird der Status umgesetzt, jedoch erscheint beim ausführen der Codezeile
Call rtitem.AppendDocLink(doc,"Link zum Dokument","Anklickbarer Text")
die Meldung "Notes Fehler: Sie sind zur Druchführung dieser Aktion nicht berechtigt"
Warum kann man als Autor keinen Link in die Mil hängen?
Ch33:
Ich hoffe es kann mir jemand Helfen....
Gruß Christian
Besten Dank im voraus
Peter Klett:
Dein Script sieht eigentlich ganz gut aus, kann mir daher nicht wirklich vorstellen, dass die Fehlermeldung beim Erstellen des Doclinks erfolgt.
Was passiert, wenn Du die Zeile mit dem Doclink auskommentierst? Bekommen Autoren dann keine Fehlermeldung mehr und die Mail wird gesendet?
Eines ist mir aufgefallen, das ich merkwürdig finde:
--- Code: ---If uidoc.EditMode = False Then
uidoc.EditMode = True
End If
Call uidoc.Close
--- Ende Code ---
Wenn das Dokument im Lesemodus ist, setzt Du es in den Bearbeitenmodus. Wozu? Falls Du damit prüfen willst, ob der User Autorenrechte auf das Dokument hat, solltest Du anschließend auch überprüfen, ob sich das Dokument im Bearbeitenmodus befindet. Falls das nicht der Hintergrund der Aktion ist, halte ich sie für überflüssig.
Ch33:
VIelen Dank für die Antwort!
MIt dem Bearbeitungsmodus hast du recht.
Wenn man die Zeile mit dem AppendDocLink auskommentiert läuft der Code auch bei den Autoren auf der DB.
Die Mail geht raus aber ja dann ohne Link
Umsetzung des Status passt auch.
Ist die Zeile drin wird der Status auch umgesetzt, aber leider die Mail nicht versendet, da die Zeile mitdem Link den Code abbricht...
Gruß Christian
Peter Klett:
Ein sehr merkwürdiges Verhalten, dass ich mir nicht erklären kann. In meinen Anwendungen werden öfters Doclinks versendet, und die Benutzer haben nie mehr als Autorenrechte. Das Problem ist dabei noch nie aufgetreten. Da kann ich Dir leider nicht helfen.
Einziger Unterschied im Code ist, dass ich den bei Dir "Anklickbarer Text" genannten Text nicht übergebe, sondern nur einen Leerstring (""). Und ich initialisiere das Richtextitem anders.
Set rtitem = New NotesRichtextItem (mail, "Body")
Das kann aber alles nicht die Ursache sein...
EDIT: Schau doch mal in der ACL nach, ob da irgendwelche merkwürdigen Einstellungen vorgenommen sind, z.B. dass "Dokumente replizieren oder kopieren" bei den Autoren verboten ist
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln