[GELÖST] Date-Date=Anzahl Tage-Summe(Sa+So+Feiertage)

11. April 2007 01:56

Hallo ,

anhand von 2 Date Feldern (Errichtungsdatum und Beendigungsdatum) möchte ich die Anzahl der Bearbeitungstage (idealerweise abzüglich Sa, So und Feiertage) in ein Feld ausgeben lassen.

Sollte dieser Punkt im C/SIDE Reference Guide stehen, vermute ich trotz intensiver erfolgloser Suche entweder total überarbeitet zu sein oder der Guide hilft in diesem Fall nicht weiter :?:

Beispiel:
Errichtungsdatum: 01.01.2007
Beendigungsdatum: 07.01.2007

Anzahl Tage = 4

Wer weiterhelfen kann, bekommt einen virtuellen Kaffee (Hinweis: Milch ist ausgegangen) :wink:

Gruß
Kevin

... und der Vorgabe-Termin :evil: rückt immer näher ...
Zuletzt geändert von Kevin.Loewe am 11. April 2007 22:20, insgesamt 1-mal geändert.

11. April 2007 02:24

Es gibt im Standard keine fertige Berechnung dazu.
Um die Feiertage abziehen zu können, musst du in jedem Fall einen Basiskalender entsprechend konfiguriert haben, standardmässig kennt Navision keine Feiertage.
Zuerst ziehst du die Dati voneinander ab, dann hast du schonmal die Bruttoanzahl der Tage. Nun filterst du den Kalender auf den Datumsbereich und auf arbeitsfreie Tage. Die Anzahl ermittelst du mit Count. Dann ziehst du beide Werte voneinander ab und du hast die Arbeitstage.
Du kannst natürlich auch gleich mit dem Kalender arbeiten und auf nicht arbeitsfreie Tage im Datumsbereich filtern und erhältst gleich die Anzahl der Arbeitstage mit Count.

Kevin.Loewe hat geschrieben:Wer weiterhelfen kann, bekommt einen virtuellen Kaffee (Hinweis: Milch ist ausgegangen)
Ich hätte den Kaffee gerne mit virtuellen Zucker.
Lieferbar am 09.06. zum Community-Treffen ;-)

11. April 2007 07:08

Michael Schumacher hat geschrieben:Um die Feiertage abziehen zu können, musst du in jedem Fall einen Basiskalender entsprechend konfiguriert haben, standardmässig kennt Navision keine Feiertage.
Dieser Trick klingt vielversprechend.
Man muss allerdings beachten, dass es auch sich wiederholende arbeitsfreie Tage gibt, somit reicht ein einfacher COUNT nicht aus.
Und da Navision im Cronus-Mandanten nur die Wochenenden gepflegt hat, empfehle ich den Einsatz dieses kleinen Tool, um sämtliche Feiertage berechnen zu lassen.
Die beiden Reports kann man auch wunderbar als "Inspirations-Vorlage" nutzen, um eine Lösung zu Kevin's Problem zu erstellen.

Michael Schumacher hat geschrieben:Du kannst natürlich auch gleich mit dem Kalender arbeiten und auf nicht arbeitsfreie Tage im Datumsbereich filtern und erhältst gleich die Anzahl der Arbeitstage mit Count.
Das wird nicht funktionieren, da in der Regel nur die Feiertage in der Tabelle Basiskalenderänderungen gepflegt werden.
Zuletzt geändert von Timo Lässer am 17. Juli 2014 10:54, insgesamt 1-mal geändert.
Grund: URL aktualisiert

11. April 2007 09:45

Er muss dazu erst die temporäre Tabelle aufbauen, die erstellt wird, wenn man sich den Basiskalender anzeigen läßt.

11. April 2007 22:12

Hallo Michael.
hallo Timo,

Anzahl der Tage (ohne Sa, So + FT) habe ich mittlerweile ermittelt:

OnInsert()
Errichtungsdatum := TODAY:


Freigabe TK - OnValidate()
FreigabedatumTK := TODAY;
BearbeitungsdauerTK := FreigabedatumTK - Errichtungsdatum;
BearbeitungsdauerTK := BearbeitungsdauerTK +1;


Der Betriebskalender ist seit Echtstart beispielhaft gepflegt (alle Sa, So + Feiertage). OK, dass hilft mir noch nicht richtig weiter. Count auf Tabelle Basiskalenderänderung würde weiterhelfen, wenn keine Wiederholungen angelegt währen, sondern einzeln hinterlegt sind.

Wie gehe ich weiter vor? Ich erstelle aufgrund des guten Tips mit der Tabelle Basiskalenderänderung in Excel alle freien Tage einzeln bis - sagen wir mal, 2035. Das sollte reichen, dann bin ich schon längst in Rente :-). Anschließend per Dataport importieren.

Mit count muss ich dann ein bisschen rumspielen. Sollte eigentlich funktionieren. Wenn nicht - Ihr hört von mir :-)

Besten Dank!
LG Kevin

11. April 2007 22:18

... der Kaffe mit virtuellem Zucker ist unterwegs :-)

Wer ist an dem Datum "09.06." (Community-Treffen) Schuld? Da bin ich in Berlin...

Aber man könnte doch auch mal während der normalen Arbeitstage ein geschäftliches Meeting ins Leben rufen :-)

12. April 2007 09:18

Du brauchst die Feiertage nicht einzeln in die Tabelle eintragen.
Schau dir einfach an, wie die von mir verlinkten Reports die Feiertage ermitteln:
Es wird einfach jeder einzelne Tag zwischen dem Startdatum und dem Enddatum überprüft.
Bei Zeiträumen von ein paar Wochen oder Monaten ist das Zeitverhalten auch ganz akzeptabel.
Wenn ich den Report dazu nutze, die nächsten 5 Jahre zu berechnen, dann dauert das schonmal ein paar Sekunden länger.


<OffTopic>
An dem Termin für das CT sind wir alle gemeinsam Schuld.
Mal sehen, vielleicht (wahrscheinlich) findet das CT nächstes Jahr im Norden statt, so dass jeder mal von der räumlichen Nähe profitieren kann.
Es ist mehr als unwahrscheinlich, dass wir ein CT während der normalen Arbeitstage abhalten, da das gemütliche Beisammensein im Mittelpunkt steht.
</OffTopic>

Re: Date-Date=Anzahl Tage-Summe(Sa+So+Feiertage)

17. Juli 2014 10:41

Hi Timo,

ich stehe derzeit vor den gleichen Problem und wollte anhand des von Dir beschriebenen Tools die Berrechnung nachvollziehen. Leider schein der Link nicht mehr zu funktionieren denn ich finde dieses Tool dort nicht.
Kannst du das bitte neu verlinken oder gibt es jetzt schon eine Navisioneigene Lösung. Wir setzten derzeit NAV 2009 SP 1 ein.

Danke.

Re: Date-Date=Anzahl Tage-Summe(Sa+So+Feiertage)

17. Juli 2014 10:55

Tisi hat geschrieben:Leider schein der Link nicht mehr zu funktionieren denn ich finde dieses Tool dort nicht.
Vielen Dank für den Hinweis.
Ich habe die URL in dem Beitrag soeben aktualisiert.

Re: [GELÖST] Date-Date=Anzahl Tage-Summe(Sa+So+Feiertage)

17. Juli 2014 11:02

Michael Schumacher hat es eigentlich auch gut beschrieben.

Basiskalender pflegen und temporäre Tabelle erstellen bei dem auch die wiederholten Arbeitsfreien Tage enthalten sind.
Jeden Tag prüfen mit (Codeunit "Calendar Management" mit CheckDateStatus(Kalendercode, Zieldatum, VAR Beschreibung) : boolean).
Dann kann man das auch mit einem COUNT ermitteln.

mfg,
winfy

Re: [GELÖST] Date-Date=Anzahl Tage-Summe(Sa+So+Feiertage)

17. Juli 2014 12:15

Danke an beide :-D

Re: Date-Date=Anzahl Tage-Summe(Sa+So+Feiertage)

14. März 2017 17:10

Hallo,
ich müsste diese Funktion umsetzen.

Die Anzahl der Bruttotage habe ich bereits errechnet und die Anzahl ist ein Integer.

Wie kann ich nun die Tage mit Berücksichtigung der Feiertage, Wochenenden berechnen?
Es ist ein angepasster Basiskalender vorhanden mit spezifischen Feiertagen.

Nun möchte wie hier beschrieben, den Basiscalender als temporäre Tabelle verwenden um die Feirtage und Wochenenden herauszufiltern.
Kann vielleicht jemand ein Beispiel einstellen, wie das mit dem Filter auf den Basiskalender geht? Ich habe ja die Basiskalender Form als Source TAble Date und hier sind die Nonworking (freien) Tage gekennzeichnet. Vielen Dank.

Re: [GELÖST] Date-Date=Anzahl Tage-Summe(Sa+So+Feiertage)

15. März 2017 10:50

winfy hat geschrieben:Michael Schumacher hat es eigentlich auch gut beschrieben.

Basiskalender pflegen und temporäre Tabelle erstellen bei dem auch die wiederholten Arbeitsfreien Tage enthalten sind.
Jeden Tag prüfen mit (Codeunit "Calendar Management" mit CheckDateStatus(Kalendercode, Zieldatum, VAR Beschreibung) : boolean).
Dann kann man das auch mit einem COUNT ermitteln.

mfg,
winfy


ein Beispiel wäre sehr toll!