Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: airwalker am 23.07.07 - 09:56:08
-
Guten Morgen liebe LN-Gemeinde,
ich habe vor kurzem die Möglichkeit entdeckt mit @Dialogbox und einer sepraten Maske Feldwerte im aktuellen Dokument ändern zu können.
Das funktioniert auch soweit. Ich hätte jedoch folgenden Wunsch:
Die Dialogbox hat vordefinierte Felder, die mit ihrem übereinstimmenden Feldnamen in der Maske übernommen werden. Nun haben diese Felder jedoch Vorgabewerte, welche bei ausführen der Dialogbox im aktuellen Dokument dauerhaft geändert werden.
Nun stellt sich mir die Frage, ob es möglich wäre, diese Änderungen in den Vorgabewert des jeweiligen Feldes zu übernehmen, sodass bei erstellen eines neuen Dokuments diese Änderung sofort erscheint ohne erneut die Dialogbox zur Änderung aufzurufen. Habt ihr dafür eine Lösung?
Ich freue mich wie immer über eure Mithilfe :)
-
Direkt lassen sich die Vorgabewerte in den Feldern nicht ändern. Das geht nur im Designer.
Eine Alternative wäre ein Dokument mit Feldern in denen die Vorgabewerte abgelegt sind. Die kannst du dann mit den Werte aus der Dialogbox füllen.
In den Vorgabewerte der entsprechenden Feldern liest du dann mit Formeln (z.B. @DbLookup) diese Werte aus.
Axel
-
Vielen Dank Axel. Habe bereits eine Feldkonfigurationsansicht, in der Felder definiert werden können. Hatte nur noch nicht daran gedacht diese auch für mein Problem zu verwenden 8)
Ich hätte aber gerne ein weiteres Add-on für die Auswahl der Felder.
Ich habe ja jetzt Dokumente, in denen die Vorgabewerte der Felder definiert sind.
Jetzt möchte ich mit einem Klick auf das Feld das entsprechende Dokument für das Konfigurationsfeld öffnen,
damit meine Anwender nicht den Umweg über eine seperate Ansicht gehen müssen, um dieses zu editieren.
Könntest du mir die Formel dafür sagen?
-
Du musst dir die UNID mit @DbLokup aus einer Ansicht holen und dann kannst du mit @Command( [OpenDocument] ; ..... das Dokument öffnen.
Axel
-
Danke für die schnelle Antwort Axel. Ich habe jetzt in der Maske eine Aktionsschaltfläche hinterlegt, welche über dem Text des Feldes liegt. Die hinterlegte Formel lautet:
UNID := @DbLookup("":"NoCache";"";"JW_ANGE_Konfiguration_FIELDS";"JW_ANGE_Gewerk1"; 4);
@Prompt([Ok];"";UNID);
@Command([OpenDocument];"1";UNID)
In der vierten Spalte wird korrekt die UNID ausgelesen, was du PROMPT überprüft wird (Die UNID wird in der Ansicht mit @Text(@DocumentUniqueID) ausgegeben).
Nun kommt aber die Fehlermeldung:
Angegebener Befehl kann nicht ausgeführt werden.
Weisst du wo ich einen Fehler gemacht haben könnte?
-
Versuch's mal mit
@PostedCommand([OpenDocument];"1";UNID)
Axel
-
selbe Fehlermeldung :(
-
Rufst du die Aktion aus der Dialogbox auf?
Axel
-
Die Aktion wird aus der Maske bzw. Teilmaske heraus aufgerufen.
-
Dann fällt mir eigentlich nur noch das ein:
@PostedCommand([OpenDocument];"1";@Text(UNID))
Axel
-
will immer noch nicht funtionieren...
klappt es denn bei dir aus einer maske heraus?
-
Geht bei mir auch nicht.
Ich glaube der Befehl lässt sich in Dokumenten gar nicht benutzen. Ich habe nochmal in der Hilfe gelesen. Da steht:
In einer Datenbank muss eine Ansicht geöffnet sein, die das Dokument enthält, das Sie öffnen möchten.
Ich selbst habe den Befehl noch nie benutzt. Dir wird hier nur eine Script-Lösung übrigbleiben.
Axel
-
Oh...hättest du für eine script lösung ein beispiel zur Hand?
-
Ich habe die Lösung Axel ;D
Man baue einfach ein
@PostedCommand([SwitchView];"JW_ANGE_Konfiguration_FIELDS");
vor
@PostedCommand([OpenDocument];"1";@Text(UNID))
und siehe da, die Ansicht ist geöffnet und das Dokument wird geöffnet :)
-
Ist zwar von hinten durch die Brust ins Auge, aber wenn's funktioniert.
Axel