Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: john0815 am 21.09.10 - 09:29:41
-
Guten Morgen,
ich hab gestern Abend über folgendem Problem gesessen und keine Lösung gefunden:
Ich habe in einer Maske ein berechnetes Feld (Status), welches seine Werte über eine IF-Abfrage bekommt:
@IF(Genehmigung="ja"; "abgeschlossen"|82; "in Arbeit"|81)
Nun wird diese Maske in 7 Ansichten dargestellt und darin soll das Feld die entsprechenden Symbole bekommen. Funktioniert auch, leider stehen, wenn ich das Dokument aus einer Ansicht öffne, in dem Feld jetzt nur noch die Zahlen, es sollte aber "abgeschlossen" oder "in Arbeit" drin stehen. Ich weiß, dass sowas bei einer Dialogliste funktioniert, jedoch darf dieses Feld nicht bearbeitbar sein - diese Option fällt also weg. Weiterhin könnte ich in den jeweiligen Ansichten den Spaltenwert berechnen lassen, dies soll jedoch auch vermieden werden (zu lange Ladezeiten der Ansichten im täglichen Betrieb)!
Danke für alle Antworten!
John
-
Hi,
auch Dialoglisten-Felder können berechnet sein. Damit kannst du genau das machen.
Gruß,
Mitch
-
In der Ansicht ist dieses Verhalten logisch. Die Ansicht zeigt dir ja nur das an was in dem Feld gespeichert wurde. Und das ist in deinem Fall der Alias. Du musst also deine Spalte in der Ansicht so umbauen, das du den Alias Wert prüfst und vom Wert abhängig den Klartext ausgibst.
@If(Feld ="82";"text1";Feld = "81";"Text2";"nichtdefiniert")
-
Mach ein Feld mit Typ 'berechnet zur Anzeige'. In dieses trägst du die Formel für die Anzeige ein
@if(x = 8; "Blabla"; ........)
Das Feld mit der Dialogliste blendest du aus.
-
Ach mist falsch gelesen. Sorry bin noch nicht wach. Mitch hat recht.
-
Anita sagt mir gerade sie findet sie hat auch recht. Stimmt. Das ist auch eine mögliche Lösung.
-
Ein berechnetes Dialoglistenfeld macht genau den selben Fehler... An ein weiteres Feld in der Maske hab ich auch schon gedacht, wollte es aber eigentlich vermeiden!
Also hat niemand eine "all-in-one-field" Lösung :-:
-
berechneter Text geht auch
-
Aber mit dem berechneten Text wird die Zahl im geöffneten Dokument angezeigt, nicht der Text...
-
Ich denke es liegt an der Formel.
Gib bei den Dialogoptionen folgendes ein:
abgeschlossen|82
in Arbeit|81
Und dann in der Formel für die Berechnung des Feldes dann:
@If(Genehmigung="ja"; "82"; "81")
Dann steht im Dokument immer der beschreibende Text drin, im Backend aber die Zahl, die du in den Ansichten ohne umrechnen als Symbole anzeigen lassen kannst.
Oder ist das nicht das was du wolltest?
-
Im Backend wird immer nur der Alias gespeichert. Die Umsetzung des Alias für das Frontend muss in einem entsprechenden Designelement vorgegeben sein, also beispielsweise eine Dialogliste mit den expliziten Eingabemöglichkeiten wie
ja | 1
nein | 0
Fehlen diese Angaben, wird wieder nur der Alias angezeigt.
Für berechnete Felder, Spalten etc. musst Du immer per Formel explizit umsetzen:
@If (Choice = "1"; "ja"; Choice = "0"; "nein"; "weiss nicht")
Mit der Anzeige als Symbol hast Du u.U. nur Glück gehabt, denn Notes erwartet dort eigentlich eine Zahl und nicht Text wie bei Dir. Das muss also nicht in allen Versionen funktionieren.
Bernhard
-
@Mtch: Das führt auch nicht zum gewünschten Ergebnis, es wird nur die Zahl angezeigt.
@Bernhard: Aus deinem Hinweis folgere ich, dass ich bei Berechnung des Feldwertes ein weiteres Feld mit "Umrechnung" des Zahlenwertes in Text benötige.
Danke für die schnellen und zahlreichen Antworten!
-
Also wenn dir im geöffneten Dokument bei meiner Anleitung nur eine Zahl angezeigt wird, dann hast du irgendwo was falsch eingegeben oder ich habe dein Problem völlig falsch verstanden... :-:
-
Wenn du mit "Dialogoptionen" den zweiten Karteireiter bei den Feldeigenschaften meinst, wo links daneben "Auswahl" steht (wo man also die Vorgabenwerte für die Dialogliste eingibt), dann hab ich alles so gemacht, wie du beschrieben hast!
-
Ja, den meinte ich. Ich habe mal Screenshots gemacht.
Wenn ich eine Maske so erstelle wie im Bild "code.jpg" dann sieht das Ergebnis aus wie im Bild "result.jpg".
Wenn ich das Feld "Genehmigung" ändere, ändert sich direkt der Text...
-
Jawoll! Danke, es läuft... Was bei mir anders war: ich hatte die Zahlen nicht in " gesetzt...