Domino 9 und frühere Versionen > ND6: Entwicklung
zuweisung UiDoc
RonMat:
Möchte über ausgewählte Dokumente ein Refresh durchführen und habe nachfolgenden Script erstellt:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument()
Dim ws As New NotesUIWorkspace
Dim Uidoc As NotesUIDocument
While Not(doc Is Nothing)
Set uidoc= ws.currentdocument
Call uidoc.refresh
Set doc = collection.GetNextDocument(doc)
Wend
Das ist nur ein Testscript, später wird die Collection aus def. Datensätzen
erzeugt.
Wenn ich das Script laufen lasse, dann geht ein Fensterchen auf mit der Message: Object variable not set
Ich muß diverse Felder berechnen und hatte es vorher mit computedwith form versucht, doch die Felder wurden nicht berechnet und ich habe ein refresh auf das Dokument laufen lassen und siehe da ..
Da in der Doc Klasse ein refreshen nicht vorgesehen ist wollte ich den Umweg über das Uidoc machen , nun habe ich aber o.g. Prob.
Kann mir wohl einer weiterhelfen? Vielleicht habe ich ja auch im Augenblick ein ziemliches Brett vorm Auge
Axel:
Hi,
in deinem Script knallst in der Zeile
Set uidoc...
Und auf jeden Fall, dass was du vorhast geht so nicht. Das Thema hatten wir hier schon mehrmals.
Die einfachste Möglichkeit ist eine Ansichtsaktion die den Formelbefehl
@Command([ToolsRefreshSelectedDocs])
aufruft.
Damit werden alle markierten Dokumente in der Ansicht aktualisiert.
Axel
Johnson:
@Command([ToolsRefreshSelectedDocs]) führt allerdings keinen Code der Refresh-Events aus. Dort könnten ebenfalls noch Systemfelder geschrieben werden.
Die Zeile Set uidoc= ws.currentdocument ist hier nicht passen.
Die CurrentDocument-Eigenschaft gibt das aktuell geöffnete Dokument zurück. In der Collection sind allerdings nur die ausgewählten Dokumente der Ansicht. Soll heißen: Die Dokumente müssen erst noch geöffnet werden.
Set uidoc = ws.EditDocument(True, doc, False)
If uidoc.EditMode Then Call uidoc.Refresh
Call uidoc.Close(True)
Axel:
--- Zitat von: Johnson am 03.01.06 - 13:06:01 ---@Command([ToolsRefreshSelectedDocs]) führt allerdings keinen Code der Refresh-Events aus. Dort könnten ebenfalls noch Systemfelder geschrieben werden.
--- Ende Zitat ---
Refresh-Event. ???
--- Zitat von: Johnson am 03.01.06 - 13:06:01 ---...Soll heißen: Die Dokumente müssen erst noch geöffnet werden.
Set uidoc = ws.EditDocument(True, doc, False)
If uidoc.EditMode Then Call uidoc.Refresh
Call uidoc.Close(True)
--- Ende Zitat ---
Damit wirst du allerdings nicht lange Freude haben. Aus eigener Erfahrung kann ich dir sagen, dass nach relativ kurzer Zeit der Notes-Client abschmiert.
Axel
RonMat:
Danke für Euere Anregungen bzw. Kommentare.
Es muß doch eine funktionierende Refresh-Möglichkeit geben, die auch stabil läuft, wobei ich im Moment noch nicht sehe weshalb der Client abschmiert.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln