Refreshing a depending field after entering that one it depends on

We developed a very big form with round about 2.500 fields. [If that make sense I don’t want to discuss here ;-)]Some of these fields are ordinary editable and some depend on them. I mean, they are repeatet to make this form more clear. They are “Berechnet zur Anzeige”, I suppose in the english version it’s called “calculatet when shown”? When I open an existing document with this form, everything is fine, all depending fields are computed correctly. But when I’m entering some data in the base-fields and exiting them, it would be fine if only the depending fields could be refreshed and not the whole form.

Is there anybody who has an idea how I can do this?

Subject: Refreshing a depending field after entering that one it depends on

Tach auch,geht eigentlich ganz einfach. Bei den Feldern kannst Du ein kleines LS-Script in das Exiting -Event packen.

Sub Exiting(Source As Field)

Dim workspace As New NotesUIWorkspace

Dim uidoc As NotesUIDocument

Set uidoc = workspace.CurrentDocument

Call uidoc.Refresh

End Sub

Statt der Berechneten Felder würde ich Euch aus Performance-Gründen allerdings die Verwendung von Berechnetem Text vorschlagen.

Gruß aus FFM

Carsten Hellweger

www.groupware-profi.net

Use the above script in the fields exiting event. Plus - use computed text instead of fields.

Subject: RE: Refreshing a depending field after entering that one it depends on

Moin moin!

Bedaure, aber so, daß die gesamte Maske durchgerechnet wird, war mir das bereits bekannt.

Das Problem sind wie gesagt die vielen vielen Felder, weshalb die Maske ewig lange rechnet. Konkret haben wir an die 90 Eingabefelder mit jeweils sechs abhängigen Anzeigefeldern und somit sollen nur diese sechs neu berechnet werden.

Kann ich beim Exiting explizit sagen, welche Felder neu berechnet werden sollen (und nur die)?

Übrigens, die ‘Berechnet zur Anzeige’-Felder sind bereits vom Typ ‘Text’.

Trotzdem danke für den Tip und die Mühe

Subject: RE: Refreshing a depending field after entering that one it depends on

OKdann mußt Du ein wenig tricksen und statt der Berechneten Felder (ich meinte übrigens Berechneten Text - das ist noch was anderes und ebenfalls schneller) bearbeitbare Felder nehmen. Da es eine Notes-Maske ist, kannst Du die Darstelungsart auf OS-Style umstellen, dann das zweite Feld beim Exiting-Event des ersten füllen. Sieht dann aus, wie ein berechneter Text. Nur aufpassen, denn der User könnte den Text editieren -deshalb musst Du im Entering-Event des berechneten/editierbaren Feldes direkt ein GotoField einfügen.

Noch Fragen.

Gruß aus FFM

Carsten Hellweger

www.groupware.profi.net

Subject: RE: Refreshing a depending field after entering that one it depends on

Ich vergaß - die Exiting FormelSub Exiting(Source As Field)

Dim workspace As New NotesUIWorkspace

Dim uidoc As NotesUIDocument

Set uidoc = workspace.CurrentDocument

Call uidoc.FieldSetText("Feld2",uidoc.FieldGetText("Feld1"))

End Sub

Subject: RE: Refreshing a depending field after entering that one it depends on

Berechneter Text, OS-Style, GotoField, Noch Fragen? Leider ja. Wie Du sicherlich bereits bemerkt hast, ich bin ein ziemlicher Notes-Neuling. Hatte zwar schon zwei Seminare vor einem und 'nem dreiviertel Jahr, komme aber erst jetzt dazu, mal was damit zu machen. Toll, das meiste gelernte ist total verschüttet.Wie dem auch sei, mit dem Begriff ‘OS-Style’ kann ich garnix anfangen, wo kann ich das verändern?

Das mit dem GotoField bzw. GotoNextField habe ich in den Hilfen gefunden, denke, damit könnte ich was anfangen.

Das mit dem “Berechneten Text” brauche ich ja dann nicht mehr, wenngleich ich damit auch nur eingeschränkt was anfangen kann. Meintest Du ein Textfeld, daß nur “Berechnet” und nicht “Berechnet zur Anzeige” bzw. “beim Anlegen” ist?

Die Hauptfrage, die sich mir hier aber dann stellt: Wenn ich die Felder bearbeitbar mache, werden doch dessen Inhalte redundant in der Datenbank mit abgelegt, Das ist ja eigentlich unnötig.

Subject: RE: Refreshing a depending field after entering that one it depends on

Hi,OS-Style findest Du auf dem ersten Reiter zum Feld.

Berechneter Text ist gar kein Feld - findest Du unter Erstellen - berechneter Text.

Feld speichern - ja das würde erst mal so sein. Wenn Du das aber vermeiden willst, machst Du eine Liste der Felder und löscht diese beim speichern (QuerySave) über doc.removeItem(“Feldname”).

Falls Ihr Hilfe beim Bau Eurer Applikation benötigt, kann ich aber auch gerne behilflich sein.

→ Carsten Hellweger

wwww.groupware-profi.net

ch@groupware-profi.net

Telefon auf Anfrage

Gruß aus FFM