Hallo Chris,
wenn dein Ergebnisfeld vom Typ "Textliste" ist, hast du in der Maske kein Optionsfeld verwendet, sondern z.B. "Kontrollkästchen" als Feldtyp. In dem Fall kannst du das alte Feld nicht mit
@If(Feld="xxx";dann;sonst)
abfragen, sondern du musst prüfen, ob das Feld einen gewissen Wert enthält:
@If(@IsMember(Feld;"xxx");dann;sonst)
Ich empfehle ebenfalls einen Umstellungsagenten zu basteln.
Grüße,
Gregor
Hallo,
es ist bestimmt leicht aber ich muss nachhaken:
Ich habe in einer Maske ein Optionsfeld mit 5 Auswahlmöglichkeiten. Nun, nach langer Zeit kommt die Anforderung, diese Auswahlmöglichkeiten zu überarbeiten. Eine Möglichkeit soll wegfallen, zwei andere zusammengelegt werden.
Ich dachte, der leichteste Weg ist in den Optionen des Feldes die Auswahmöglichkeiten zu ändern und um in den bestehenden Dokumente ein leeres Feld vorzubeugen, einfach über @If(Feldname="AlteAuswahlmöglichkeit";"NeueAuswahlmöglichkeit";Feldname) als "Vorgabewert" zu gehen. Bei normalen Feldern ging das auch immer. Nur habe ich hier im Optionsfeld nun eine Textliste und finde gerade nicht den passenden Weg, den ausgewählten Wert zu ermitteln und ggf. dafür einen neuen anzeigen zu lassen.
Habt ihr mir einen kurzen Denkanstoß, wie ich das via Feld-Formel löse?
Chris
Ohne jetzt die ganz große Goldwaage rauszuholen... das mit dem Umschreiben alter Werte halte ich nicht in allen Fällen für eine gute Idee.
Überleg' mal. Letzte Woche gab es die Auswahlmöglichkeiten Alt1, Alt2, Alt3, Alt4, Alt5. In einem Dokument wurde Alt1 gewählt, evtl. wurde diese Wahl auch noch in eine Historie geschrieben. Bloß weil ab Montag dieser Woche Alt1 als Auswahl für NEUE Dokumente wegfällt, kannst Du doch nicht Bestandsdokumente ändern?
Praxisbeispiel:
- Du hat 2011 einen VW Golf VI gekauft
- ab 2012 gibt's den nicht mehr. Aus Deinen Vertragsunterlagen, die zufällig in Notes gehalten werden, wird dieser Fahrzeugtyp ersatzlos gestrichen.
::)
Einfach alte Werte in Bestandsdokumenten in einen anderen Wert ÄNDERN ist auch nicht immer eine gute Idee.
****************************
Ggf. könnte das eine Lösung für Dich sein:
- in den Vorgabewerten des Feldes statt einer fixen Auswahlliste eine Formel hinterlegen
- wenn neues Dokument --> neue Auswahlliste
- wenn schon ein Wert im Item vorhanden ist --> neue Auswahlliste PLUS dem schon vorhandenen Wert aus dem Item
Auf diese Weise wird alles korrekt angezeigt und der Nutzer kann bei einer Änderung nur noch Werte aus der neuen Auswahlliste auswählen. Läßt sich in Formelsprache mit vertretbarem Aufwand umsetzen.
Bsp:
listeNeu := "N1" : "N2" : "N3";
wertAlt := @ThisValue;
ergebnis := @If(@IsNewDoc;listeNeu;wertAlt!="";@Unique(listeNeu : wertAlt);listeNeu);
ergebnis
Viel Erfolg!