Personendokument ID einfügen

  • Hallo Profis,


    wenn man neue Personen zulässt, kann man ja auswählen dass deren UserIDs im öffentlichen Adressbuch gespeichert werden.
    Nun habe ich das bei einer Vielzahl von Kollegen dummerweise nicht getan und will dies nun nachholen. D.h. deren UserIDs ins Personendokument einfügen und zwar in der Art wie es auch nach einer entsprechenden Zulassung geschieht.


    Wie stelle ich das an ?
    Soviel weiß ich: Das Feld ist nicht sichtbar und heißt scheinbar $FILE.


    Wenn ich so ein Feld in die Maske einfüge und den Anhang speichere wird der Anhang aber nicht in gewohnter Form... ganz unten dargestellt ("geschützter Bereich"), sondern eben wie ein normaler Anhang ohne diesen Trennstrich davor.


    Ich hoffe es ist klar was ich meine


    Schonmal Danke für die Tipps

    • Offizieller Beitrag

    Die IDs hängen in keinem Feld, sondern werden direkt in der Maske eingefügt. Dies bekommst Du zumindest per Script hin.


    Sicherheitstechnisch haben UserIDs nichts im öffentlichen Adressbuch zu suchen.


    Ich würde eine eigene DB vorziehen, in der die UserIDs verschlüsselt hinterlegt werden.


    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

  • Danke für die schnelle Antwort Diali. :)
    Dass das aus Sicherheitsaspekten nicht non plus ultra ist hab ich meinem Kunden auch schon gesagt. Er will es aber so.


    Falls jemand ein fertiges Script dafür rumliegen hat und mir das zur Verfügung stellen kann/will, bitte mal melden.
    Erfinde das Rad ungern zweimal... zumal mein täglich Brot nicht aus LotusScript besteht. ;)


    Danke
    Gruß
    Andreas


    PS:
    Ich mach das für nen Kunden - der hat eigentlich auch das mit den nicht gesetzten Häkchen verbockt, habs aber der Einfachheit halber oben etwas anders formuliert.

  • Hy,
    der Script könnte wie folgt aussehen (habs grad runtergetippt, evtl. noch korrekturen / debug nötig) / Script in einer Ansicht starten - zuvor das gewünschte Dokument markieren:


    Sub Initialize
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim workspace As New NotesUIWorkspace
    Dim uiview As NotesUIView
    Dim collection As NotesDocumentCollection
    Dim rtitem As NotesRichTextItem
    Dim object As NotesEmbeddedObject


    Set db = session.CurrentDatabase
    Set uiview = workspace.CurrentView
    Set collection = uiview.Documents


    If collection.Count = 0 Then
    Exit Sub
    End If


    Set doc = collection.GetFirstDocument
    Set rtitem = New NotesRichTextItem( doc, "Body" )
    Dim fileName As Variant
    fileName = ws.OpenFileDialog( False, "ID Auswählen", "", "", "" )
    If Isempty(fileName) Then Exit Sub
    Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", fileName)
    Call doc.Save(True, True)
    End Sub


    Hmm, müsste funktionieren.





    Und hier etwas, wo du automatisch die ID-Files der benutzer per Mail kriegen könntest (falls du das brauchst):


    Erstelle eine Mail mit einem Button und schick das dem entsprechenden Benutzer (den auch unter recipient$ eintragen). Dieser braucht dann nur noch auf den Button zu klicken:


    Sub Click(Source As Button)
    Dim session As New notessession
    Dim dbThis As notesdatabase
    Dim docMail As notesdocument
    Dim embIDFile As notesembeddedobject


    Const recipient$ = {E-Mail des Empfängers}


    Set dbThis = session.currentdatabase
    Set docMail = dbThis.createdocument


    docMail.form = {Memo}
    docMail.subject = {Here is my ID}
    docMail.SendTo = recipient$


    'Ermitteln des Pfades für die ID und anhängen an die Mail
    idFile$ = session.getenvironmentstring({KeyFilename} , True)
    Set idField = New NotesRichTextItem( docMail, {Body} )
    Set embIDFile = idField.EmbedObject( 1454, {}, idFile$)


    docMail.save true, true
    docMail.send False


    End Sub