Weiß jemand an was es liegt?
Probs bei versteckten Feldern
- roman82
- Erledigt
-
-
Fällt jemandem was ein wo der Fehler liegt?
-
Siehe meine Anmerkung zur NotesItem Klasse und der Property IsReaders
Ohne diese Eigenschaft ist das danach nur ein normales Textfeld und damit nicht mehr ausschlaggebend für die Sichtbarkeit.
Ein anderes Problem könnte die Form des Benutzernamens sein. Dieser muss immer der kanonischen Form entsprechen
-
Mit dem geposteten Code würde ich eher darauf tippen, dass dann überhaupt kein Readers item mehr da ist - die direkte Zuweisung macht das ja kaputt. Dann sollte es aber jeder sehen können - genau, wie Mathias schon schrieb. Daher könnte der Fehler noch ganz woanders liegen.
Wenn schon so herumgestochert wird (unter permanenter Strafung der DesignerHelp mit Missachtung) und wir nicht sehen können, *was* Du da treibst: Gebe Dir in der ACL die Rolle "[ReadAll]" (oder welche auch immer) und füge in Deine Maske ein Leserfeld "berechnet beim Anlegen" mit diesem Inhalt ein. Damit behältst Du immer Zugriff auf die Dokumente - und dann kannst Du nachsehen, was nach Deiner Aktion wirklich in dem Item steht.
Bernhard
-
So, habe jetzt noch ein Leserfeld eingefügt und mich darein, um nachzuschauen was ad rein kommt und was dort so abläuft.
Also nach dem ausführen des Codes, sind die kanonischen Namen in diesem leserfeld drin. Klicke ich auf das Pfeil um welche auszuwählen, dann sehe ich dass die zwei richtigen User drin sind.
Eigentlich so wie es auch sein muß. Entferne ich jedoch das zweite Leserfeld (zum testen), dann kann ich auf das Document nicht zugreifen.
Also liegt das daran dass man auf das Feld klicken muß damit er den Inhalt auch übernimmt.
Jetzt die Fragem:
Dieses Leserfeld ist bei mir Bearbeitbar, hat das irgendwelche auswirkungen?Wenn das jetzt an einem Aktualisierungsproblem des Feldes (des Documentes) liegt, gibt es da eine "refresh" oder aktualiseirungs funktion für das Document?
Danke
-
Ein Leserfeld funktioniert nur wenn die folgenden zwei Bedingungen erfüllt sind:
- Kanonische Namen bzw Kanonische Namensliste ohne anghänbgte Notes-Domäne
==> Prüf hier mal ob die Werte vor dem Öffnen des Dokumentes auch tatsächlich als Liste drinstehen und nicht als ein Wert, der mit irgendeinem Trennzeichen getrennt ist
- Feld muss das Field Flag SUMMARY READ-ACCESS NAMES haben
==> Ebenfalls vor dem Öffnen des Dokumentes zu prüfenNur wenn beides erfüllt ist greift ein Leserfeld
-
Die Kanonischen Namen stehen in dem Leserfeld wie foglt:
Max Musterman; Mina MusterfrauLaut deiner Ausssage wäre das dann falsch.
Aber ich füge die doch richtig ein, mit dem Array.
//Hier weise ich das String Array dem Leserfeld zu
maindoc.leser = newReadersWie soll ich dennn dann das Feld füllen?
O man....
-
Natürlich ist das falsch, denn da stehen erstens nicht die kanonischen Namen sondern nur der allgemeine Name drin und zweitens eben nicht als Textliste sondern als einzelner String
Und wie sollst du sie füllen ?
Anscheinend ist dann eben newReaders keine Textliste sondern nur ein String.
Ohne daß du uns endlich mal vollständige Infos gibst, können wir dir nicht helfen
-
Ja ich hatte auch davor die Kanon.Namen "CN=Max Mustermann/O=Firma".
Ja aber eine Textliste ist doch ein String Array.
In der Hilfe finde ich unter Textliste nur Beispiele wo man eine Stringzeile mit Trennzeichen sieht.
Also: "rot, gelb, grün..."Oder gibt es einen speziellen Datentyp?
-
Dann hast du wohl eine andere Hilfe wie der Rest von uns.
Ja eine Text Liste entsprich einem String Array im Script.
Die Feldeigenschaften sind aber auch richtig gesetzt, oder ?
-
hier die Eigenschaften:
Typ: Leser
Bearbeitbar
Auswahl: Adressdialog für Auswahl verwenden.Ja aber es funktioniert ja wenn ich nur einen User eingebe, sobald ich zwei eingebe komm ich an das Dokuement nicht mehr ran.
hm....
wenn ich das Feld dann abfrage was drin steht.
z.B. so
doc.leserfeld(0)
doc.leserfeld(1)Dann kommen auch die Richtigen User raus.
ich verstehe nicht an was es liegen könte.
Hat einer schon mal Leserfelder mit mehreren Usern dynamisch gefüllt?
-
Mache ich regelmäßig, so daß es eigentlich nur daran liegen kann, daß es eben nicht als Multivaluefeld definiert ist und somit bei einem Compute zu einem String wird.
Ich vermute mal du gibst die Feldelemente direkt nach dem zuweisen, aber vor dem Speichern aus
-
Ich setze zuerst die User und dann Speichere ich das Document ab.
-
Bitte lese doch erst mal aufmerksam was ich schreibe bzw frage bevor du eine Antwort schreibst die gar nicht dazu passt.
-
Sorry,,,
Nein ich gebe sie nach dem Speichern aus.
Call doc.Save(True,True)
Messagebox "Namen:" + doc.leserfeld(0)
Messagebox "Namen:" + doc.leserfeld(1) -
Und die anderen Punkte, die ich vorher auch genannt habe hast du ebenfalls überprüft ?
-
Also ... es funktioniert, aber nur teilweise.
Habe das jetzt so gemacht.Über das Item.AppendToTextItem
Set leseritem = doc.GetFirstItem("LESER")
While zaehler >0 leseritem.AppendToTextList(newReaders(tmp_z)
zaehler = zaehler -1
tmp_z = tmp_z +1
WendAlso es funktioniert, aber nur dann wenn ich das Dokument wo ich diese mehrere User setze nicht Offen habe.
Das ist echt verrückt, ich habe mehrmals getestet.
Also habe ein Parentdocument und zwei Antwortdokumente.
Ich kann über eine Ansicht auf die Antw.docs zugreifen oder über das parentdokument über dessen eingebetete Ansicht.Habe ich das Antwortdokument nicht offen dann funktioniert alles, habe ich die Maske offen dann geht das Dokument irgendwo verloren.
Ich speichere auch das Parentdokument nicht ab wenn ich es schließe.
Komisch.
Weiß einer warum dies so ist? -
Na wenn du ein Dokument offen hast und es gleichzeitig noch im Hintergrund veränderst, dann hast du zwei verschiedene Stände und daraus wird dann ein Speicherkonflikt.
-
ja aber ich werde nicht mal gefragt ob ein Konflikt dokument erzeugt werden soll.
Gibt es eine Funktion mit der ich das Andere Dokument schließen kann?
-
So, ich habe jetzt es soweit gebracht dass es fast funktioniert.
Das Problem aber ist folgendes.
Es funktioniert nur dann nicht wenn ich zuvor das Parentdokument geöffnet habe. Obwohl ich das Dokument danach schließe gehts trotzdem nicht.
Jetzt hier die Frage, laufen da irgendwelche Hintergrundprozesse oder sind da irgendwelche Zeiger die auf das Dokument verweisen, wenn ich ein Dokument geöffnet habe.
Wenn ja, wie kann ich dann diese löschen oder auf default setzen.
Danke