Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: killinspree am 25.09.03 - 10:39:00
-
8)Moin,
ich versuche gerade mit domino designer eine zeiterfassungsdatenbank zu programmieren.
dabei habe ich ein problem mit dem errechnen der differenzen zwischen arbeitsbeginn und arbeitsende!
z.B: ist arbeitsbeginn 8:39 und 16:37 ist arbeitsende.
wie kann die formel aussehen das ich stunden und minuten der arbeitszeit zurückbekomme??
ich wäre euch für hilfe sehr dankbar, danke
-
Vielleicht so:
@Adjust(ArbeitsEnde;0;0;0;-@Hour(ArbeitsBeginn);-@Minute(ArbeitsBeginn)
-
@Semaphoros:
Das ist eine kurze und prägnante Fassung.
@killinspree:
Wenn Du die Ergebnisse als separate Zahlenwerte haben möchtest, hier zwei Formeln für die Berechnung der Stunden und Minuten. Bitte beachte, daß vor Ausführung der Berechnung immer erstmal geprüft wird, ob die Felder Arbeitsbeginn und Arbeitsende auch wirklich gültige Zeiten enthalten (sonst bekommst Du schon bei der Neuanlage eines Dokumentes Fehlermeldungen !):
Stunden:
@If (@IsTime (Arbeitsbeginn) & @IsTime (ArbeitsEnde); @Integer ((Arbeitsende - Arbeitsbeginn) / 3600); 0)
Minuten:
@If (@IsTime (Arbeitsbeginn) & @IsTime (Arbeitsende);
((Arbeitsende - Arbeitsbeginn) / 60) - (@Integer ((Arbeitsende - Arbeitsbeginn) / 3600) * 60);
0)
Du siehst hier auch, daß man Datums-/Zeitfelder-Werte subtrahieren kann - das Ergebnis ist die Zeitdifferenz in Sekunden.
By the way: Wenn die Datums-/Zeitfelder auch die Eingabe des Datums erlauben, müssen natürlich vorher weitere Plausibilitätsprüfungen durchgeführt werden.
HTH,
Bernhard
-
Kurz und prägnant sind die wichtigsten Eigenschaften für @Formula, Deine Ergänzungen, Bernhard, sind auch sehr wertvoll.
-
Nicht nur kurz und prägnant, Semaphoros, sondern ausserdem auch noch (i.d.R.) sehr performant.
Und ich geniesse es, "altes" Wissen (aus R2/R3-Zeiten, wo ja ausser @functions nix ging) wieder zu aktivieren: Ich glaube, das bekommt mir auch ganz gut ;-)
Bernhard
-
Besonders seit Damien Katz die Engine für ND6 neu geschrieben hat.
-
;)ich habe gestern noch eine einfache möglichkeit gefunden. die zeit in dezimalstunden auszugeben.
da man ja damit rechnen muss. sprich man hat ne zeitarbeitsfirma im haus die nach stunden bezahlt wird.
wenn ich die stunden in dezimalstellen ausgebe, kann der der die Löhne verrechnet gleich die stunden mit dem stunden lohn multiplizieren.
Aber ich werde eure skripten noch bei der erfassung einzelner Tätigkeiten benötigen. Vielen Dank für eure hilfe.
Und respekt wer schon seit R2 dabei muss ja was draufhaben, da hab ich noch nichteinmal von notes gewusst.
Dies ist nämlich mein erstes Projekt mit Lotus Notes. ;D