Ohne deinen Code und die Felder die du da eingebaut hast zu sehen? Nein ich kann dir nicht sagen warum das bei dir nicht klappt.
Grundsätzlich hat die Formelsprache eine angenehme Eigenschaft, von der man aber wissen muss. Sie führt jede Operation auf alle Elemente von Multivalue Feldern aus. Das kann man wunderbar benutzen um zum Beispiel mit
FIELD Ergebnis := (@sum(Pausenendezeiten - Pausenanfangzeiten)/3600)
folgendes zu erreichen, wenn in jedem Feld drei Elemente vorhanden sind:
Ergebnis = ( (Pausenendezeiten[1] - Pausenanfangszeiten[1]) +
(Pausenendezeiten[2] - Pausenanfangszeiten[2]) +
(Pausenendezeiten[3] - Pausenanfangszeiten[3]) ) / 3600
Alles in der Formelsprache. Wenn man das produktiv nutzen will muss man noch einiges im Umfeld aufbauen. So muss zum Beispiel für jedes Anfangselement auch ein Endelement vorhanden sein. Außerdem darf die Berechnung nicht erfolgen wenn kein Element vorhanden ist.
Das hier wäre zum Beispiel eine Möglichkeit den Anforderungen gerecht zu werden:
FIELD fldGesamtzeit := (fldDatEndzeit - fldDatStartzeit)/(3600);
FIELD fldPausenzeit := @If((fldDatPauseStartzeit != "" & fldDatPauseEndzeit != "") & (@Elements(fldDatPauseStartzeit) = @Elements(fldDatPauseEndzeitzeit)) ;@Sum(fldDatPauseEndzeit - fldDatPauseStartzeit)/(3600);0);
FIELD fldZeitdifferenz := @If((fldDatPauseStartzeit != "" & fldDatPauseEndzeit != "") & (@Elements(fldDatPauseStartzeit) = @Elements(fldDatPauseEndzeitzeit)) ;
((fldDatEndzeit - fldDatStartzeit) - @Sum(fldDatPauseEndzeit - fldDatPauseStartzeit))/(3600);
(fldDatEndzeit - fldDatStartzeit)/(3600));
@True
Bezogen auf das letzte Beispiel wäre das die Formel die hinter der Aktion Zeit ermitteln stehen müsste.
um nochmal zu der Sache mit dem Agent , der die Datevalues auslesen soll, zukommen.
Einfacher als mit
dim Datearray() as Notesdatetime
Redim Preserve Datearray(Counter) as Notesdatetime
gehts nicht? dann hab ich dazu mal ne Frage
dim Datearray() as Notesdatetime
dim value as Variant
dim i as Integer
value = doc.getItemValue("Pausenanfang")
i = Ubound(value) + 1
Datearray(i) = CDat(Datum) *Fehler*
Redim Preserve Datearray(i) as Notesdatetime
funktioniert das so oder muss ich da noch irgendwas beachten, kann es gerade nicht testen, da ich zur Zeit an einem anderen PC sitz und der kein Notes hat
EDIT: ich bekomm in der Zeile oben immer den Fehler, Type missmatch, kann mir jemand sage warum?
EDIT: problem gelöst