Autor Thema: Kanonische Form aus Adressdialogfeld  (Gelesen 1408 mal)

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Kanonische Form aus Adressdialogfeld
« am: 20.01.07 - 10:26:33 »
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.

Code
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
« Letzte Änderung: 22.01.07 - 10:54:50 von Bille »
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

Glombi

  • Gast
Re: Kanonische Form aus Adressdialogfeld
« Antwort #1 am: 20.01.07 - 12:05:15 »
Die kanonische Form wird automatisch erzeugt, wenn das Leserfeld bearbeitbar oder berechnet ist (nicht berechnet beim Anlegen).
Ansonsten lässt sich diese Form auch immer erzeugen mit:

FIELD ReaderNames := @Name([Canonicalize];<Name>)

Angezeigt wird der Name aber immer nur in der Abbreviate Form - ist ein Feature. Daher sicherheitshalber immer in den Dokumenteigenschaften nachsehen, ob auch wirklich die Canonicalize Form drin steht.

Andreas

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Re: Kanonische Form aus Adressdialogfeld
« Antwort #2 am: 20.01.07 - 12:31:29 »
Ich hatte bisher das Leserfeld nicht in der Maske gespeichert, sondern lasse dies mittels Button erstellen.

Code
	
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
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Re: Kanonische Form aus Adressdialogfeld
« Antwort #3 am: 22.01.07 - 10:54:17 »
Ich hab jetzt in der Dialogmaske ein berechnetes Feld "zLeser" mit Formel
Code
@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
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz