Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: CLI_Andreas_Schmidt am 05.08.05 - 14:13:12

Titel: Feldberechnung im Web
Beitrag von: CLI_Andreas_Schmidt am 05.08.05 - 14:13:12
Hi @all,

mir fehlt ein Ansatz bei folgendem Problemchen.

--> ich möchte eine Ansicht im Browser öffnen
--> In den Dokumenten gibt es ein feld "Grundpreis" und ein Feld "Endpreis"
--> jetzt soll beim öffnen der Ansicht in einer Spalte der "Endpreis" angezeigt werden.

Problem: Das Feld "Endpreis" muss beim Start in Abhängigkeit vom angemeldeten user (Länderkennung wäre hier sinnvoll) berechnet und dann in der Spalte angezeigt werden. Der Faktor für die Berechnung steht in einer anderen Ansicht mit zwei Felder "LAND" und "Faktor"

Mein Problem ist: Da eine Ansicht kein WebqueryOpen hat, kann ich schlecht beim öffnen irgendwas berechnen.

Gruss

Andreas
Titel: Re: Feldberechnung im Web
Beitrag von: flaite am 05.08.05 - 14:21:55
es geht vermutlich über $$View Maske, treat-content-as-html-Masken und JavaScript.
Titel: Re: Feldberechnung im Web
Beitrag von: Mandalor am 05.08.05 - 14:32:26
oder du baust die ansicht nach--> lässt eine Maske öffnen, in der über einen WebQueryOpen Agent in ein Feld der Code reingerechnet wird. --> ist aufwändig, aber dann unterliegst du keinen Beschrängungen mehr
Titel: Re: Feldberechnung im Web
Beitrag von: datenbanken24 am 05.08.05 - 14:53:18
@CLI

Der Fielmann-Detektiv würde dazu sagen:

Vergessen Sie's.

(Ansichten sind nie benutzerabhängig,  Ansichten haben kein DbLookup,  etc.)

Da mußt Du eine "ganz andere Brille" ausprobieren...

Gruß,
Uwe
Titel: Re: Feldberechnung im Web
Beitrag von: CLI_Andreas_Schmidt am 05.08.05 - 15:11:23
Hi Datenbank24.

Genau das ist das Problem. Gut erkannt Du hast.

Die Idee von Mandalor könnte ich als Ansatz probieren. Ich könnte auch eine Seite voll-Printen. Müsste auch gehen und ich brauche kein Feld mehr setzen.

Wenn ich eine Lösung habe, werde ich sie posten.

Danke.
Titel: Re: Feldberechnung im Web
Beitrag von: tomtomtom am 05.08.05 - 15:48:07
um auf View Ebene zu berechnen, sehe ich auch nur den Ansatz (wie bereits erwähnt) treat-content-as-html masken respektive embedded view und JavaScript. 
 
Titel: Re: Feldberechnung im Web
Beitrag von: flaite am 05.08.05 - 17:56:51
oder du baust die ansicht nach--> lässt eine Maske öffnen, in der über einen WebQueryOpen Agent in ein Feld der Code reingerechnet wird. --> ist aufwändig, aber dann unterliegst du keinen Beschrängungen mehr

Das Problem an solchen Lösungen ist, dass sie nicht sonderlich gut skallieren. Das wäre mal eine Motivation mit Hilfe von JMeter (ein Java Profiling Tool, dass man gegen jede Webanwendung benutzen kann) zu zeigen, wie die Performance mit WebQueryOpen Agenten runtergeht.

Ich bleibe dabei: Es geht mit JavaScript und Treat Content as Html. Den User Identifier kann man vermutlich über ein Feld in der $$View Template Maske ermitteln und dann mit JavaScript in den Ansichtsspalten der Treat Content as html view weiterverarbeiten.
Das hört sich jetzt irrsinnig kompliziert an, ist aber imho eine ganz gute Möglichkeit, die Domino bereithält. Viel anders funktionieren viele Java-Web-Taglibs letzten Endes auch nicht.
Titel: Re: Feldberechnung im Web
Beitrag von: Tode am 09.08.05 - 12:47:50
genau so habe ich mir eine "Dynamische" Ansicht gebaut, die in einer ZEILE (=1 Datensatz, wenn man so will) Daten aus x verschiedenen Datenbanken anzeigt.

In der $$View- Maske werden über lookups die entsprechenden Werte zusammengesucht, und eine Javascript- Funktion bereitgestellt, die diese Werte ausliest und an die aktuelle Stelle printed

In der Ansicht selbst werden die Werte dann über die Javascript- Funktion an korrekter Stelle angezeigt...

Das funktioniert, weil die Maske mit eingebetteter Ansicht im Web eine einzige Form ist.

Gruß
Tode
Titel: Re: Feldberechnung im Web
Beitrag von: Timo Schüring am 10.08.05 - 09:49:47
.. oder einfach über einen LotusScript Agenten die Ansicht auslesen und die fehlenden Felder berechnen. Durch Navi Links wie "weiter" und "zurück" kann man sich dann praktisch durch die Ansicht klicken.