Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TomLudwig am 17.12.04 - 10:54:53
-
Hallo zusammen,
ich hab ein komisches Problem:
Eine Maske beinhaltet berechnete Teilmasken. Wenn bestimmte Felder angekreuzt werden sollen die Masken angezeigt werden (@if - Auswahl)
Dies funktioniert auch einwandfrei.
Die Teilmasken beinhalten berechnete Felder die in Ansichten dargestellt werden sollen.
Gehe ich in das Dokument sehe ich die Teilmasken und den Wert der berechneten Felder.
Aber in den Ansichten werden die Felder nicht angezeigt.
Erst wenn ich das Dokument erneut bearbeite und abspeichere, erscheinen die Werte auch in den Ansichten...
Ich versteh nicht warum .... ?!?
-
Das sind die Felder beim Erstellen des Dokument nicht berechnet werden und erscheinen daher nicht in der Ansicht.
Wenn Du das Dokument öffnest, werden die Felder dann erstmals berechnet und angezeigt.
Offenbar sorgt die Formel für die berechneten Teilmasken dafür, dass diese beim Anlegen eines Dokumentes nicht angezeigt werden.
Andreas
-
Also kann ich es wahrscheinlich nur so umgehen, dass ich das Dokument jedesmal nach dem Schließen nochmals öffne, abspeichere und dann erst schließe?
-
Aendere den Feldtyp in "Berechnet beim Anlegen" statt "Berechnet"
-
Sorry, hab mich verschaut. Der Typ ist bereits "berechnet beim Anlegen" und es ist eine Dialogliste.
Kann ich dann noch was ändern?
-
Dialogliste berechnet macht absolut keinen Sinn, und ich hab auch einen Denkfehler gemacht. Dafür hat das jetzt gezeigt, wo das Problem wirklich liegt.
Das muss ein Textfeld mit Mehrfachwerten und "berechnet" (nicht beim Anlegen) sein, dann dürfte es das tun, was Du erwartest.
-
Ich hab das Feld umgetauft auf Text, berechnet, mit Mehrfachwerten.
Geht leider immernoch nicht.
In den Properties des Dokumentes steht der Wert drin. Angezeigt in der Ansicht wird er erst nach erneutem abspeichern des Dokumentes
-
Aehm, wenn Du in der Ansicht F9 drückst?
Und nochwas: ist das Lokal oder auf dem Server?
-
Liegt auf dem Server und F9 bringt leider nix...
-
Was ist denn bei der Aktualisierung der Ansicht eingestellt?
-
Indikator anzeigen...
-
Ok, das ist die Anzeige, nicht der Index, die Anzeige würd ich natürlich auch auf Anzeigen umstellen (oder wie das im deutschen Designer auch immer heisst). Was steht den beim Index selber (Probpeller-Tab)? Der müsste auf automatisch oder automatisch nach erstem Gebrauch oder sowas stehen, sonst gibt das Verzögerungen.
-
Die Formel für die berechnete Teilmaske greift auf Feldinformationen zu, die erst beim ersten Ausfüllen des Dokumentes gesetzt werden. Daher werden die Felder nicht berechnet, wenn das Dokument zum ersten Mal gespeichert und geschlossen wird.
Das ist so in Notes.
Wenn Du dann das Dokument öffnest, sind die Felder gesetzt und die Teilmaske wird angezogen. Dort werden dann auch die Felder (zum ersten Mal) berechnet und Dir auch zur Laufzeit angezeigt. Aber die Felder sind noch nicht im Backend gespeichert, daher zeigt die Ansicht auch nichts an. Erst wenn Du das Dokument speicherst.
Andreas
-
Welche Felder sieht er dann in den Properties? Ich bin jetzt davon ausgegangen, er ist schon so weit, dass die berechneten Felder im Backend und damit in der Properties-Box des Dokumentes (aus der Ansicht heraus) sichtbar sind.
-
In den Dokumenteigenschaften wird das Feld angezeigt, da es zur Laufzeit berechnet wurde - aber bis zum Speichern nur im UI Dokument.
Dort sieht man ja auch Felder, die Berechnet zur Anzeige sind.
-
Wenn er die Properties des Dokuments aus der Ansicht anzeigt, dürfte das Feld nicht da sein.
Oder es fehlt das Summary Flag, was ich nicht glaube.
-
Ok, dann soll der Initiant mal sagen, wo er die Properties anschaut, im Dokument drin ist es klar, ich hab natürlich angenommen, er schaut die Properties in der Ansicht an, denn nur dort ist die Aussage wirklich r-elefant
-
Ich kam durch seine erste Äusserung
Gehe ich in das Dokument sehe ich die Teilmasken und den Wert der berechneten Felder.
Aber in den Ansichten werden die Felder nicht angezeigt.
darauf. Aber Tom soll erstmal sagen, wo er was sieht.
Andreas
-
Ah, da hab ich tatsächlich zu schnell drübergelesen ....
-
Hi,
bringt es vielleicht was das Dokument vor dem Speichern zu aktualisieren?
Ist nur mal so eine Idee. Ich hatte so eine Problematik noch nicht.
Axel
-
Axel, beim Anlegen des Dokumentes sind die Teilmasken noch nicht im Dokument enthalten und damit auch nicht die zu berechnenden Felder. Diese werden - wie Glombi das ja schon schrieb - erst beim nächsten Öffnen des Dokuments eingebunden.
Workarounds:
1) Die entsprechenden Felder nicht in einer Teilmaske halten und nur berechnet in Abhängigkeit von den Teilmasken-Auswahlfeldern. (wenn machbar).
2) Die Felder, die die Teilmaskenauswahl bestimmen, sollten eine Neuberechnung des Dokuments bei Schlüsselwortänderung erzwingen. Das triggert PostRecalc. Stellt dieses eine zu berücksichtigende Änderung fest, wird das UIDoc gespeichert und geschlossen und erneut geöffnet.
Alles in allem ist dies ein völlig normales Notes-Verhalten.
Bernhard
-
Hi,
danke Bernhard für die Aufklärung.
Bisher habe ich noch nicht viel mit Teilmasken gemacht und auch noch keine richtige Anforderung für TMs gehabt. Ich erinnere mich dunkel, irgendwo mal gelesen zu haben, dass Teilmasken sehr ressourcenintensiv sein sollen.
Axel
-
Hi, Axel,
m.E. gilt auch für Teilmasken: Alles da, wo es hingehört.
Glücklicherweise brauche ich Teilmasken eher selten. Beispiele aus meiner Praxis:
- das Verbergen von RTFs in Abhängigkeit von einer Bedingung
- Inventar-Datenbank: Die einzelnen Inventararten werden mit Teilmasken beschrieben (sicher ohne Teilmasken nur sehr schwer realisierbar)
Meine Erfahrung ist aber auch: Werden es zu viele Teilmasken, dann leidet die Performance. Beweisen kann ich es nicht bzw. die genauen Umstände, die dazu führen, beschreiben. Ich vermeide aber Teilmasken, wenn möglich (und mir fehlt nix dabei ;-) Und ich denke, meine Apps sind in der Regel schon sehr komplex)
Ein k.O.-Kriterium für Teilmasken ist natürlich oft auch der Fakt, dass ohne Umwege Teilmasken nicht ad hoc eingeblendet werden können. Wobei ich über diesen Umstand keinerlei Beschwerde äussern möchte - das ist eben so.
Bernhard
-
Wow, so viele Beiträge.... danke vielmals...
Also,
ich sehe die Werte der Felder, wenn ich das Dokument wieder zum lesen öffne.
Sofern es dann wieder geschlossen wird, werden die Werte nicht in der Anzeige angezeigt. Erst wenn das Dokument zum bearbeiten geöffnet wird und dann gespeichert wird.
Die Werte in den Properties sehe ich, wenn ich das Dokument öffne und die Eigenschaften ansehe oder wenn ich die Eigenschaften aus der Ansicht herraus anschaue.
Das Dokument vor dem speichern zu aktualisieren habe ich schon versucht. Funktioniert leider nicht.
-
oder wenn ich die Eigenschaften aus der Ansicht herraus anschaue.
Gilt das auch, wenn Du das Dokument nicht vorher geöffnet und gespeichert hast?
Andreas
-
ja genau.
-
Ich habs geschafft... es funktioniert...
Ich hab vorhin aus versehen nicht alle Beiträge gelesen.
Mit dem Workaround von koehlerbv funktioniert das ganze einwandfrei... danke vielmals
-
Welchen workaround hast Du denn jetzt genommen ?
Bernhard
-
Den zweiten.
Das erschien mir einfacher.... und logischer...