Domino 9 und frühere Versionen > ND8: Entwicklung

Datensätze mit der Maske berechnen (Refresh)

<< < (2/4) > >>

Jörg P:
Hallo Peter,

ComputeWithForm habe es ausprobiert. Es funktioniert nicht. Die berechneten Felder stehen allerdings auf "berechnet" und nicht auf "berechnet beim Anlegen". Ob das einen Unterschied macht, weiß ich nicht.

Der Import wird vom User gestartet, es ist kein periodischer Agent. Die Datensätze sind nicht im Frontend, sie werden im Backend geschrieben. Da ich aber keinen anderen Befehl finde, dachte ich mir, es ist vielleicht möglich, die Datensätze anschließend im Agenten über den Befehl uidoc.refresh "nachzubearbeiten". Ob das aber sinnvoll ist, weiß ich nicht.

Viele Grüße

Jörg

oxyd21:

--- Zitat von: Jörg P am 01.03.11 - 10:33:22 --- Ob das aber sinnvoll ist, weiß ich nicht.

--- Ende Zitat ---
Meistens nicht. Warum legst du nicht alles ins Backend. Die Berechnung erfolgt schön beim Import und Änderungen im Frontend kannst z.B. beim QuerySave auch damit berechnen.

VG, Michael

atbits:
Meiner Meinung nach ist das nicht nur nicht sinnvoll,
sondern schlichtweh unmöglich in einem Backend-Agent ein uidoc.refresh zu machen.

Zumindest wenn es sich bei uidoc um ein Objekt der Klasse NotesUIDocument handelt...

Grüße David

Peter Klett:
Es liegt sicher nicht an berechnet oder berechnet beim Anlegen, sondern an der Komplexität der Berechnungen, in meinem Fall ist es eine ganz simple Formel, die funktioniert.

uidoc.Refresh geht nur, wenn das Dokument geöffnet ist. Um das unzusetzen, müsstest Du das importierte Dokument öffnen, refreshen, speichern und schließen. Mit einer handvoll Dokumenten geht das, aber wenn es zu viele werden, fliegt Dir der Client um die Ohren. Habe für solch eine ähnliche Aktion (kein Import, aber uidoc notwendig) mal eine funktionierende Zahl von ca. 40 Dokumenten ermittelt (allerdings unter Notes 7). Bis dahin könntest Du das probieren. Der Vorteil wäre ganz klar, die doppelte Erstellung der Berechnungsmethode im Import und im Dokument läuft Dir bei Updates irgendwann auseinander.

Michaels Hinweis, die Berechnung in Script auszulagern, ist, wenn möglich, natürlich die beste Option. In gewachsenen Anwendungen kann das aber eine ziemlich große Baustelle werden ...

Mitch:
Würde ein Agent (Ziel: Alle neuen oder geänderten Dokumente) mit @Command([ToolsRefreshSelectedDocs]) funktionieren?

Oder könnte man den nicht aus dem Backend anstoßen? Der Befehl aktualisiert doch auch berechnete Felder oder nicht?

Gruß,

Mitch

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln