Domino 9 und frühere Versionen > ND8: Entwicklung

Felder in Teilmaske vergleichen

<< < (2/4) > >>

Klafu:
Ich hab mich auf deine Empfehlung zum Script bezogen.
 
--- Zitat von: Peter Klett am 27.01.12 - 12:24:44 ---Bei einer Dialogbox würde ich das alles in Script machen.

Temporäres Dokument erstellen
Relevante Felder kopieren
Dialogbox basierend auf temporärem Dokument öffnen
Nach Beenden der Dialogbox Inhalte der Felder überprüfen und davon abhängige Handlungen starten, aufrufendes Dokument aktualisieren

--- Ende Zitat ---

Meine grobe Vorangehensweise:
Ich öffne aus einem Dokument heraus eine Dialogbox(Script), die mir eine Teilmaske zeigt, die ausgewählte Felder des Dokuments enthält.
Da kann man nun Änderungen machen die ich dann in das Ursprüngliche dokument schreib.
Und wenn sich nun der Name ändern sollte, möchte ich ein spezielles Feld des Dokuments ändern. Und deshalb hab ich zu einer kurzen @Formel gegriffen, anstatt mich mit einem längeren script zu befassen.

Ich bin ja mit Teilmasken und Dialogboxen (immer)noch ein Anfänger und bin froh, das es jetzt läuft so wie es soll. Aber mich würde es schon interessieren, warum du den oben Zitierten Weg gehen würdest  :)

Chris

Peter Klett:
Wenn es funktioniert, was Du machst, ist es grundsätzlich in Ordnung.

Ich arbeite generell mit temporären Dokumenten in der Dialogbox, da ich nicht will, dass mir eine Dialogbox irgendwelche Steuerfelder, die ich nur in der Box brauche, zurück in das Dokument schreibt. Mit einem temporären Dokument habe ich alles selbst in der Hand und entscheide, welche Information ich ins aufrufende Dokument schreibe und welche nicht. Auch eine notwendige Validierung, die ich vielleicht nicht in der Box durchführen kann, weil die möglicherweise allgemeingültig ist, kann ich dann bequem nach der Box im Script erledigen und ggf. die Box erneut mit den eingetragenen, oder auch korrigierten Werten anzeigen, ohne dass mir zwischenzeitlich die nicht gewollten Werte ins Ursprungsdokument geschrieben werden.

Das ganze ist etwas aufwendiger, mir persönlich aber wesentlich sympathischer, weil es eine saubere Trennung von Dialogbox und aufrufendem Dokument gibt. Das entspricht meinen Vorstellungen von modularer Bauweise.

koehlerbv:
Hallo Chris,

hier sind meine 2 cents:
Peter hat hier wirklich best practices beschrieben. Diese Methode gibt Dir die volle Kontrolle über alles!

Weiters (nur, um das klarzustellen):
Es ist vollkommen wurscht, ob Du für die Dialogbox (LotusScript oder Formel) eine Maske oder eine Teilmaske verwendest.
Ich persönlich (!!) neige dazu, Teilmasken wirklich absolut nur dann einzusetzen, wo sich dies gar nicht anders vermeiden lässt - so vermeidet man das sprichwörtliche "Flöhehüten" und vieles andere auch (beispielsweise, dass eine Teilmaske nicht in allen Fällen "on the fly" neu durchrechnen lässt).

Good luck,
Bernhard

Peter Klett:
Da muss ich doch mal eine Lanze für Teilmasken brechen. Ich verwende (zumindest in zusammenhöngenden Systemen) immer Teilmasken. Jede Maske enthält wenigstens eine Kopf- und eine Fußteilmaske, die in allen Masken identisch sind (gemeinsame Schablone, Elemente verteilt mittels Designtask). Zusätzlich kann es weitere Teilmasken geben, die jeweils ein spezielles Thema abdecken. Nur so ist eine saubere Modulbauweise möglich. Z.B. Schaltflächen wie Schließen, Speichern, Bearbeiten, Hilfe usw. baue ich nur ein einziges Mal, nämlich in der Kopfteilmaske (bzw. die Hilfe in der Fußteilmaske, damit die immer die letzte ist). Neudeutsch nennt man sowas wohl Framework.

Kleiner Nachteil: Eigene Schaltflächen der Maske müssen in einer separaten Teilmaske realisiert werden, da die sonst vor denen der Kopfteilmaske erscheinen.

Noch nie habe ich einen einzigen Floh gesehen, der dabei gehütet werden wollte ...

koehlerbv:
Ich spreche nicht den Subforms ihr Existenzrecht ab. Wirklich nicht! Ich setze diese auch ein, aber jeweils aus wirklich wohlüberlegtem Grund.
Und die Probleme / "Flöhe", die auftauchen können, sind schon spezifisch und würden in einen eigenen Thread gehören.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln