Re: KDP 2019.1 błąd "nieprawidłowo zainicjalizowane dni"
Z tego co słyszałem w centrum wiedzy sage'a jest jakiś skrypt naprawczy do tego problemu o którym piszecie, ale nie sprawdzałem o co chodzi i jak działa bo sam nie mam bazy z takim objawem. Ten problem na ile mi wiadomo polega na tym, że pracownicy mają przypięte 2 wzorce z identycznym priorytetem (np. pracownik etatowy - priorytet 1000, inny własny wzorzec - priorytet 1000). W poprzednich wersjach przed 2019.1 mogło to być tolerowane, teraz już nie. U kolegi zadziałało, jak wszedł w edycję tego drugiego wzorca, klikął prawym na kalendarz
edycja inicjalizacji, zmienił wyłącznie priorytet inicjalizacji na 1001 i zapisał. Teoretycznie to nie powinno być dopuszczalne (bo wzorzec dotyczył zamkniętych okresów), ale zadziałało. Sam tego nie robiłem bo nie miałem identycznego przypadku nigdzie.
Co do tabel z czasem pracy - trochę tego jest, na szczęście z priorytetem większość nie ma nic wspólnego
KD.INST_SCH_CZAS - kolumna kalendarz może być 0 (firma) albo id wzorca, albo id pracownika (jeśli przypisany z palca w kalendarzu); priorytet - tego szukamy
KD.SCH_CZAS - stąd brane są id schematów obiektów kalendarzowych wykorzystanych w poprzedniej tabeli
Najczęściej wygląda to tak, że:
- w KD.INST_SCH_CZAS jakiś czas pracy (np. tydzień 8:00-16:00 z wolną sobotą i niedzielą) przypisany jest do różnych wzorców pracowników, z jakimiś priorytetami
- w KD.KWP_ITEMS są przypisania wzorców do pracowników w przedziałach dat od-do, w szczególności prawie zawsze przypisany jest "pracownik etatowy" zawierający przypisanie do kalendarza z priorytetem 1000
następnie w kalendarzu pracownika, jeśli w danym dniu jest kilka różnych przypisani wzorców czasu pracy, to "wygrywa" zawsze priorytet z najwyższą wartością liczbową (czyli wszystkie zmieniające faktycznie czas pracy wzorce powinny mieć priorytet co najmniej 1001)
Inne raczej nieistotne w tym przypadku:
KD.GODZINY
KD.DEF_KALENDARZA
KD.RCP
KD.RCP_SUMM
KD.RODZAJE_DNI
KD.RODZAJE_PRACY
Czego byście nie znaleźli w tych tabelach najlepiej spróbować to później i tak poprawić od strony interface, w przeciwnym wypadku łatwo popsuć :)