Domino 9 und frühere Versionen > ND6: Entwicklung
LotusScript + HTML + dynamische Tabelle
sja:
Hallo @All,
also, habe ich die Code von
Joe Litton - http://joelitton.net
http://joelitton.net/A559B2/home.nsf/plinks/JLIN-677398
in meinem Agent verwendet (s. Anhang).
Es funktioniert hervorragend, aber ich habe in meinem Agent noch zwei Probleme.
1.
In der Spalte 10 soll den Wert von Stundenanzahl angezeigt werden
s. in dem Anchang die Function populateTable() As Integer
....
Case 10
Call body.AppendText(doc.Stunden(0))
‘tmp_Stunden =Csng( doc.Stunden(0) )
‚Call body.AppendText( tmp_Stunden )
….
Es wird ja angezeigt, aber in den Fällen, wo ganze Teil = 0 ist, wird z.B. statt des Wertes 0,33 den Wert ,33 angezeigt! (s. die Tabelle in dem anhang Spalte „Dauer“)
2.
in dem Script benutze ich eine Ansicht, die die Dokumente enhält, die in der Tabelle kommen sollen. Der Report soll nur am Mongag erzeugt werden. In der Ansicht sollen nur die Dokumente angezeigt werden, die in dem Feld „datum“ den Wert haben, der in der der Zeitraum liegt vom
datum < @ToDay
bis
zurück zum Zeitpunkt vom 1.ten des Monats bis zum dem Montag vorhergehende Woche.
D.h wenn der Monat z.B Juli ist (fängt mit KW 26 an) und der Montag, an dem der Report erzeugt wird, der 25te ist (=KW 30), dann sollen die Kalenderwochen 26 bis 29 angezeigt werden.
Jahr := @Year(@Today);
Monat :=@Month(@Today);
Datum := @Date(Jahr;Monat;1);
Tag := @Weekday(Datum );
Datum1 := @If( Tag = 2; Datum ; Tag = 3; @Adjust(Datum ;0;0;-1;0;0;0) ; Tag = 4; @Adjust(Datum ;0;0;-2;0;0;0) ; Tag = 5; @Adjust(Datum ;0;0;-3;0;0;0) ; Tag = 6; @Adjust(Datum ;0;0;-4;0;0;0) ; Tag = 7; @Adjust(Datum ;0;0;-5;0;0;0) ; @Adjust(Datum ;0;0;-6;0;0;0));
Datum2 := @Adjust(@Now;0;0;-1;0;0;0);
SELECT Form = "awn" & (@Date(datum)>= @Date(Datum1)) & (@Date(datum)< @Today)
Ich habe in der ansicht zusäzlich Spalte erzeigt, die zeigt
Jahr := @Year(@Today);
Monat :=@Month(@Today);
Datum := @Date(Jahr;Monat;1);
Tag := @Weekday(Datum );
Datum1 := @If( Tag = 2; Datum ; Tag = 3; @Adjust(Datum ;0;0;-1;0;0;0) ; Tag = 4; @Adjust(Datum ;0;0;-2;0;0;0) ; Tag = 5; @Adjust(Datum ;0;0;-3;0;0;0) ; Tag = 6; @Adjust(Datum ;0;0;-4;0;0;0) ; Tag = 7; @Adjust(Datum ;0;0;-5;0;0;0) ; @Adjust(Datum ;0;0;-6;0;0;0));
Datum1
Genau den richtigen Wert = 27.06.2005
Aber die Auswahlformul zeig alle Dokumente, die auch älter sind als 27.06.2005
Für jede Hilfe Danke sehr im Voraus
Schöne Gruesse
Sofia
koehlerbv:
Zu Frage 1: Du kannst dafür eine eigene Function schreiben - oder die Format$-Funktion von LS verwenden. Hier also:
Call body.AppendText(Format$ (doc.Stunden(0), "0.00"))
Bernhard
koehlerbv:
Zu Deiner 2. Frage: In Deiner Ansichtsauswahl beziehst Du Dich auf die beiden Variablen Datum und Datum1, die Du vorher in Deiner Formel berechnet hast. Ich finde jedoch keinen Bezug zu einem Datumsfeld aus den Dokumenten, die Du prüfen willst. Das heisst dann, dass die Ansichtsauswahl nur noch auf das Form-Feld beschränkt ist - Dir werden also alle Dokumente angezeigt. Wenn Dein Feld in den Dokumenten auch Datum heisst, so überschreibst Du dieses (intern, temporär) mit
Jahr := @Year(@Today);
Monat :=@Month(@Today);
Datum := @Date(Jahr;Monat;1);
Bernhard
sja:
Hallo Bernhard,
Du bist eine Perle! Ich finde keine richtigen Wörter, um meine Dankbarkeit völlig auszudrücken.
Jetzt alles funktioniert!
Zu Frage 1
das war für mich sehr wichtige Info, ich wusste nichts über Format$-Funktion. Herzlichen Dank!
Zu Frage 2
Das Feld heisst "datum", die Variable heisst "Datum". Habe gedacht dass es case sensitive ist. Aber das ist wohl nur in LS und nicht in der Formelsprache.
Habe die Variable anders genannt und alles läuft ohne Problem!
Schöne Gruesse und noch Mal herzlichen Dank!
Sofia
koehlerbv:
Hallo Sofia,
ich habe es eben einfach nur gewusst :) Nur bei der Auswahlformel musste ich etwas länger schauen, wo da der Hase im Pfeffer lag (bis es dann eindeutig wurde). Ich freue mich jedenfalls sehr, dass ich Dir helfen konnte. Und Dir gebührt auf jeden Fall ein ganz besonderes Lob für Deine hervorragenden Problembeschreibungen - die Suche nach einer Lösung wird dadurch derart erleichtert, dass sich manch anderer daran dringend eine Scheibe abschneiden sollte. Wenn man dann noch weiss, dass Du zusätzlich mit der deutschen Sprache (noch) mehr Mühen hast als ein hier geborener ...
Eine Anmerkung noch: Auch LS reagiert nicht sensitiv auf Gross- und Kleinschreibung, weder beim Zugriff auf Items noch bei eigenen Variablendeklarationen. Leider oder glücklicherweise - ich bin da durchaus gespaltener Meinung.
Ein schönes Restwochenende wünscht
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln