Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: RvM am 05.05.03 - 11:32:30
-
Ich habe nachträglich in eine Maske ein Leserfeld eingefügt. Nun wollte ich mit einem Agenten in allen vorhandenen Doks dieses feld mit entsprechenden Lesern füllen. Leider hat mir der Agetn aus dem feld keine Leser- sondern nur ein "normales" Textfeld gemacht.
Wie kann ich im Nachhinein aus dem Text- ein Leserfeld machen?
-
Die Namen müssen auf jeden Fall in einer bestimmten Form in dem Feld stehen. Und zwar so :
@Name([Canonicalize];"Username/Domäne"
Ich würde das Feld nochmal neu anlegen und dann vielleicht im Lotus Script Agenten die @function reinsetzen.
-
Hi,
hast du die Namen mit dem Agenten im kanonischem Format eingetragen, also z.B.:
"CN=Vorname Nachname/O=Organisation"
-
Alle upzudatenden Dokumente in eine Ansicht.
Und dann hinter eine Schaltfläche:
@Command([ToolsRefreshAllDocs])
Das berechnet alle Felder des Dokumentes neu.
Wahlweise könntest Du im Agenten die Methode computeWithForm von NotesDocument ausprobieren. Bin mir da aber nicht 100% sicher.
-
möchtest du mit dem gleichen Feld arbeiten ?
-> dann wird der Inhalt in eine variable gespeichert, das Feld gelöscht und neu angelegt mit - Der Wert sollte aber schon vorher in kanonischer Form gespeichert werden
temp = document.ReaderFeldName(0)
Set item = document.GetFirstItem( "ReaderFeldName" )
Call item.Remove
Set item1 = New NotesItem( document, "ReaderFeldName", temp, READERS )
item1.IsSummary = True
document.save true, false
## und in der Maske den Typ des Feldes ändern sonst wird beim nächsten speichern wieder Text genommen ##
cu
-
Reicht es denn nicht die IsReaders-Property auf true zu setzen?
-
Reicht es denn nicht die IsReaders-Property auf true zu setzen?
eindeutig nein
cu
-
Weshalb? Ich dachte, wenn man einen LS-Agenten laufen läßt, der durch alle Dokumente läuft, sich das Textitem holt, dann die IsReaders-Property auf true setzt und dann das Dokument speichert wird daraus ein Readerfeld. Warum kann das so nicht funktionieren?
Viele Grüße
ghost
-
... also ich habe das wie Ghost vorschlägt gemacht, und es reicht aus. Man zieht sich das Item, setzt IsReaders und IsSummary auf True und das Feld ist anschließend definitiv ein Leserfeld das funktioniert...
... wäre dem nicht so, würde einiges in bestehenden Datenbanken bei mir aus dem Ruder laufen, und davon kann keine Rede sein.
ata
-
... also ich habe das wie Ghost vorschlägt gemacht, und es reicht aus. Man zieht sich das Item, setzt IsReaders und IsSummary auf True und das Feld ist anschließend definitiv ein Leserfeld das funktioniert...
Das kann ich eindeutig bestätigen.
Wäre ja auch schlimm, wenn nicht. Was sollte die IsReaders-Eigenschaft auch sonst darstellen?
-
... wichtig ist die IsSummary, da sonst keine Auflösung der Leserfelder statfinden kann...
ata
-
Ja, das ist bei Leserfeldern absolut wichtig. Es gibt einen Bug, dass bei vielen Leserfeldern ohne gesetzem Summary-flag der Server abkachelt. Ist auch so in der KB dokumentiert.
-
ok, ok mag ja stimmen, weil ich mit der vorgeschlagenen Vorgehensweise -- im backend eine Textfeld in ein Readerfeld umwandeln -- bei einem Projekt(na gut es war noch die 4er Version) massiv Probleme hatte, bin ich den sicheren Weg gegangen -- Wert holen, Item löschen, Item vom Typ Reader erzeugen, Wert einsetzen --
Tja, und was sich einmal bewährt hat das nehme ich immer wieder ;D ;D ;D
cu
-
Die Namen müssen auf jeden Fall in einer bestimmten Form in dem Feld stehen. Und zwar so :
@Name([Canonicalize];"Username/Domäne"
Ich würde das Feld nochmal neu anlegen und dann vielleicht im Lotus Script Agenten die @function reinsetzen.
geruecht !!!
-
Nix "Gerücht", pure Wahrheit!
Leser- und Autorennamenfelder verweigern ihren Job, wenn da nicht der komplette Name drinsteht. Als CN="Willi Wichtig"/O=" usw..
CPO
-
@cpo
stimmt die Lese-/Autorenfelder müssen in kanonischer Form gespeichert werden - sonst klappt's nicht. In der 4er Version reichte die abbreviated form.
cu
-
arbeite auf R5er Servern - hier kann der Name in jeder Form aufgeloest werden !!!!!!!
Da ich nur Entwickler bin : vielleicht ist das eine administrative Einstellung des Servers...
Gruss
-
... wenn die Namen anders eingegeben werden kann es zu Problemen kommen. Der sicherste Weg ist der beschriebene...
ata