Domino 9 und frühere Versionen > ND6: Entwicklung
Berechnetes Listenfeld im Web
(1/1)
RvM:
Folgende Augabenstellung:
Anmeldeformular für eine Besichtigung. Es wird alle 15 Minuten eine Besichtigung gestartet. Pro Zeiteinheit können max. 25 Personen teilnehmen. Ich habe nun als erstes ein Dokument erstellt, in dem es Zahlenfelder gibt, in der pro Zeiteinheit die max. Besucherzahl eingetragen wird.
Nun soll im Anmeldeformular der Besucher angeben, wieviele Besucher er mitbringt. Dann soll er eine Zeitspanne aus einem Listenfeld aussuchen. Normalerweise gibt man ja ins Listenfeld so etwas wie
11.00 - 11.15 Uhr|1" usw. ein. Dieser Eintrag soll aber nun berechnet werden.
Ich bin soweit, das im o.g. Dokumente die Anzahl der Besucher pro Zeitspanne berechnet werden. Wenn nun für eine Zeitspanne der Wert 0 ist, so soll diese Zeitspanne auch nicht mehr im Listenfeld erscheinen.
Gedacht hatte ich mir folgende Lösung:
mit der Formel:
--- Code: ---u11_1=@GetDocField("281E16A5A7BA6FF7C12571CD0048EF33";"U_11_1");
u11_2=@GetDocField("281E16A5A7BA6FF7C12571CD0048EF33";"U_11_2");
--- Ende Code ---
wollte ich die Werte der Zeitspannen auslesen und mit einer @IF Formel den Inhalt des Listenfeldes darstellen. Diese Formel sollte so ausshen:
--- Code: ---@If(u11_1=0;"";"11.00 - 11.15 Uhr";u11_2=0;"";"11.15 - 11.30 Uhr";"")
--- Ende Code ---
Das klappt aber nicht, denn dann spuckt mir der Browser einen 500er mit folgender Fehlermeldung aus:
--- Code: ---Incorrect data type for operator or @Function: Number expected
--- Ende Code ---
Wo liegt der Fehler?
umi:
evtl. liegts an den fehlenden Doppelpunkten
--- Code: ---u11_1:=@GetDocField("281E16A5A7BA6FF7C12571CD0048EF33";"U_11_1");
u11_2:=@GetDocField("281E16A5A7BA6FF7C12571CD0048EF33";"U_11_2");
@If(@tonumbeR(u11_1)=0;"";"11.00 - 11.15 Uhr";@tonumber(u11_2)=0;"";"11.15 - 11.30 Uhr";"")
--- Ende Code ---
RvM:
Danke für die Hilfe - aber das war es leider nicht :-[
tks:
1. Der @If funktioniert so nicht.
@If(cond1;act1;cond2;act2;...;elseact). Dein If versucht aber Wenn(u11_1 = 0;dann dies;ansonsten das;wenn u11_2 = 0;dann dies;ansonstendas;und zum Schluss dieses).
2. Wenn Listenfeld, musst Du auch eine Liste ausgeben. Das geht nicht in einer einzigen If-Abfrage, weil sobald die erste Bedingung aber zutrifft, wird der Rest vom If nicht mehr augeführt.
Versuche es mal mit diesem Code (als Anregung):
_liste := "";
_liste := @If(f1>0;_liste + ";10:00 - 10:15";_liste);
_liste := @If(f2>0;_liste + ";10:15-10:30";_liste);
@Explode(_liste;";")
Gruß
Thomas
tks:
@RvM
Hat's eigentlich was geholfen? :-:
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln