Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: boemitsu am 19.05.05 - 18:47:38

Titel: Authorenfeld per Skript setzen...
Beitrag von: boemitsu am 19.05.05 - 18:47:38
hallo zusammen

Habe ein Form mit einem Authorenfeld, in welches ich Defaultmässig den Wert "[Editor]" (also ne Rolle, die ich vorher in der ACL definiert hatte) setzte....Nun erstelle ich als normalen User XY  mit Authorenrechte und dieser Rolle das Dokument und kann es mit einem beliebigen User YZ mit denselben Rechten editieren...ganz den Wünschen entsprechend...ABER

Nun wird allerdings die DB nicht von Hand, sondern per Import aus einem CVS abgefüllt....dies funktioniert auch prima. Die Dokumente haben natürlich den Wert [Editor] im Authorenfeld....nur leider kann ich diese mit einem normalen User wie XY nicht mehr editieren, obwohl ihnen diese Rolle zugeteilt wurde...
Also setze ich den Wert im Authorenfeld auch noch im Import-Skript....doc.author = "[Editor]"....ohne Änderung...

Wenn ich nun einen @Command([ToolsRefreshSelectedDocs]) laufen lasse, ändert sich zwar am Authorenfeld nichts, trotzdem kann ich die Doks wieder ändern ??

Kann mir jemand erklären warum ?

Titel: Re: Authorenfeld per Skript setzen...
Beitrag von: rar am 19.05.05 - 19:18:24
Hi,
wenn du in den Eigenschaften des Dokumentes das Autorenfeld anschaust, muss rechts READ WRITE ACCESS stehen. Nur dann ist das Autorenfeld ein richtiges Autorenfeld.
In der Notesitem-Klasse kannst du einem Item mit der Propperty item.IsAuthors = true (glaub ich) die Autoreneigenschaft zuweisen.

HTH
-daniel
Titel: Re: Authorenfeld per Skript setzen...
Beitrag von: stefke am 19.05.05 - 19:19:25
Hallo.

Ich glaube im Script kann man das mit

success = doc.ComputeWithForm( False, False )

oder

Dim item As NotesItem
Set item =  doc.GetFirstItem( "Feldname" )
item.IsAuthors = True

machen.

Gruß
Stefan

Ich war zu langsam
Titel: Re: Authorenfeld per Skript setzen...
Beitrag von: Axel am 19.05.05 - 20:52:22
Hi,

ich setze meine Leser- und Autorenfelder beim Anöegen eines Dokumentes so:

...
Set item = New NotesItem( newdoc, "xRead", "[Public]", READERS )
item.IsReaders= True
Set item = New NotesItem( newdoc, "xWrite", "[Name der Rolle]", AUTHORS )
item.IsAuthors= True
...

Anstatt der Rollen kannst du natürlich auch Usernamen oder Gruppen eintragen.

Axel
Titel: Re: Authorenfeld per Skript setzen...
Beitrag von: boemitsu am 20.05.05 - 10:28:49
hallo zusammen

Besten Dank für Eure Antworten !

Mein Authorenfeld ist bereits im Form drauf, in den Dokumenten ist bei den Feldeigenschaften "READ WRITE ACCESS" gesetzt....deswegen will ich nur den Wert "[Editor]" setzen...

Durch Eure Anregungen bin ich auf folgendes gekommen:

doc.author = "[Editor]"
Set item =doc.GetFirstItem("author")
item.IsAuthors=True

...und nun klappts !

Falls jemand noch Verbesserungsvorschläge hat, wäre ich ihm dankbar.

gruss und schönen Tag noch
Michael