Autor Thema: @if-mit veränderlichen Bedingungen - wie ohne hardcoden??  (Gelesen 2813 mal)

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 482
  • Geschlecht: Männlich
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
« Letzte Änderung: 14.08.04 - 21:19:37 von SKL74 »
Domino, Notes, Sametime

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
« Antwort #1 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.
« Letzte Änderung: 14.08.04 - 22:32:50 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 482
  • Geschlecht: Männlich
Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
« Antwort #2 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
Domino, Notes, Sametime

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
« Antwort #3 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.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 482
  • Geschlecht: Männlich
Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
« Antwort #4 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
« Letzte Änderung: 15.08.04 - 01:16:04 von SKL74 »
Domino, Notes, Sametime

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
« Antwort #5 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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:@if-mit veränderlichen Bedingungen - wie ohne hardcoden??
« Antwort #6 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
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline thorkill

  • Frischling
  • *
  • Beiträge: 16
Re: @if-mit veränderlichen Bedingungen - wie ohne hardcoden??
« Antwort #7 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.

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: @if-mit veränderlichen Bedingungen - wie ohne hardcoden??
« Antwort #8 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  ;)
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz