Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: F.Engel am 04.11.08 - 12:35:25

Titel: Problem mit Summenbildung in Tabellen
Beitrag von: F.Engel am 04.11.08 - 12:35:25
Hey leute,
bitte einmal auf das Bild unten schauen.

Ich habe wie zu sehen ist 3 Tabellen in denen unten jeweils eine Summe gebildet wird.
Mache das ganze jeweils so:
Code
@Sum(
@If(ffRgWert_0 !=""; ffRgWert_0;0):
@If(ffRgWert_1 !=""; ffRgWert_1;0):
@If(ffRgWert_2 !=""; ffRgWert_2;0):
@If(ffRgWert_3 !=""; ffRgWert_3;0):
@If(ffRgWert_4 !=""; ffRgWert_4;0))

In den beiden Tabellen "Eig. Mat. Best" und "Fremdfertigung" funktioniert es super.
Die Summe erscheint sofort, sobald ich in das nächste Feld klicke.
In der Tabelle Bezogene Teile dagegen etwas sperrlicher.
Ich muss sporadisch in einen ganz anderen Bereich der Maske klicken oder F9 drücken. Er übernimmt es einfahc nicht so schnell, wie bei den anderen beiden Tabellen.
Die Funktion für die Summen sind über all 100% gleich. Die Feldeigenschaften ebenso.

Habe in den Form Eigenschaften Felder Automatisch aktuallisieren aktiviert.

Hilfe.

Gruß



Titel: Re: Problem mit Summenbildung in Tabellen
Beitrag von: Thomas Schulte am 04.11.08 - 13:48:30
Das hat zwar zunächst einmal nichts mit deinem Problem zu tun, aber wenn ich diese Form der Eingabe von Tabellenwerten sehe könnte ich schreien.
Es gibt verschiedene, deutlich bessere, Möglichkeiten dynamische Tabellen in eine Maske einzubauen.

Die beste ist, in meinen Augen, auf embedded Views die auf das Dokument selber berechnet werden auszuweichen. Damit kannst du dir diesen Berechnungszirkus den du hier treibst deutlich vereinfachen, auch wenn der Aufbau und das Handling als Entwickler zunächst einmal deutlich komplexer erscheint.

Und was deine Tabelle "bezogene Teile" angeht. Entweder hast du bei den anderen Tabellen überall Code im Exiting Event der Felder mit drin, oder du hast ein Notes das sich von meinem deutlich unterscheidet.
"Felder automatisch aktualisieren" nutzt dir nämlich gar nichts, wenn es keinen Refresh triggert. Die Beschreibung der Online Hilfe ist hier etwas "missverständlich" formuliert.

Bisweilen müssen Benutzer die Ergebnisse aller Feldberechnungen sehen, während sie ein Dokument bearbeiten. Um fortlaufend aktuelle Informationen anzubieten, gestalten Sie eine Maske, die Felder automatisch neu berechnet, wenn ein Feldwert sich verändert. Beachten Sie, dass sich durch diese Einstellung die Anzeige und die Dateneingabe des Dokuments verlangsamt.
Sie können Feldwerte folgendermaßen aktualisieren:
Automatisch, durch Festlegen einer Maskeneigenschaft, die alle Schlüsselwortfelder aktualisiert, wenn der Benutzer ein Dokument bearbeitet.
Automatisch, durch Festlegen einzelner Feldeigenschaften, um anhand eines von Ihnen gewählten Ereignisses zu aktualisieren. Sie können beispielsweise ein Schlüsselwortfeld so einstellen, dass es automatisch aktualisiert wird, wenn sich ein Schlüsselwort ändert.
Manuell, wenn ein Benutzer ein Dokument manuell aktualisiert.
Aktivieren Sie für Auswahllistenfelder die Feldeigenschaft "Felder bei Schlüsselwortänderung aktualisieren" im Register "Steuerung" der InfoBox "Eigenschaften: Feld", um die Verarbeitung großer Dokumente mit vielen berechneten Feldern zu optimieren. Diese Feldeigenschaft aktualisiert erst dann alle Felder in der Maske, wenn ein Benutzer einen Wert für ein bestimmtes Auswahllistenfeld auswählt, bei dem die Eigenschaft aktiviert ist. Mit der Option "Auswahl bei Dokumentaktualisierung aktualisieren" wird die Auswahl in Auswahllisten aktualisiert, wenn ein Benutzer das Dokument über "Ansicht - Aktualisieren" aktualisiert. Sie können diesen Effekt umgehen, indem Sie statt der automatischen Aktualisierung ein LotusScript Feldereignis erstellen, mit dem das Dokument bzw. weitere Felder aktualisiert werden, sobald der Benutzer ein bestimmtes Feld verlässt.

Und was auch wichtig ist. So wie du das gerade aufbaust bekommst du irgendwann Ärger mit deinen Anwendern wegen Performance Problemen.
Titel: Re: Problem mit Summenbildung in Tabellen
Beitrag von: F.Engel am 04.11.08 - 14:00:19
Hallo,
Danke erstmal für deinen kommentar und Ratschläge.
Das mit den embedded views hatte ich schon so vor..
leider nur wurd mir das so vorgegeben, da es darum geht ein uraltes papier formular in lotus notes zu übernehmen. es handelt sich hierbei erstmal nur um einen Prototyp.
Wenn ich genaueres zur Einbindung erfahre, kann ich da evtl noch was dran ändern.
Das ist mir schon verständlich und selbst auch bewusst, dass dieses verfahren sehr unelegant ist.

trozdem weiß ich nicht woran es liegt, das die felder von der einen Tabelle sich nicht ändern lassen. Bei allen anderen Funktionierts.
Titel: Re: Problem mit Summenbildung in Tabellen
Beitrag von: Thomas Schulte am 04.11.08 - 14:14:08
Hab ich dir schon geschrieben. Du triggerst, mit hoher Warscheinlichkeit unabsichtlich irgendwo einen uidoc.refresh.

Und wenn es jetzt um das Umsetzen eines Papier basierten Formulares geht, dann solltest du das von vorne herein nicht so machen das du hinterher mit erheblichen Schwierigkeiten zu kämpfen haben wirst.

Nur so als kleines Beispiel für das was ich meine:
Titel: Re: Problem mit Summenbildung in Tabellen
Beitrag von: m3 am 04.11.08 - 16:52:13
Chris Blatnick hat auch eine schöne Lösung: Embedded Editors That Work (http://interfacematters.com/2006/04/embedded-editors-that-work.html)