Domino 9 und frühere Versionen > ND8: Entwicklung

AppendDocLink mit Autorenrechten

(1/3) > >>

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