Domino 9 und frühere Versionen > ND8: Entwicklung
Felder aus einem anderen Dokument übernehmen
MarkusL:
Ich bekomme jetzt als Auswahlliste Ressource~Etage angezeigt.
Wenn ich nun auch noch die UNID mit anzeigen würde, würde das so aussehen:
Ressource~Etagge~UNID
Ich könnte ich die UNID zwar nachher separieren und in ein anderes Feld shreiben, aber der Benutzer bekommt sie halt erstmal angezeigt.
Wenn ich die UNID vor der Anzeige abschneide und in ein anderes Feld schreibe, weiß ich am Ende aber nicht, welche Ressource der Benutzer ausgewählt hat und somit, ob die UNID die richtige ist.
Habe ich einen Denkfehler? Oder übersehe ich etwas?
???
Driri:
Das bekommst Du so mit einer einzigen Formel nicht hin. Was mir spontan als Alternativen einfällt :
1) Feld als Textfeld und dahinter einen Button mit einem Formelkonstrukt :
- @Prompt mit @DbLookup als Werteliste, DbLookup liefer die UNID zurück
- bei gültiger Auswahl mit einem zweitem DbLookup mit der UNID als Parameter die benötigten Werte holen
- die Werteliste mit @Word zerlegen und in die Felder schreiben
2) Feld als Textfeld und dahinter einen Button mit Scriptcode :
- Per Picklistcollection das Dokument wählen lassen
- Über das so erhaltene NotesDocument die Items auslesen und in die Felder des aktuellen Dokuments schreiben
Peter Klett:
Du kannst mit einem Alias arbeiten
SchönesAuswahlfeld|Wert1~Wert2~UNID
Der Benutzer wählt aus der Liste der "schönen Auswahlfelder", im Feld steht aber nachher der Alias, den Du Dir auseinanderdröseln kannst.
Schön finde ich aber nicht, alle Daten in die Liste zu packen, denn bei längeren Listen holt Dich das 32- oder 64-kB-Problem schneller ein.
Besser finde ich, als Alias nur die UNID zu übergeben (oder noch besser einen eindeutigen Schlüssel zu dem Dokument - Filialnummer, Kundennummer, Teilenummer o.ä., falls Du mit Historie arbeitest) und anhand des Schlüssels nachher die Werte zu holen
marschul:
Nur die UNID zu übergeben, nutze ich auch gern. Alle anderen Werte werden dann mit @GetDocField geholt. Diese Funktion ist rasend schnell, weil sie über den ID-Index und nicht über eine Ansichtssuche geht.
MarkusL:
@Peter
Wo muss ich den Alias definieren? Damit habe ich mich bisher nicht beschäftigt.
Ich habe den Tipp von Roland aufgenommen und ein Button mit folgender Formel konstruiert:
ressource := @Prompt( [OkCancelList] : [NoSort] ; "Raumauswahl" ; "Bitte wählen Sie einen Raum aus." ; "" ; @DbLookup( "" : "ReCache" ; "" : "" ; "viewRessourcen" ; @GetField("Raum_Ort") ; 2 ; [FailSilent]) + " ~ " + @DbLookup( "" : "ReCache" ; "" : "" ; "viewRessourcen" ; @GetField("Raum_Ort") ; 6 ; [FailSilent]) );
@SetField("Raum_Raum" ; @Word(ressource;" ~ ";1) + " ~ " + @Word(ressource;" ~ ";2) );
@SetField("Raum_Ressource_UNID" ; @Word(ressource;" ~ ";-1))
Das funktioniert - wenn auch nicht unbedingt schön, aber es geht.
Allerdings zeigt er mir in der Auswahlliste halt immer noch die UNID an.
Wenn das mit deinem Tipp schöner geht, wäre das super.
Danke schon mal.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln