Domino 9 und frühere Versionen > Entwicklung
Halbe und viertel Tage berechnen
LordDestiny:
Hi aba,
der Fehler liegt vermutlich im Datentyp des Feldes Teilung. Die If-Formel funktioniert nur, wenn es ein Text-Item ist. Allerdings solltest Du sicherheitshalber die Formel wie folgt anpassen:
Bei Itemtype = Text:
@if (Teilung="0,5";berur-0,5;
Teilung="0,75";berur-0,75;
berur);
Bei Itemtype = Number:
@if (Teilung=0,5;berur-0,5;
Teilung=0,75;berur-0,75;
berur);
Gruss,
LD
aba:
Alles klar,
jetzt funktioniert es. Jetzt könnte mich noch jemand glücklich machen indem man mior verrät wie ich den 24.12. und den 31.12. als 0,5 Tage berechnet bekomme. eknori hat mal eine Feiertagsliste gepostet siehe
REM "Feiertagsliste";
holidayList := [01.01.2002]:[21.01.2002]:[18.02.2002]:[27.05.2002]:[04.07.2002]:[02.09.2002]:[14.10.2002]:[11.11.2002]:[28.11.2002]:[25.12.2002]:[26.12.2002]:[01.01.2003]:[20.01.2003]:[17.02.2003]:[26.05.2003]:[04.07.2003]:[01.09.2003]:[13.10.2003]:[11.11.2003]:[27.11.2003]:[25.12.2003]:[26.12.2003];
REM "Feiertagsliste nach Textliste wandeln"; usw.
hier jetzt noch 24.12. und 31.12. einbauen und diese mit 0,5 multiplizieren oder so. Hat da vielleicht noch jemand eine Idee?
Ansonsten bin jetzt schon super zufrieden und bis dies Jahr Weihnachten ist ja noch ein wenig!!!
LordDestiny:
Hm...
Nutzt Du die Form für eine Jahres-Gesamtübersicht oder für jeden Tag einzeln? Wäre für die Berechnung der Feiertage wichtig *nachdenk*
aba:
Ja das versteh ich jetzt nicht aber hier mal die Formel für das Feld berur. Dort wird die Feirtagsliste berücksichtigt.
REM "Feiertagsliste";
holidayList := [01.01.2002]:[21.01.2002]:[18.02.2002]:[27.05.2002]:[04.07.2002]:[02.09.2002]:[14.10.2002]:[11.11.2002]:[28.11.2002]:[25.12.2002]:[26.12.2002]:[01.01.2003]:[20.01.2003]:[17.02.2003]:[26.05.2003]:[04.07.2003]:[01.09.2003]:[13.10.2003]:[11.11.2003]:[27.11.2003]:[25.12.2003]:[26.12.2003];
REM "Feiertagsliste nach Textliste wandeln";
hl:=@Text(holidayList);
REM "Datumsteil Start/Ende extrahieren und nach Textliste wandeln";
startDate := @Text(@Date(startDate));
endDate := @Text(@Date(endDate));
REM "Aus Start/Ende DateRange im Textformat montieren";
range := @TextToTime(startDate + "-" + endDate);
REM "Auflösen des Start/Ende-Range in Datumswerte";
r2:=@Explode(range);
REM "Datumswerte in Textliste wandeln";
r3:=@Text(r2);
REM "Feiertage in Textliste durch leere Elemente ersetzen, diese entfernen";
r4:=@Trim(@Replace(r3;hl;""));
REM "Textliste in Datumswerte wandeln";
r5:=@TextToTime(r4);
REM "Datumswerte in Wochentagsnummern wandeln, diese in Text wandeln";
r6:=@Text(@Weekday(r5));
REM "Wochentagsnummern Sa und So durch leere Elemente ersetzen, diese entfernen";
r7:=@Trim(@Replace(r6;"1":"7";""));
REM "Zahl der verbleibenden Tage bestimmen";
res:=@Elements(r7);
REM "Resultat ausgeben";
res
Und hier möchte ich die beiden genannten Daten noch mit 0,5 Tagen einpflegen.
Ich hoffe Deine Frage konnte ich beantworten ich bin leider blutiger Anfänger und kenn mich mit den Fachausdrücken nicht so aus!!
LordDestiny:
erweitere den Sourcecode bitte wie folgt:
REM "Zahl der verbleibenden Tage bestimmen";
res:=@Elements(r7);
@Set("res";@If(@IsMember("24.12.2003";r4)=@True & Weekday(@TextToTime("24.12.2003"))!=1 & Weekday(@TextToTime("24.12.2003"))!=7;res-0,5;res));
@Set("res";@If(@IsMember("31.12.2003";r4)=@True & Weekday(@TextToTime("31.12.2003"))!=1 & Weekday(@TextToTime("31.12.2003"))!=7;res-0,5;res));
REM "Resultat ausgeben";
res
Die beiden Zeilen korrigieren den Inhalt der Variable res, sofern die beiden Tage in dem gewählten Zeitbereich liegen und kein Sonn- oder Samstag sind.
Sollte egtl. so funktionieren.
Gruss,
LD
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln