Autor Thema: Startdatum + 10 Arbeitstage berechnen  (Gelesen 3200 mal)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Startdatum + 10 Arbeitstage berechnen
« am: 07.07.03 - 12:47:29 »
@All:

ich muß in einer Ansicht ausgehend von einem Ausgangsdatum das EndDatum berechnen, wobei die Wochenenden nicht berücksichtigt werden sollen. Zwischen StartDatum und  EndeDatum sollen dabei 10 Arbeitstage liegen.

Im Moment habe ich wohl ne komplette denkblockade mglrweise bedingt durch das einsetzende "SuppenKoma" nach der Mittagspause.

Wer hilft mir bitte mal auf die Sprünge ??

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Startdatum + 10 Arbeitstage berechnen
« Antwort #1 am: 07.07.03 - 12:58:24 »
hmm, ich glaube, ich mache mir die Sache einfach

@Adjust(@TextToTime(ITDATE);0;0;14;0;0;0)

dann habe ich auf jeden Fall 10 reine Arbeitsdage.

aber vielleicht gibt es ja noch eine koorekt konkrrete Lösung  ;D ;D
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Startdatum + 10 Arbeitstage berechnen
« Antwort #2 am: 07.07.03 - 13:27:51 »
... die Arbeitstage sind abhängig von den Feiertagen. In meiner Lib fange ich die Arbeitstage dazu ab - ist aber LS...

ata
Grüßle Toni :)

Glombi

  • Gast
Re:Startdatum + 10 Arbeitstage berechnen
« Antwort #3 am: 07.07.03 - 13:51:56 »
Hi,
so könnte es gehen:
s := StartDate;
d:= s;
n := 0;
@While(n < 10;
d:=@Adjust(d;0;0;1;0;0;0);
n := @BusinessDays(s;d)
);


Dann steht in d das entsprechende Datum.

Andreas

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re:Startdatum + 10 Arbeitstage berechnen
« Antwort #4 am: 07.07.03 - 13:55:49 »
Hallo,

in Script ist das kein Problem, mit Formelsprache ist es ein bisschen umständlich, geht aber auch:


REM {Berechnung des nAnz-ten Arbeitstage ab dtVon};

von           := dtVon;
n             := nAnz;

bis           := @Adjust(von; 2; 0; 0; 0; 0; 0);

alleTageStr   := @Explode(@TextToTime(@Text(Von) + " - " + @Text(Bis)));
alleTage      := @TextToTime(alleTageStr);
wochenendeStr := @Replace(@Text(@Weekday(alleTage)); "1" : "7"; "x" : "x") + alleTageStr;
wochenende    := @Trim(@Right(wochenendeStr; "x"));
arbeitsTage   := @Trim(@Replace(alleTageStr; @Keywords(alleTageStr; wochenende; ""); ""));

FIELD dtBis   := @Date(@TextToTime(@Subset(@Subset(arbeitsTage; n); -1)));
""


(Der Code ist noch aus R5er Zeiten)

Hoffe, dass es ein bisschen geholfen hat.

Gruß,

jr
« Letzte Änderung: 07.07.03 - 14:00:37 von jr »
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Startdatum + 10 Arbeitstage berechnen
« Antwort #5 am: 07.07.03 - 14:54:15 »
Danke euch. Ich werde das mal in Ruhe testen. Für den blöden Auditor komme ich mir meine HauRuck Lösung erst einmal weiter.

@Glombi:

die Formel hat mir gerade den Server zerlegt  ;D ;D.
Sieht aber ansonsten so aus, als würde es genau das machen, was ich will. Ob das aber in einer Ansichtenspalte bei 20.000 Docs so performant ist, weiß ich nicht.

Nur kurz zum Hintergrund:

wie haben eine Workflowanwendung mir Domino Workflow.
Eigentlich recht simpel gestrickt.

Anwender beantragt- Vorgesetzter prüft und gibt frei - Edv setzt um.

Jetzt haben wir für den gesamten Vorgang pauschal 10 Arbeitstage eingeplant. Leider liegen die Dinger aber bei den Vorgesetzten meist so lange, daß die erst nach den 10 tagen bei uns ankommen. Daher sieht das dann in der Statistik so aus, daß die EDV - MA faule Socken sind, weil wir fast nix in time erledigen.  :'( :-[ :P  Daher kralle ich mir das Datum zu dem der Vorgang in unserer Abteilung aufschlägt. Erst dann sollen die 10 tage anfangen zu zählen. Dann stimmt auch die Statistik wieder  ::) ;D ::)
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re:Startdatum + 10 Arbeitstage berechnen
« Antwort #6 am: 07.07.03 - 15:09:59 »
Vielleicht noch ein kleinen Tipp zu der Formel oben:

Ich habe das damals für einen Workflow geschrieben. Und da sollten auch noch die Feiertage berücksichtigt werden. Da habe ich dann einfach in einem Konfigurationsdokument die Feiertage im gleichen Format abgelegt und ebenfalls mit berücksichtigt (also (wochenende : feiertage)). Das klappt genauso.

In Skript ist das natürlich viel einfacher. Da habe ich mittlerweile eine komplette Klasse zur Berechnung der Feiertage geschrieben.

Gruß,

jr
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Glombi

  • Gast
Re:Startdatum + 10 Arbeitstage berechnen
« Antwort #7 am: 07.07.03 - 15:13:56 »
@eknori,
sorry das mit dem Server  :-[
Offenbar war das keine gute Idee, Schleifen in Views einzubauen...

Die Formel von jr gefällt mir übrigens besser, auch wenn's auf den ersten Blick ein bisserl kompliziert aussieht.

Andreas

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Startdatum + 10 Arbeitstage berechnen
« Antwort #8 am: 07.07.03 - 17:06:55 »
@jr: danke für die Formel; klappt super !!

hier noch ne Demo mirt der Formel von jr
« Letzte Änderung: 07.07.03 - 17:14:03 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz