Hallo!
In einem Leserfeld werden die zugriffsberechtigten Personen für dieses Dokument gespeichert. Diese Personen ermittle ich über eine Dialogbox (Feld: Dialogliste mit "Adressdialog für Auswahl verwenden"). Die Mitarbeiter können dann aus dem Adressbuch die gewünschten Personen auswählen.
Jedoch werden diese dann in der Abbreviate-Form im Leserfeld gespeichert.
Max Mustermann/FirmaXY/DE
In einem Thread (http://atnotes.de/index.php?topic=34373.0) habe ich gelesen, dass für ein Leserfeld der kanonische Name erforderlich ist.
Wie komme ich aus dem Adressdialog an die kanonische Form?
Bille
Ich hatte bisher das Leserfeld nicht in der Maske gespeichert, sondern lasse dies mittels Button erstellen.
REM *** Auswahl der zusätzlichen Leser aus Adressbuch ***
If Not ws.DialogBox( "DialogLeser" , False , False, False, False, False, False, "Einstellung Zugriffsschutz für Dokument", doc ) Then
Exit Sub
End If
REM *** Auslesen der zusätzlichen Leser ***
Dim ergebnis As String
Dim i As Integer
For i = 0 To Ubound(doc.zusLeser) ' Feld aus DialogBox
ergebnis = doc.zusLeser(i) & "," & ergebnis
Next
REM *** Ergänzung der generellen Leser ***
ergebnis = ergebnis & profildoc.generelleLeser(0)
i = 0
Dim LeserNeu() As String
Forall elements In SY_XExplode(ergebnis,",")
Redim Preserve LeserNeu(i)
LeserNeu(i) = elements
i = i +1
End Forall
REM *** Leserfeld setzen ***
Dim LeserItem As NotesItem
Set LeserItem = New NotesItem( doc, "Leser", LeserNeu, READERS )
LeserItem.IsReaders= True
Nachdem ich nun direkt in der Maske das Feld "Leser" (Typ: Leser, Bearbeitbar, ohne Vorgabewert) angelegt habe, wird nach Ausführen des Button nur noch ein Leerstring im Feld "Leser" angezeigt. ???
Das Problem liegt wohl schon in der Dialogbox. Dort wird das Feld "zusLeser" gefüllt, im Debugger zeigt es mir den Inhalt schon in der Abbreviate Form an.
Kann ich die von Dir gepostete Formel bereits in der Dialogbox anwenden?
Ich weiß nicht, wo ich da ansetzen muss ...
Bille
Ich hab jetzt in der Dialogmaske ein berechnetes Feld "zLeser" mit Formel
@Name([Canonicalize];zusLeser)
erstellt.
Im Script-Code greife ich dann auf das Feld "zLeser" zu, in dem die Adressen in kanonischer Form enthalten sind.
Andreas, vielen Dank für die Formel!
Bille