Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: eknori am 07.07.03 - 12:47:29

Titel: Startdatum + 10 Arbeitstage berechnen
Beitrag von: eknori 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
Titel: Re:Startdatum + 10 Arbeitstage berechnen
Beitrag von: eknori 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
Titel: Re:Startdatum + 10 Arbeitstage berechnen
Beitrag von: ata 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
Titel: Re:Startdatum + 10 Arbeitstage berechnen
Beitrag von: Glombi 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
Titel: Re:Startdatum + 10 Arbeitstage berechnen
Beitrag von: jr 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
Titel: Re:Startdatum + 10 Arbeitstage berechnen
Beitrag von: eknori 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 ::)
Titel: Re:Startdatum + 10 Arbeitstage berechnen
Beitrag von: jr 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
Titel: Re:Startdatum + 10 Arbeitstage berechnen
Beitrag von: Glombi 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
Titel: Re:Startdatum + 10 Arbeitstage berechnen
Beitrag von: eknori am 07.07.03 - 17:06:55
@jr: danke für die Formel; klappt super !!

hier noch ne Demo mirt der Formel von jr