Domino 9 und frühere Versionen > Entwicklung
Feld automatisch füllen
chriss76:
Hallo,
wie kann ich folgendes Problem mit Lotusscript bzw. Formeln machen?
Arbeite mit Notes 5 und im Frontend.
Ich habe ein Dialogfeld (z.b. feld1), bei dem ich per Formel aus anderen Dokumenten eine Auswahl anbiete, aus der der User auswählen kann.
Die Auswahl selber sind eigenständige Dokumente, die vom User so gepflegt werden können.
Wenn der User nun im feld1 den Wert "Stadt" auswählt, möchte ich mit dem Event Existing der Dialogliste einen bestimmten Wert in das feld2 schreiben, der auch aus verschiedenen pflegbaren Dokumenten besteht.
Wie mache ich das per Skript oder Formel? Habt Ihr ein Beispiel?
Der User darf das feld2 nicht manuell ändern können!
Ich hoffe mich deutlich ausgedrückt zu haben!?!
Grüsse und Danke
Chris
Driri:
Erstmal ist Exiting denkbar schlecht für so etwas. Du kannst ja nicht sicherstellen, daß der User das Feld wirklich verläßt.
Das wäre ein klassischer Fall für die Eingabeumsetzung.
Z.B.
@If(feld1="Stadt"; @SetField("feld2"; "Berlin"); "");
feld1
thoge:
Hallo Chriss76,
ich habe so etwas ähnliches folgendermaßen gelöst:
Das Feld "Faktorart" meiner Maske ist vom Typ Optionsschaltfläche und hat 3 Vorgabewerte.
Jenachdem welchen Wert ich auswähle, wird ein weiteres Feld vom Typ Optionsschaltfläche gefüllt mit Werten, die ich in einer seperaten Maske editieren und erweitern kann. Die entsprechenden Werte werden aus einer Ansicht "kw" gezogen.
Bei diesem zweiten Feld "Standortfaktor" fülle ich das Feld mit folgender Formel:
--- Code: ---@If(Faktorart="1";@DbLookup( Notes : "NoCache" ; ""; "kw" ; "2 Standortfaktoren" ; "Contents" );Faktorart="2";@DbLookup( Notes : "NoCache" ; ""; "kw" ; "2 Planungsfaktoren" ; "Contents" );Faktorart="3";@DbLookup( Notes : "NoCache" ; ""; "kw" ; "2 Standort- und Planungsfaktoren" ; "Contents" );"")
--- Ende Code ---
Wähle ich dann aus dem Feld "Standortfaktor" wiederum einen Wert, füllt sich dann ein drittes Feld "Standortsubfaktor". Hierzu benutze ich folgende Formel:
--- Code: ---tmp:="";
@Set("tmp";Standortfaktor);
@If(tmp="";"";@DbLookup( "" : "NoCache" ; ""; "kw" ; "3 " + tmp ; "Contents" ))
--- Ende Code ---
Ich hoffe, das geht grob in Deine Richtung.
Wie gesagt sind die Felder "Standortfaktoren" und "Standortsubfaktoren" mittels Maske durch den User editierbar und greifen dann.
HTH
Thomas
chriss76:
Hallo,
@Driri:
Wenn der User das Dokument weiterbearbeiten will bzw. einen Workflow starten will oder das Dokument verlassen will, muss er aus dem Feld raus und damit kann ich immer Exiting ansprechen, ausser es spricht noch irgendetwas dagegen??
@Thomas:
Vielen Dank, das sieht schon gut aus, aber 2 Probleme ergeben sich damit, wie kann ich diese lösen?
1. Wie merkt feld2, dass ich feld1 verlassen habe, um dann einen bestimmten Wert anzuzeigen, und es soll ja nur gefüllt werden, wenn ich in feld1 etwas ausgewählt habe, wenn
ich das wie mit Deinen Formeln machen will???
2. Der Wert für feld2 kann aus mehreren Dokumenten einer Ansicht kommen, also
z.B. wenn ich in feld1 "Hessen" eintrage, dann soll "Wiesbaden" in feld2 stehen,
wenn ich Bayern eintrage, dann München,
aber die beiden Werte Wiesbaden und München müssen 2 unterschiedliche Dokumente sein, weil
diese auch noch mehrsprachig gemacht werden müssen, aber das kommt erst später.
Wie muss dann die Formel dazu aussehen?
Als Anfänger fällt mir das ein wenig schwer!
if land = Hessen dann dblookup in eine Ansicht und Dokument mit Wiesbaden holen
if land = Bayern dann dblookup in eine Ansicht und Dokument mit Bayern holen
Danke und viele Grüsse
Chris
chriss76:
Hallo,
habe es jetzt so gelöst:
Die Dokumente können vom User über eine Ansicht gepflegt werden.
Und im Event Exiting des feldes1 hole ich mir per Getdocumentbystring die Werte für
feld2.
Grüsse und Danke Chris
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln