Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: bikerboy am 17.08.07 - 12:00:18

Titel: Felder im Backend refreshen
Beitrag von: bikerboy am 17.08.07 - 12:00:18
Hallo , habe gerade einen Import umgebaut der vorher über das Frontend gelaufen ist.

Also er hat das neue  Dokument im UI aufgemacht und dann musste man noch speichern drücken.

Das hat mir nicht gefallen und ich habe mich in den Code gehackt und so geändert, dass er es auch ohne öffnen anlegt. Nun es funktioniert auch alles wunderbar, nur dass die Felder die berechnet werden sollten nicht berechnet werden. Mit einem
Code
Doc.ComputeWithForm
wird leider nicht das gewünschte ergebnis erziehlt
Titel: Re: Felder im Backend refreshen
Beitrag von: Axel am 17.08.07 - 12:02:50
Das ist aber die einzigste Möglichkeit für einen Refresh im Backend. Oder du musst die Felder beim Import in deinem Script berechnen.


Axel
Titel: Re: Felder im Backend refreshen
Beitrag von: pete_bla am 17.08.07 - 12:25:54
Nun es funktioniert auch alles wunderbar, nur dass die Felder die berechnet werden sollten nicht berechnet werden. Mit einem
Code
Doc.ComputeWithForm
wird leider nicht das gewünschte ergebnis erziehlt

Hast du überhaupt die Form im doc und hast du da auch keine berechnete Teilmaske drin (macht mucken).
Was für ne formel von was für nem feld willst du da überhaupt berechnen.
Alles kann das .ComputeWithForm leider auch nicht....
Titel: Re: Felder im Backend refreshen
Beitrag von: MadMetzger am 17.08.07 - 12:40:28
Das sagte Axel ja bereits. Insbesondere Felder, deren Formel "Berechnet beim Anlegen" ist oder auch CFD glaube ich, werden hier nicht neu berechnet. Aber der manuelle Weg ist hier dann der einzig vollkommen zuverlässige Weg, alles zu refreshen. Das kann man aber auch wunderbar in einer Klasse kapseln, die so allgemein gestrickt ist, dass sie wiederverwendbar wird. Denn refreshen ist ja eine häufig auftretende Sache, meiner Meinung. Ich denke schon, dass sich einiges damit noch abdecken lässt.
Titel: Re: Felder im Backend refreshen
Beitrag von: pete_bla am 17.08.07 - 12:49:23
die haudrauf-methode gäbs auch noch:

Code
@Command( [ToolsRefreshSelectedDocs] ) 

überascht mich immer wieder was das noch rausholt (gegenüber computeWithForm)

ist aber für nen backend-agenten nicht so ganz das richtige...
(das command muss in einen Agenten mit ziel/target "keine"/"None" und nicht "gewählte"/"selected" ... büsschen verwirrend...  )
Titel: Re: Felder im Backend refreshen
Beitrag von: MadMetzger am 17.08.07 - 13:05:42
Möglicherweise es gibt ja auch noch ein @Command([ToolsRefreshAllDocs]), was ja ähnlich wirkt.
Titel: Re: Felder im Backend refreshen
Beitrag von: bikerboy am 20.08.07 - 09:09:21
Code
@Command( [ToolsRefreshSelectedDocs] ) 

Funktioniert, aber ich muss es in einem seperaten Agenten laufen lassen, dass aber widerum stört chef, weil nimmt Serverzeit in Anspruch und was noch mehr stört ist , dass durch das Refreshen ein Zeitstempel gesetz wird.

Titel: Re: Felder im Backend refreshen
Beitrag von: MadMetzger am 20.08.07 - 11:07:50
Dann würde ich mir vielleicht an deiner Stelle Gedanken über eine solche Klasse zum Refreshen machen.
Titel: Re: Felder im Backend refreshen
Beitrag von: botschi am 20.08.07 - 11:15:09
Jedes refresh erfordert ein Speichern, damit die refreshten Werte auch erhalten bleiben. Wodurch sich der Zeitstempel ändert.

Matthias
Titel: Re: Felder im Backend refreshen
Beitrag von: Axel am 20.08.07 - 11:23:23
...dass aber widerum stört chef, weil nimmt Serverzeit in Anspruch...

Was ist denn das für eine Aussage?  ???

Bei jedem Refresh wird auch Serverzeit in Anspruch genommen.

Mach auch mal deinen Chef darauf aufmerksam, dass jedes Mail, dass er schreibt oder empfängt auch Serverzeit kostet.

Axel


Titel: Re: Felder im Backend refreshen
Beitrag von: pete_bla am 20.08.07 - 11:29:50
die haudrauf-methode gäbs auch noch:

Code
@Command( [ToolsRefreshSelectedDocs] ) 

ist ja auch der Holzhammer!!! und die sind immer etwas heavy....

wenn aber dein computewithform nicht das gleiche macht, dann gitbs da doch besondere codes in der maske (teilmasken wasweissichnoch)
Am besten wäre natürlich die maske genau anzusehen,
was beim refresh "aktualisiert" wird und das dann im agenten nachzucoden.