Das Problem hier ist, dass der Formatstring “%y”, der im Beispiel verwendet wird, keinen Bezug zur tatsächlich verwendeten Berechnungsart der Kalenderwoche hat. Wir werden das im kommenden Servicepack für Version 28 korrigieren - dann wird es möglich sein, dem Jahr noch eine Berechnungsmethode mitzugeben, so dass der Kontext dann klar (und richtig) ist. Für die im Beispiel verwendete Berechnungsmethode für die Woche sieht das dann so aus:
Das entscheidende ist dabei das :3 vor dem y, das muss mit dem vor der Kalenderwoche verwendeten Wert übereinstimmen.
Für einen Patch kann sich der Hersteller der Anwendung gerne bei uns melden.
Meine Formel war letzlich dazu:
if (ToString$(Woy(Date(PH.FROM))) = “52” OR ToString$(Woy(Date(PH.FROM)))=“53” AND Date$(Date(PH.FROM),‘%02m’)=‘01’,
Date$(Date(PH.FROM),‘%02d.%02m.%y’) + ’ KW ‘+ToString$(Woy(Date(PH.FROM))) + Date$(AddYears(Date(PH.FROM),-1),“/%y”) /* Abzug des “Jahres” /
,
if (ToString$(Woy(Date(PH.FROM))) = “1” AND Date$(Date(PH.FROM),‘%02m’) = ‘12’,
Date$(Date(PH.FROM),‘%02d.%02m.%y’) + ’ KW '+ToString$(Woy(Date(PH.FROM))) + Date$(AddYears(Date(PH.FROM),1),“/%y”) / Drauf des “Jahres” */
, Date$(Date(PH.FROM),’%02d.%02m.%y’) + ’ KW '+ToString$(Woy(Date(PH.FROM))) + Date$(Date(PH.FROM),“/%y”)))
Ich habe das dann für die verschiedenen Jahre mit Kalenderwoche.de | Welche Kalenderwoche ist heute? geprüft für verschiedene Jahre, weil wir im Deutschen ja andere KWs haben als in USA usw. Dann gibt es auch KWs mit 53 Wochen, …
Wie Sie im Screenshot sehen können, funktioniert das von Ihnen ja bei mir auch nicht.
Viel Erfolg bei Ihrem Fix für Version 28.
Ich hoffe, dass anderen Benutzern meine Vorarbeit was bringt, und bitte aber auch um Korrekturen hier, wenn ich für irgendein Jahr doch was vergessen habe.