Domino 9 und frühere Versionen > ND6: Entwicklung

Dokument Refresh OHNE Bearbeitungsmodus

(1/3) > >>

Simon Dotschuweit:
Hi,

Wie kann ich ein Dokument im Frontend neu laden / refreshen, wenn es nicht im Bearbeitungsmodus ist und ich auch nicht umschalten kann (Weil der Nutzer nicht das recht hat, das Dokument zu bearbeiten) ?

Folgendes Codesegment funktioniert zwar, beinhaltet aber, das der Editmode auf true gesetzt werden muss, was ich gern vermeiden würde:


--- Code: ---Dim uidoc As NotesUIDocument

Set uidoc = g_myWorkSpace.WorkSpace.CurrentDocument
uidoc.Document.SaveOptions="0"
uidoc.EditMode = True
uidoc.Refresh
uidoc.EditMode = False


--- Ende Code ---

Thx

TMC:
Warum willst Du denn dann refreshen und was willst Du refreshen?

Je mehr Infos, desto besser kann gehlfen werden.

flaite:
Meines Wissens gar nicht.
Was du machen kannst:
Das Dokument automatisch schliessen und neu öffnen.
Geht über
UIworkspace.editDocument (Source.Document, false, false) ' oder so ähnlich
im QueryClose.
Du definierst eine globale Variable in der Maske.
globale Declaration:

--- Code: ---Dim doRefresh as Integer

--- Ende Code ---

Die setzt du im QueryOpen auf false

--- Code: ---doRefresh = false

--- Ende Code ---

Hinter der Refresh Aktion oder Button steht:

--- Code: ---doRefresh = true
uidoc.close

--- Ende Code ---

im QueryClose steht:

--- Code: ---if doRefresh then
UIworkspace.editDocument (Source.Document, false, false) ' oder so ähnlich
end if

--- Ende Code ---

sollte imho funktionieren.

Oder noch besser: Du packst den ganzen Code in eine Klasse, die du direkt im QueryOpen initialisierst. Das entsprechende Objekt deklarierst du global in den Masken-Declarations.

Thomas hat ja mal gezeigt, dass man in die Klasse auch hooks für Events schreiben kann.
Der Code ist dann einfacher zu maintainen und wiederverwenden, weil er eben in einer Code-Einheit steht und nicht über mehrere Masken-Events verstreut ist.

Axel

TMC:
Axel, es gibt da sicherlich noch mehr Möglichkeiten (z.B. Agents OnBehalfOf, Schedulded Agents, ...).

Ich denke erstmal sollte der Fragesteller spezifizieren WAS refreshed werden soll, warum weshalb wieso...
Geht es um Haupt- und Antwort-Dokumente, DBLookups, etc. Wie sieht das Konzept des "Nicht bearbeiten dürfen" aus, etc.

Fragen über Fragen.

flaite:

--- Zitat von: TMC am 20.07.05 - 23:53:06 ---Axel, es gibt da sicherlich noch mehr Möglichkeiten (z.B. Agents OnBehalfOf, Schedulded Agents, ...).

--- Ende Zitat ---
Mathias. ich tendiere dazu, dass nicht.
Müsste man mal nachprüfen.
Ist mir auch noch nicht aufgefallen.
Falls refreshen von Frontend-Dokumenten tatsächlich an den Editiermodus gebunden ist, dann kann nur durch durch neues Landen des Dokuments die aktuellsten Werte im Frontend angezeigt werden. Aber nur unter dieser Voraussetzung. Dann dürfte run-on-behalf auch nicht weiterhelfen.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln