Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: RonMat am 05.04.05 - 13:47:16
-
Hallo liebe Gemeinde,
nun sitz ich hier mit all mein Wissen und bin wohl doch zu doof. ;-))
Es geht um folgendes: Ich möchte per Agent alle Doc´s einer bestimmten View refreshen ( z.B. in der Nacht).
Nun stellt uns Notes ja in der (UIDoc-Ebene) refresh zur Verfügung und in der View - Ebene können wir computedwithform einsetzen.
Computedwith.... hat aber leider nicht die Fähigkeiten eines refreshens(ich muß das ges. Doc neu berechnen lassen).
Habe ich ein Brett vorm Kopf oder habe ich etwas verpasst.
Kann mir einer weiterhelfen? Danke für die Hilfe
-
Hallo,
tut es nicht ein Agent mit
@Command( [ToolsRefreshAllDocs] )
Viele Grüße
Andreas
-
Hi Andreas,
wie soll ich da den Parameter für die View mitgeben?
-
@RonMat
... geht so nicht. Du musst entweder das Dokument im Frontend öffnen, refreshen, speichern und wieder schließen, oder du baust dir einen LS-Agenten, der dir mit der Hand am Arm die Felder neu berechnet...
"ComputeWithForm" berechnet nur die InputTranslation und Validierrungsformeln - nach meinem Wissen...
ata
Edit: Das Speichern natürlich nicht auslassen... ;D
-
Hi Andreas,
wie soll ich da den Parameter für die View mitgeben?
Ups, sorry,
da war ich wohl zu vorschnell. Man sollte die Threads auch richtig lesen, bevor man antwortet.
Viele Grüße
Andreas
P.S. Toni hat natürlich Recht mit dem Agent, der das Dokument im UI öffnet, refreshed und wieder schließt.
-
Danke,
der Unterschied war mir schon bewusst - deshalb ja auch mein Thread.
Also ich finde einfach den Ansatz nicht.....
Der Task soll in der Nacht auf dem Server laufen - es ist kein Client installiert - deshalb werde ich wohl mit UI Probleme bekommen - oder ?!?!?!?!?!?!?!?
-
... es gibt immer auch einen Client => nlnotes.exe müsste vorhanden sein.
So richtig in der Hand hast du es mit LS im Backend - allerdings etwas mühsam...
ata
-
ICh verstehe nur Bahnhof... ein doc.ComputeWithForm macht normalerweise das selbe wie ToolsRefreshSelectedDocs bzw. Doc öffnen, speichern, wieder schliessen.
Das Gerücht, dass ComputeWithform nur dies oder nur jenes machen würde, etc. hält sich hartnäckig, ist aber nicht wahr.
Was wahr ist, ist die Tatsache, dass ComputeWithForm etwas "zickiger" sein kann als ein Frontend- Refresh. Gegebenenfalls muss man in seinen Feld- Formeln @Text, @Date, @TextToNumber ein wenig besser abfangen, dass ein ComputeWithform korrekt durchläuft. Zu dem Thema habe ich schon mehrfach "dicke" anleitungen hier verfasst... einfach mal nach ComputeWithForm und meinem Namen suchen...
HTH
Tode
-
Also, die ganze Diskussion verstehe ich nicht!
Wenn ich einen Agenten mit foldender Formel schreibe:
@PostedCommand([ViewChange]; "View2Refresh");
@PostedCommand( [ToolsRefreshAllDocs] );
@PostedCommand([ViewChange]; "LastView");
Select @All
Dieser Agent läuft nach Zeitplan auf einem Server. Dann werden genau nur die Dokumente refreshed, die in der Ansicht 'View2Refresh' sind
-
Seit wann funktionieren @Commands in Serverbasierten Agenten !!!!?????
sorry: Diese Lösung ist Quatsch
Tode
-
Ich hab´s geahnt das ich nun was lostrete - deshalb meine Überschrift "ganz enfach?!?!?!?!"
Hallo Tode,
in der Tat werden die Dokumente mit einem computedwithforn nicht so "refreshed" wie mit einem Refresh. In dem Dokument (Responsedocs) sind sehr viele berechnete Felder mit @GetDocField die die entsprechenden Werte aus dem Hauptdoc auslesen - und genau diese werden mit computedwith... nicht berechnet. Mit dem refreshen geht´s. Bei einigen DBLookup´s geht´s dann auch nicht wenn die abhängig von den geänderten Werten sind. Ich plage mich schon länger mit dem Problem herum und die Beschreibung in der Hilfe von Notes sagt aus, daß der computed... Befehl die Felder validiert und auch die Standardwerte setzt. So, nun bin ich genauso schlau (oder dumm) wie vorher.