Domino 9 und frühere Versionen > Entwicklung

Feldwerte teilweise in neues Dokument übernehmen

(1/2) > >>

Christian97:
Hallo,

den Usern meiner Anwendung ist es nun eingefallen, daß wenn man ein neues Dokument erstellen muß, was so aussieht, wie eins, was schon da ist, daß man da doch die Felder übernehmen könnte. Nun ja, dafür gibt's den Haken bei "Felder übernehmen Werte aus gewähltem Dokument".
Das Problem hierbei ist, daß eben nicht die zig Felder der gesamten Maske übernommen werden sollen, sondern nur 5. Ich stand nun vor den zwei Möglichkeiten, entweder den o.g. Haken zu setzen und dann die anderen Felder im PostOpen wieder mit "" zu setzen, oder die 5 Felder aus der Ansicht in die notes.ini zu setzen und die dann in der neuen Maske wieder rauszuholen. Leider geht das scheinbar nicht bei berechneten Feldern, nur bei bearbeitbaren.
Alle in der Suche gefundenen ähnlichen Fragen führten immer auf die komplette Übernahme der Felder hinaus.
Kann mir jemand helfen, das Problem zu lösen? Hat das vielleicht schonmal jemand gemacht?

Danke
Christian

Christian97:
Hab's inzwischen selbst rausgefunden. Ich möcht gern meine Lösung posten, falls andere mal vor diesem Problem stehen.

Ich hab eine Kopie der Maske erstellt. In der Ansicht dann einen Aktionsbutton mit dem Befehl
@SetEnvironment("EnvVariable"; @Implode(NameDesFeldes; "$"));
und das für jedes der zu übernehmenden Felder. Implode mußte sein, da die Felder Mehrfachwerte enthalten und sonst nur der erste Wert genommen wird.
Am Ende der Aktionsformel wird ein neues Dokument mit der Kopie der Maske erstellt. In die berechneten Felder, die aus dem Ursprungsdokument übernommen werden sollen, habe ich die Formel
@Explode(@Environment("EnvVariable"); "$")
drin. Dann im Sendebutton der Maske noch die Umgebungsvariablen wieder gelöscht und es funktioniert :)

Die Aussage, daßUmgebungsvariablen nur mit bearbeitbaren Feldern gehen, ist damit hinfällig.

So, ich glaub, ich geh jetzt doch lieber ins Bett.  :)
Christian

Axel:
Hi,

warum so kompliziert. Du kannst sehr wohl die Option "Felder übernehmen Werte aus gewähltem Dokument" nutzen. Ob die Werte tatsächlich in das Feld übernommen werden hängt nämlich auch noch vom Vorgabewert ab.

Du brauchst nur die Option zu setzen und in den Feldern, die Werte übernehmen sollen, den Vorgabewert entsprechenden eintragen. Fertig.

Axel

Christian97:
Hallo Axel,

so einfach ging das leider auch nicht. Die Felder waren ja schon mit einer Formel besetzt, die von einer Dialogbox Werte übernehmen.

Trotzdem Danke
Christian

harkpabst_meliantrop:
Hä? Wie? Was?

In Feldern wird immer nur ein Wert oder eine Liste von Werten gespeichert, egal, woher der Wert kommt. Und den kann man natürlich auch beim Erstellen neuer Dokumente genauso übernehmen, wie Axel es vorgeschlagen hat.

Notfalls macht man noch eine Unterscheidung mit @If(@IsNewDoc); ...; ...) und die Sache hat sich.

Ich habe prinzipiell nichts gegen Environmentzugriffe, aber sie sind nicht besonders schnell und spätestens wenn das Ding dann in 5 Monaten plötzlich auch noch Web-fähig sein soll, bekommst du wieder Spaß ...

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln