Berechtigung zu RTItem.AppendDocLink

  • Hallo!


    In einer Aktion stolpert ein User auf den Fehler "Sie sind für diese Operation nicht berechtigt", und zwar bei der Ausführung von rtItem.AppendDocLink.


    Das Dokument das angelinkt werden soll (doc) hat der User selbst erstellt, er ist auch im Autor-Feld drin. Hier der betroffene Code-Teil:
    Set rtitem = New NotesRichTextItem( mail, "Body" )
    Call rtitem.AppendText( ">" )
    Call rtitem.AppendDocLink( doc , "Das Dokument" )
    Call rtitem.AppendText( "<" )


    Zugriffs-Berechtigung zu dieser Datenbank: Der User ist in einer Personengruppe und keiner von den anderen hatte je ein Problem damit.


    Weiss jemand was das ist?


    Dank im Voraus,
    Esteban

    • Offizieller Beitrag

    kann der User das Dokument per Hand bearbeiten und speichern?


    Steht der User eventuell nicht nur in der Gruppe sonderen noch direkt als Namenseintrag in der ACL?


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Hoi Dirk


    Ja, der User kann das Dokument bearbeiten und speichern. Der User ist nur in der Personengruppe mit Editoren-Rechte.


    Vielleicht hilft es, wenn ich das Umfeld schilder: es geht darum, das aktuelle Dokument als link per mail an einen im Dokument angegebenen Benutzer zu schicken.


    Danke (wiedermal),
    Esteban

    • Offizieller Beitrag

    d.h. es wird in der DB ein neues Dokument erstellt und versendet?


    Wenn der User Editor-Rechte hat, dann braucht er in keinem Autorenfeld zu sein, außer Du erweiterst damit ein Leserfeld.


    Wie wird das Mail-Dokument erzeugt?
    In welcher Zeile genau kommt der Fehler (Debugger)?
    Poste mal mehr Code.


    Gruß
    Dirk

  • Hoi Dirk


    Hier der vollständige Code:
    >-----------------------------------
    Sub Click(Source As Button)

    Dim ws As New NotesUIWorkspace
    Dim s As New NotesSession

    Dim db As NotesDatabase
    Set db = s.CurrentDatabase

    Dim ToDo As NotesUIDocument
    Set ToDo = ws.CurrentDocument

    Dim doc As NotesDocument
    Set doc = ToDo.Document

    Dim profilDoc As NotesDocument
    Set profilDoc = db.GetProfileDocument("Parameter")

    Dim mail As NotesDocument
    Set mail = New NotesDocument( db )

    Dim derAutor As String
    Dim derAdressat As String

    mail.Form = "Memo"
    mail.From = s.UserName
    mail.Subject = profilDoc.Mail_btrf (0) & ": " & doc.Titel (0)
    Set rtitem = New NotesRichTextItem( mail, "Body" )
    Call rtitem.AppendText( profilDoc.Mail_txt_vor (0) )
    Call rtitem.AppendDocLink( doc , profilDoc.Mail_doc_txt (0) )
    Call rtitem.AppendText( profilDoc.Mail_txt_nach (0) )
    derAutor = Left$(Mid$( doc.Autor (0), 4), Instr(doc.Autor (0), " ") - 3)
    Call rtitem.AppendText( derAutor )
    Call rtitem.AppendText( Chr(13) + profilDoc.rem_unterZeichner (0) )

    mail.SendTo = doc.Bearbeiter
    Call mail.Send( True )

    derAdressat = Left$(Mid$( doc.Bearbeiter (0), 4), Instr(doc.Bearbeiter (0), " ") - 3)
    Print "Der Link zum aktuellen ToDo wurde an " , derAdressat, " versendet."

    endePgm:
    End Sub
    ------------------------------------------<
    Wie gesagt, per Knopfdruck wird dieses Dokument (aus einer ToDo-DB) verschickt.


    Kannst du was damit anfangen?


    Gruss,
    Esteban

  • Hoi Taurec


    Wie du am Code siehst, wird das Memo-Dokument gesendet. Das angehängte ist gesichert, denn die Aktion kann nur aus Ansichten oder im Lese-Modus aufgerufen werden.


    Gruss,
    Esteban

    • Offizieller Beitrag

    taurec meine das doc in der Zeile


    Call rtitem.AppendDocLink( doc , profilDoc.Mail_doc_txt (0) )


    Wurde das ToDo doc schon im Frontend gespeichert?


    Gruß
    Dirk

    • Offizieller Beitrag

    da waren wir wohl gleichzeitig am ANtworten.


    In welcher Zeile bleibt der Debugger stehen?


    Gruß
    Dirk

    • Offizieller Beitrag

    benutze den Agenten mal, wenn das Dokument im Frontend offen ist.


    Gruß
    Dirk

  • Das Problem besteht unabhägig davon, ob die Aktion aus einer Ansicht (mit dem aktuellen Dokument) oder aus dem Offenen Dokument - zum lesen oder zum bearbeiten - aufgerufen wird. Bei anderen Usern geht es immer.

    • Offizieller Beitrag

    Schau nochmal im Designer die Objekt doc, profilDoc und mail an.
    Sind diese vorhanden?


    In der ACL ist Dokumente erstellen aktiviert? - ist bei Editorrechten immer so.


    Für mich passt die Fehlermeldung nicht zu der Stelle, in der der Debugger stehen bleibt.


    Gruß
    Dirk

  • Wie meinst du dass "sind diese vorhanden"? Beim
    Debuggen habe ich alle Variablen und die richtigen Werte: der Text aus profilDoc.Mail_txt_vor steht vor der ominösen Anweisung im Item Body des neuen Dokuments. Also stolpert er tatsächlich genau hier. Und NUR bei diesem Editor-User, der - wie du sagst - auch das Recht für neue Dokumente hat .


    Das habe ich auch schon erlebt, dass der gedebuggter Text nicht mit den Anweisungen ubereinstimmte - passiert wenn der Code verändert wird aber die DB nicht wiedereröffnet wird. Aber hier ist dies nicht der Fall.


    Gruss, Esteban

    • Offizieller Beitrag
    Zitat

    gedebuggter Text nicht mit den Anweisungen ubereinstimmte - passiert wenn ...


    Profildokumente verwendet werden, weil diese beim Öffnen der DB gecacht werden.


    Also es betrifft nur einen User.
    Hast Du schon vollständig den Cache beim User gelöscht?
    - Kachel von Arbeitsoberfläche (AO) entfernt inkl. aller Repliken
    - AO komprimieren
    - Notes beenden
    - cache.ndk löschen
    - Notes starten
    - Kachel der AO hinzufügen und
    - nochmal testen


    Gruß
    Dirk

    • Offizieller Beitrag

    gehe auf die Kacheloberfläche und dann:
    - Menü "Bearbeiten" - "Eigneschaften..."
    - "Arbeitsbereich" muss in der Fenstertitel-Zeile stehen
    - 2. Reiter
    - Schaltfläche "komprimieren"


    Falls eine Redbox oder nsd is running kommt, dann Notes starten und gleich nochmal versuchen.


    Gruß
    Dirk

  • Da bin ich wieder, habe gelöscht, AOL komprimiert, cache.ndk gelöscht ... und es geht immer noch nicht! Der User ist jetzt sogar Manager und hat die gleichen Rechte auf die DB wie ich: die Fehlermeldung kommt noch immer. Ich habe den Verdacht, das Problem liegt auf einer höheren Ebene, aber da habe ich gar keine Erfahrung.


    (Tut mir leid, dass ich immer mit so komischem Zeugs komme!)


    Gruss,
    Esteban


    P.S. Habe gerade die 2 Arbeitsumgebungen verglichen und das "Format für Nachriten..." auch auf MIME (wie bei mir) umgestellt - aber wie zu erwarten: KEINE besserung.