Zobrazení číslování týdnů v kalendáři v Lotus Notes asi mnoho lidí nepoužívá. Tím více jsem byl překvapen když jsem dostal požadavek na opravu číslování týdnů.
Zapnul jsem si tedy zobrazení zobrazení týdnů ve svém kalendáři a zjistil jsem že mám stejný problém a to bez ohledu na to, zda používám poštovní schránku na serveru nebo její lokální repliku.
Kouknul jsem tedy do nastavení Lotus Notes klienta (File – Preferences – Calendar and To Do – Regional Settings) a zjistil jsem, že číslování týdnů je nastaveno na hodnotu “Use my operating system regional setting” což je defaultní nastavení a předpokládal jsem, že číslování by mělo fungovat správně. Bohužel nefunguje a tak jsem hledal dál.
Který týden v roce je vlastně první?
Na základě selského rozumu jsem předpokládal, že první týden v roce je ten, kdy je 1.1. Jak jsem ale zjistil, ne vše se řídí selským rozumem, ten platil do roku 1994. Od roku 1995 je první týden v roce ten, který obsahuje první čtvrtek a aby to nebylo tak jednoduché tak ne ve všech státech toto pravidlo platí.
Problematika číslování týdnu je pěkně popsaná na Wikipedii v článku Týden.
Kde je problém?
Podle toho co je výše uvedeno bych chápal, že počítání týdnů v Lotus Notes bude fungovat správně, protože nastavení ve Windows pro “Oblast a jazyk” mám správně a v Lotus Notes mám nastaveno, že číslo se má počítat podle nastavení operačního systému.
Začal jsem hledat kde je možné v operačním systému ovlivnit jak se týdny počítají. Na webu Microsoft Technetu jsem našel článek, kde je uvedeno, že číslování týdnů je možné ovlivnit prostřednictvím hodnoty iFirstWeekOfYear ve větvi HKCU\Control Panel\International. Nevím proč, ale i v českém prostředí je nastaveno hodnota na 0 (nula). Já bych tam čekal 2.
Provedl jsem tedy změnu v registru podle článku, restartoval počítač spustil Lotus Notes, kouknul do kalendáře a žádná změna.
Tak další hledání. V IBM diskusi k Lotus Notes 8 jsem našel, že je potřeba v Lotus Notes nastavit hodnotu počítání týdnů na “Always use the ISO standard”. Provedl jsem tedy změnu a po zavření a opětovném otevření kalendáře jsou čísla týdnů správně.
Možnosti nastavení
Uživatelské nastavení
Uživatelská možnost vyplívá z toho co jsem si popsali výše, ale uveďme ji zde pěkně přehledně
- Spustit Lotus Notes klienta
- Soubor – Předvolby
- V levém sloupci vybrat možnost Kalendář a úkoly – Místní nastavení
- V čísti Čísla týdnů nastavit hodnotu “Vždy používat standard ISO”
- Kliknout OK
- Vypnout a zapnout kalendář
Administrátorské nastavení
Druhá možnost kterou ocení administrátoři je založena na tom, že výše uvedené ruční nastavení modifikuje parametr v NOTES.INI klienta Lotus Notes. Konkrétně se jedná o parametr FooterWeekNo. Tento parametr může mít následující hodnoty:
0 – Custom Week Numbers
1 – Always use the OS standard (default hodnota)
2 – Always use the ISO standard
Za předpokladu, že používáte policies, tak nyní již stačí nastavit Desktop Settings tak, aby na klientovi byl v NOTES.INI nastaven parametr FooterWeekNo=2.
- Spusťte Lotus Domino Administratora
- Přepněte se na požadovaný server
- Na záložce People & Groups vyberte položku Settings
- Vyberte a editujte odpovídající dokument Desktop Settings
- Přejděte na záložku Custom Settings – Notes.ini
- Klikněte na Edit list… a přidejte parametr FooterWeekNo=2
- Dokument Desktop Settings uložte a zavřete
- V okamžiku načtení nových hodnot z Desktop Settings na klienta se změní v NOTES.INI parametr a číslování týdnů začne být správné.
MS Excel
Jen tak pro zajímavost jsem si zkusil do excelu napsat vzoreček, který by měl vrátit číslo týden v daném roce a i zde je problém s číslováním a to dokonce i v případě, že ve Windows nastavím parametr iFirstWeekOfYear na hodnotu 2.
Microsoft to ale vyřešil upozorněním v nápovědě k funkci WEEKNUM, kde je uvedeno:
Funkce WEEKNUM považuje za první týden v roce týden, do kterého spadá datum 1. ledna. Evropská norma však první týden definuje jako týden, do kterého spadá většina dnů (čtyři nebo více) v novém roce. U roků, ve kterých do prvního lednového týdne spadají tři dny nebo méně, tedy funkce WEEKNUM vrátí čísla týdnů, která jsou podle této evropské normy nesprávná.
Závěr
Osobně bych od našich systémů očekával více inteligence.
- Pokud mám prostředí Windows nastaveno na Česká republika, tak bych očekával že v registrech bude u parametru iFirstWeekOfYear správná hodnota
- Pokud u parametru iFirstWeekOfYear nastavím správnou hodnotu, tak bych očekával, že při nastavení hodnoty “Use my operating system regional setting” v Lotus Notes bude číslování týdnů správně
- Pokud to je potřeba v Lotus Notes měnit, tak bych v Desktop Setting na záložce Preferences – Regional Settings čekal v sekci Calendar Settings položku pro toto nastavení.