Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: theBastian am 14.08.04 - 21:18:55

Titel: @if-mit veränderlichen Bedingungen - wie ohne hardcoden??
Beitrag von: theBastian am 14.08.04 - 21:18:55
Hallo,

habe mal wieder ein für mich unlösbares Problem und suche ein paar Infos, um in die richtige Richtung zu kommen.  :)

Szenario:

- mehrere Radiobutton in einer Form, die per dblookup Daten aus einem Konfigurationsdokument holen, (@DbLookup("":"NoCache"; ""; "vwKonfigurationLookup";"Allgemein";"Aufwendungsart1") ... Aufwendungsart2 ... Aufwendungsart3 ... usw.)

- eine Dialogliste, die die Werte aus den Radiobutton per @if auswertet und dann bestimmte Ergebnisse anzeigt.
Die Ergebnisse werden auch per dblookup aus dem Konfigurationsdokument gelesen und dort vom User festgelegt (z.B. @If (Aufwendungsart1_1="Wert1" &
Aufwendungsart1_2="Wert2" &
Aufwendungsart1_3="Wert3" ;

@DbLookup("":"NoCache"; ""; "vwKonfigurationLookup";"Allgemein";"Ergebnis1");

Aufwendungsart1_1="Wert4" &
Aufwendungsart1_2="Wert5" &
Aufwendungsart1_3="Wert6" ;

@DbLookup("":"NoCache"; ""; "vwKonfigurationLookup";"Allgemein";"Ergebnis2");

Klappt technisch ohne Probleme. Aber ...  :-[

Wie gesehen sind die Werte hardcoded in der Dialogliste. Aber wie kann ich die @if-Auswertung vornehmen, und die Werte vorher auslesen?

Sonst müsste ich ja bei jeder Änderung in der Dialogliste rumspielen.
Danke für Eure Hilfe.

cu
Sebastian
Titel: Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
Beitrag von: TMC am 14.08.04 - 22:31:04
Wie gesehen sind die Werte hardcoded in der Dialogliste.

Ich hab das nur auf die Schnelle überflogen.

Du hast wohl ein Konfig-Dokument. Da konfigurierst Du die Vorgabewerte. Die holst Du Dir dann wohl via @DBLookup.
Was willst Du sonst noch konfigurieren?
Oder brauchst Du ein Konfig-Dokument für Dein Konfig-Dokument?  :P

Was ist hardcodiert? Die Werte in Deinem Konfig-Dokument?

Pauschal hätte ich gesagt: Nimm LotuScript. Aber ich hab die Frage von Dir noch nicht verstanden.
Titel: Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
Beitrag von: theBastian am 14.08.04 - 23:23:54
Im Vorgabedoc gibt es mehrere Felder.

Aufwendungsart1, Aufwendungsart2 usw.

Ergebnis1, Ergebnis2 usw.

Diese jeweils mit diversen Werten.

In der Form gibt es Radiobutton, die per dblookup auf die Aufwendungs-Felder zugreifen. Pro Feld ein Radiobutton.

In der Dialogliste werden die Radiobutton verglichen und je nach Ergebnis ein Ergebnis-Feld per dblookup angezeigt.

Anders gesagt:
@If (Button1 = ein Wert aus Aufwendungsart1 &
Button2 = ein Wert aus Aufwendungsart2 dann Ergebnis1 sonst Ergebnis2)

So muss ich aber die Werte aus den Aufwendungs-Feldern in der @If-Formel hardcoden. Jede Änderung der Werte heißt für mich Formel ändern.

Geht das vielleicht anders?

cu
Sebastian
Titel: Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
Beitrag von: TMC am 14.08.04 - 23:34:52
Sebastian, es ist schon spät am Samstag Abend, aber was ich nicht verstehe bei Deinem Request ist folgendes:

Du holst Dir Werte aus dem SetupDok in eine Variable, Z.B.

_Var1 := irgendeinDBLookupOderÄhnliches
_Var2 := irgendeinDBLookupOderÄhnliches

Dann führst Du wohl einen Vergleich durch.

Was spricht denn dagegen, dass Du alle Werte in einem Konfig-Dok speicherst?

Die Variablen sind ja nix anderes als Ergebnisse aus einem Lookup. Egal wo die nun stehen: Hardcodiert oder in einem Setup-Dokument.
Titel: Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
Beitrag von: theBastian am 15.08.04 - 01:08:17
So ungefähr.

Aber die Werte, können sich ändern. Und da es mehrere Radiobutton sind, sind mehrere Kombinationen möglich.

Noch ein Versuch eines Beispiels:

Radiobutton1
Auto                 Motor

Radiobutton2
Fahrer                 Motorrad


Werte werden mit dblookup aus dem Konfig-Doc übernommen. Hier sind 2 Werte pro Button angegeben, es können aber auch mehr sein.Sind vom User änderbar.
Weiterhin gibt es mehrere Ergebnisfelder (Ergebnis1, Ergebnis2, Ergebnis3 usw.), die auch vom User änderbar sind.

Dialogliste

@If (Radiobutton1=Motor & Radiobutton2=Fahrer;Ergebnis1;
@If (Radiobutton1=Auto & Radiobutton2=Fahrer;Ergebnis2;
@If (Radiobutton1=Auto & Radiobutton2=Motorrad;Ergebnis3;
Ergebnis4)

In dieser Formel steht für jeden Radiobutton der exakte Wert drin (Wert1, Wert2, Wert3), hardcoded halt. Ich weiß nicht, wie ich eine Variable für den Vergleich erstellen soll.


cu
Sebastian
Titel: Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
Beitrag von: Axel am 15.08.04 - 11:42:14
Hi,

ich glaube, da wirst du Pech haben. Vor diesem Problem stand ich auch schon ein paar mal. Ich habe bisher auch noch keine Lösung gefunden.


Axel
Titel: Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
Beitrag von: Tode am 18.08.04 - 12:00:58
Ich versuche mal zu rekapitulieren:

Du hast drei Felder:

Fahrzeug:
Auto, Motorrad, Fahrrad

Fahrer:
Mann,Frau

Alter
20,30,40

und Du hast ein Ergebnis-Dokument mit verschiedenen Feldern. Diese Felder sollen je nach Kombination der drei Felder angezeigt werden...

Was Du brauchst ist eine Zuordnung:
Auto - Mann - 20 : Ergebnis 1
Motorrad - Frau - 30 : Ergebnis 2
Fahrrad - Frau - 40 : Ergebnis 3

ALSO: Du erstellst Dir mehre Konfig- Dokumente (für jede mögliche Kombination eins), in die Du die selben Radio- Buttons einfügst, und zusätzlich den Namen des Ergebnis-Feldes, das zu dieser Kombination gehört...

Dann machst Du eine Ansicht (konfiglkp) über diese Dokumente, mit zwei Spalten:

erste Spalte (sortiert):
Option1+ "~" + Option2 + "~" + Option3
zweite Spalte:
Ergebnis

das sieht dann für obiges Beispiel so aus:
Auto~Mann~20Ergebnis1
Motorrad~Frau~30Ergebnis2
Fahrrad~Frau~40Ergebnis3
Dann brauchst Du ein "zwischenlookup":
crit := Option1 + "~" + Option2 + "~" + Option3;
lkp := @DBLookup( "" : "NoCache" ; "" ; "konfiglkp" ; crit ; 2 );
crit2 := lkp;
lkp2 := @DbLookup("":"NoCache"; ""; "vwKonfigurationLookup";"Allgemein";crit2);

Wenn jetzt neue Optionen dazukommen, dann erstellst Du einfach für diese Option ein neues Konfig- Dokument, und der Kittel ist geflickt... Natürlich fehlt hier noch der Fehlerbehandlungsfall (was, wenn es für die Kombination keine Konfig- Gibt, also quasi der "Fallback" auf ein Standard- Feld), aber das ollte ja alles kein Problem sein.

HTH
Tode
Titel: Re: @if-mit veränderlichen Bedingungen - wie ohne hardcoden??
Beitrag von: thorkill am 28.09.06 - 11:29:23
Auch wenn das Thema schon lange vorbei, kann es bei manchen Internetsuchen eventuell helfen.

Ok wegen der IF Abfrage ist es ganz einfach:

Wenn das Feld für die Radio Buttons   Test  heisst geht die IF Abfrage so

@IF(Test="";1;0)

Das heisst, wenn in Feld Test  etwas angeklickt wird, egal was, dann ist der Wert 1 (true) sonst 0 (false). So kann man dies weiter beliebig erweitern.

Weiter könnte man in der Liste (im Domino Designer) bei dem Feld mit dem Type Radio Button hinter jeder Auswahl einen Alias mit einer Pipe (wie bei den Masken) setzen.

So könnte dann die Liste aussehen:

Test1 | 1
Test2 | 2
Test3 | 3

Und die @IF Abfrage

@IF(Field=“1“;1;Field=“2“;0;Field=“3“;1;0)

Das heisst Wenn Test1 mit Alias 1 gedrückt wird gibt es einen Wert 1 aus, wenn Test2 mit Alias 2 dann gibt es den Wert 0, und noch wenn Test3 mit Alias 3 gedrückt wird dann gibt's den Wert 1 aus, sonst bei else Wert 0.
Titel: Re: @if-mit veränderlichen Bedingungen - wie ohne hardcoden??
Beitrag von: dirk_2909 am 28.09.06 - 12:30:16
Hallo

einen alten Thread wieder "aufmachen" ist nicht so toll.  :-P

Vor allem, wenn die "Antwort" nicht zum Thema passt  ;)