PDA

Vollständige Version anzeigen : Modul nettoArbeitstage


Orca25
06.03.2005, 15:40
Ich habe ein Modul entwickelt, welches die nettoArbeitstage zurückgibt.
Dachte mir, dass vieleicht auch andere daran interessiert sind und stelle es mal hier hinein.
Das Modul berechnet aus einem vorgegebenen Zeitraum die nettoArbeitstage in Abhängigkeit vom Bundesland und der Anzahl Arbeitstage pro Woche und gibt je nach Auswahl die Gesamten Arbeitstage des Zeitraumes oder ein Feld mit den Arbeitstagen pro Monat zurück.

Landeskürzel:
BW: Baden -Württemberg
BY: Bayern
NW: Nordrhein -Westfalen
RP: Rheinland -Pfalz
BB: Brandenburg
SL: Saarland
SN: Sachsen
ST: Sachsen -Anhalt
HE: Hessen
MV: Mecklenburg -Vorpommern
TH: Thüringen
Nicht aufgeführte Länder brauchen nicht angegeben werden.
Standart = "" (nur bundeseinheitliche Feiertage)

Feld:
Wenn feld = true, dann gibt das Modul ein Feld >= 12 zurück, in welchem die Arbeitstage pro Monat gespeichert sind.
Das erste belegte Feld (!=0) hat den Index Laufzeit_Beginnmonat-1.
Standart = false

Wochenarbeitstage:
Wenn at=true, dann Wochenarbeitstage=6
Standart = false

Auf eine Fehlerbehandlungsroutine wurde verzichtet.

Funtionsaufruf:
arbeitstage.nettoArbeitstage(Laufzeitdatum_Beginn as Date, Laufzeit_Ende as Date[,land as String][,feld as Boolean][,at as Boolean])

Werden die Parameter land, feld, at nicht angegeben werden die Standartwerte benutzt.

Ich hoffe ihr könnt damit etwas anfangen.
Orca25

Für Fragen, Anregungen und Kritiken stehe ich gerne zur Verfügung!

Orca25
20.09.2005, 19:11
Hallo,
ich wurde darauf hingewiesen, dass das Modul einen Fehler in der Berechnung enthält. Ich werde dies schnellstmöglich korrigieren.
Bis dahin müßt ihr euch leider etwas gedulden.
Gruß
Orca25

Orca25
20.09.2005, 22:22
Hallo,
hier nun die korrigierte Version.
Gruss
Orca25

klaus
03.11.2005, 05:39
Hallo Orca25,
es scheint aber doch noch ein Fehler in der Funktion zu sein. Bei mir kommen für den Monat Mai 2005 20 AT statt 19 heraus. Vor der Korrektur war der Wert richtig, dafür der Juni 2005 falsch. Jetzt ist es umgekehrt. Mai falsch und Juni richtig.

MfG
Klaus

Prian0815
09.05.2006, 13:29
Hallo Orca 25, Also Ivh hab dein Tool gerade getestet, und es bringt für das Jahr 2005 254 Arbeitstage. Hab in meiner Zeiterfassung für 05 nachgeschaut und gezählt, Ich hatte nur 249 Soll-Arbeitstage.Nun gut, Ich komme aus Bayern(Augsburg) und habe durch den Feiertag zum Augsburger Friedensfest einen Feiertag mehr(den gibts nur in Augsburg), und dann mußt du natürlich noch Bedenken, dass MariaHimmelfahrt nicht abhängig ist vom Bundewsland(zumindest ist dieser Tag bei uns Bayern nur Feiertag in überwiegend Katholischen Gemeinden.Wie dem auch sei, die große Differenz lässt sich allein dadurch nicht erklären.

Prian0815
09.05.2006, 13:51
Hi Orca25, ich nochmal,
Da ich mir auch schon mal ein VB-Prog gemacjht habe, welches meine Zeiterfassung initialisiert, Hab ich daraus mal alles zum Thema rauskopiert.Ich hoffe dass dir das weiterhilft.

Prian0815
09.05.2006, 14:11
Hi Orca, und schon wieder Ich.
Hab mir gerade dein Coding n bischen angeschaut, und frage mich gerade, ob du denn auch daran gedacht hast, dass das Jahr ja ein Schaltjahr sein könnte und der 29.02. dann nicht auf ein WE fällt. Wie löst du dass überhaupts mit den WE's? Es sind ja nicht immer 4 WE's pro Monat.

FW
21.08.2006, 23:18
... ich hab' vor längerer Zeit auch mal eine Bundesland-abhängige Feiertags-Berechnung programmiert, auch die Gaußsche Osterformel benutzend.
Bisher kamen keine Klagen, deshalb folgende Fragen:

@Klaus: Für welches Bundesland berechnest Du die Mai-Arbeitstage 2005?
@Armin: Für Augsburg wurden bei mir zu den bundesweiten Feiertagen zusätzlich
HeiligeDreiKönige, Fronleichnam, MariäHimmelfahrt, Friedenstag und Allerheiligen als Feiertage festgesetzt. So komme ich auf 249 Arbeitstage für das Jahr 2005, wobei Heiligabend und Silvester hier als Arbeitstag gelten. Sind diese zwei Tage bei Deiner "Zeiterfassung" ebenfalls Arbeitstage?

Für das Berechnen der Arbeitstage benutze ich keinen performanten Algorithmus, sondern zähle einfach durch. Es geht bestimmt flotter (ich glaube, ich hab' in diesem Forum sogar mal was gesehen) aber das funktioniert zumindest sicher.
Wenn gewünscht, stelle ich den Code gerne zur Verfügung, ist aber dem von Orca25 schon ähnlich, nur, durch mehrjährigen Einsatz ohne Klagen der Benutzer, scheinbar korrekt, wenn auch nicht hochperformant...

Prian0815
21.11.2006, 12:44
Hi FW,
Wie von mir in #5 gesagt, fürs Jahr2005 = 249 Arbeitstage. Heilig Abend und Silvester sind bei mir auch Arbeitstage. Insofern stimmen deine Feiertage fdür Augsburg. Ich glaube auch, dass es nicht wirklich performant geht. Im Enddeffeckt zähle ich die Arbeitstage auch durch. Mache das ganze in Excel. Das größte Problem war es für mich die WE's richtig hinzukriegen. Leider hat sich Orca zu diesem Thread nicht mehr gemeldet.