Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Linda12345 am 04.05.10 - 14:58:42

Titel: Berechnete Leser- und Autorenfelder
Beitrag von: Linda12345 am 04.05.10 - 14:58:42
Hallo zusammen,

ich habe ein Problem mit Leser- und Autorenfelder und hoffe hier kann mir jmd. helfen.

Ich habe eine Datenbank bei der jedes Dokument ein Leser-und Autorenfeld hat welche berechnet sind. Ich lade mit Hilfe von Z-Merge Daten in die einzelnen Dokumente bzw. erstelle neue Dokumente. Die Leser-und Autorenfelder werden dabei auch richtig "befüllt". Es handelt sich um ganze Gruppen, die Zugriff bekommen aber auch um einzelne Personen. Bei den Personen liegt das Problem.... Solange das Leser-oder Autorenfeld auf berechnet steht können die Personen, die direkt auf die Datenbank Zugriff haben(also nicht über eine Gruppe) keine Dokumente sehen. Erst wenn ich das Leser-oder Autorenfeld mit Hilfe von "@Command([ToolsRefreshSelectedDocs])" auf bearbeitbar stelle können auch die Personen auf die Dokumente zugreifen, die nicht durch eine Gruppe sondern direkt berechtigt sind. Für mich bedeutet das einen ziemlich großen Aufwand, da es sich um sehr viele Daten und Ansichten handelt, die immer weider aktualisiert werden müssen. Wenn mir hier jmd. einen Tipp geben könnte was ich falsch mache oder besser machen könnte wäre das echt super!

Vielen Dank vorab!

Linda
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: Glombi am 04.05.10 - 15:05:08
Werden denn die Namen hierarchisch, d.h. CN=Kevin Darfnichtzurwm\O=Schalke05\C=DE, in das Leser-/Autorenfeld geschrieben?
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: atbits am 04.05.10 - 15:06:12
Was ist denn Z-Merge?

Vermutlich wird beim befüllen durch dieses Tool nicht ein Leser / Autorenfeld erzeugt sondern nur ein Textfeld.

Beim Refreshen wird dann das Feld in das richtige konvertiert.

Wenn Du da per LS drankommst kannst Du es setzen.

Kannst Du nach dem "Bepumpen" einen LS-Code oder Agenten ausführen?

Grüße David
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: koehlerbv am 04.05.10 - 15:09:38
Hallo Linda,

willkommen im Forum!

@David: Das glaube ich nicht! Entweder, es könnten alle lesen (ist ja kein Leserfeld) oder keiner.
Ich vermute eher, dass die Namen nicht hierarchisch eingetragen werden, also Kuno KillerKarpfen/Teich anstatt korrekterweise CN=Kuno Killerkarpfen/O=Teich.

Der Refresh würde dies dann korrigieren.

Bernhard
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: Linda12345 am 04.05.10 - 15:16:01
mh also der Name wird so reingeschrieben wie er in der Adressleiste bei einem neuen Memo steht. Z.B fritz mueller/SDE/DE
Nach dem Refresh steht aber immer noch das gleiche drin
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: atbits am 04.05.10 - 15:27:33
Ja aber ändert sich der Feld-Typ?

Schau mal in den Feld-Eigenschaften ob da vor dem Refrsh schon etwas steht wie

READ/WRITE-ACCESS NAMES

und ob es danach drinsteht.

Grüße
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: koehlerbv am 04.05.10 - 15:29:50
Dann hast Du den Fehler ja gefunden. Und schau in die Dokumenteigenschaften - im Itgem steht nach dem Refresh etwas anderes! Im Frontend wird es aber in Namensfeldern immer abbreviated angezeigt.

@David: Der Feldtyp kann sich nicht geändert haben - siehe mein erstes Posting hierzu!

Bernhard
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: atbits am 04.05.10 - 15:39:05
@Bernhard: ja hast recht - ich hätt mal gescheit lesen sollen :-(
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: Linda12345 am 04.05.10 - 15:40:26
ja, wenn ich refreshe steht es anders drin... aber nur wenn ich den Status des Feldes vorher auf bearbeitbar setze. Oder hat das was damit zu tun, dass nur Felder aktualisiert werden, die geändert wurden? Wenn ich den Status auf berechnet lassen, bleibt in den doc-Eigenschaften weiterhin nur fritz mueller/SDE/DE stehen. Vllt sollte ich mal versuchen direkt "CN=" + fritz mueller + "/O=SDE/C=DE" ins Autorenfeld reinzuschreiben???

Schon mal jetzt vielen Dank für Eure schnelle Hilfe! :)
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: Linda12345 am 05.05.10 - 13:21:09
ja, super mit cn=.... klappt es.  vielen danke! :)
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: pram am 10.05.10 - 14:12:15
Du kannst auch die NotesName-Klasse zum Konvertieren von Namen verwenden.

Gruß
Roland
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: Linda12345 am 14.05.10 - 11:03:41
Hallo Roland,

was ist das denn und wie funktioniert das?

Danke vorab.

Viele Grüße

Linda
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: ata am 10.06.10 - 09:53:25
Hallo Linda,

such mal in der Hilfe zu NotesName - da findest du die ganzen Methoden...

Toni
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: KaSie am 20.11.13 - 09:07:42
Moin Moin,
ich habe das gleiche Problem wie Linda. Meine Autorenfelder sind nach einer Änderung keine
Feld-Flags: SUMMARY READ/WRITE-ACCESS NAMES sondern die Feld-Flags: sind einfach leer  :-[

Mit der Formelsprache @Command( [ToolsRefreshSelectedDocs] ) geht es leider nicht.
Wie funktioniert das mit dieser Notes-Name Classe?
Oder gibt es noch einen anderen Weg aus dem Autorenfeld wieder ein richtiges Autorenfeld zu machen?

Danke schon mal für Eure Hilfe.
Gruß Karin


Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: Driri am 20.11.13 - 10:09:37
Hast Du im Backend via Script Änderungen vorgenommen ?

Wenn ja, mußt Du für das NotesItem die Flags IsSummary und IsAuthors setzen. Näheres dazu siehe Designer-Hilfe.
Titel: Re: Berechnete Leser- und Autorenfelder
Beitrag von: KaSie am 20.11.13 - 13:31:15
Danke für die Antwort, ich habe es jetzt mit einem Agenten gelöst  8) ;D

Code
Sub Initialize
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim view As NotesView
	Dim doc As NotesDocument
	Dim item As NotesItem
	
	Set db=s.Currentdatabase
	Set view = db.Getview("Name der Ansicht")
	Set doc=view.Getfirstdocument
	
	Do Until doc Is Nothing
		Set item=doc.Getfirstitem("Name des Autorfeldes")
		item.Isauthors=True
		doc.save True, False
		Set doc=view.getnextdocument(doc)
	Loop
End Sub