Zámek je ve Factorify dvakrát. Jednou nad docházkou a jednou nad mzdami, každý jinde, s jinými tlačítky a jiným dosahem. Oprava uzavřeného měsíce je proto z poloviny o tom, zjistit, který z nich zrovna stojí v cestě. Druhá polovina je pořadí, protože odemknout se musí odshora dolů a zamknout zase odzdola nahoru.
Postup platí pro situaci, kdy měsíc už byl uzavřený a přesto se do něj musí zasáhnout. Typicky proto, že přišla neschopenka se zpožděním, že se našla chyba v záznamech docházky, nebo že se ukázalo špatně nastavené pravidlo, podle kterého se celý měsíc počítal.
Běžné uzavření měsíce, tedy potvrzení, kontrola a uzamčení v pořadí, popisuje Výkaz docházky. Tahle stránka řeší až cestu zpátky.
Zámek výkazu docházky drží na jednom zaměstnanci a jednom měsíci. Ovládají ho tlačítka Zamknout a Odemknout na detailu výkazu toho zaměstnance. Zavírá zásahy do docházky, nepřítomností, směn, přestávek, svátků a služebních cest. Při úplně prvním uzamčení v měsíci navíc vznikne zamrazená kopie nastavení a ta při odemčení zůstává.
Zámek mezd drží na jednom měsíci a jedné účetní jednotce, tedy na celé firmě naráz. Ovládají ho tlačítka Uzamknout a Odemknout v patičce agendy Mzdy, tedy v měsíčním seznamu výplatnic, ne ve výkazu docházky. Zavírá vytváření a generování výplatnic. Uzamčením se vygenerují účetní transakce a odemčením se zase smažou.
Pracují nezávisle. Uzamčené mzdy nebrání tomu, aby se sáhlo do docházky, a odemčená docházka neznamená, že půjde přepočítat mzda. Když se opravuje něco, co se do mzdy promítne, musí se odemknout obojí.
Zámek mezd je jediné místo tohoto postupu, které se týká mzdové účetní. Všechno ostatní dělá personalista.
Systém si u každého zaměstnance pamatuje poslední den jeho nejnovějšího uzamčeného měsíce a všechno do toho dne považuje za uzavřené. Nekontroluje se tedy, jestli je zamčený ten konkrétní měsíc, do kterého píšeme, ale jestli je jeho datum před tou hranicí.
U směn, přestávek, svátků a typů nepřítomností je to jinak a dosah je celofiremní. Tyhle agendy nejsou navázané na konkrétního člověka, takže berou hranici jako maximum přes všechny zaměstnance v systému. Jediný uzamčený výkaz jediného člověka tedy zavírá všem.
Než se začne odemykat, vyplatí se zjistit, jestli je to vůbec potřeba. Odemykání je krok s následky a u jedné z nejčastějších oprav se mu jde vyhnout.
| Co opravujeme | Co k tomu stačí |
|---|---|
| Nepřítomnost, typicky dodatečně doručená neschopenka | zapnout Povolit úpravu nepřítomností v uzavřeném výkazu, odemykat se nemusí |
| Záznam docházky, konečný interval, ruční úprava dne | odemknout výkaz toho zaměstnance |
| Převod přesčasu | odemknout výkaz toho zaměstnance |
| Služební cesta nebo její záznamy | odemknout výkaz toho zaměstnance |
| Směna, přestávka, svátek nebo typ nepřítomnosti | odemknout nejnovější zamčený výkaz v celé firmě, viz hranice |
| Pravidlo z Nastavení docházky, podle kterého se měsíc počítal | odemknout všechny zaměstnance toho měsíce a použít Aktualizovat nastavení docházky |
| Cokoli, co se má promítnout do už spočítané mzdy | odemknout navíc měsíc v agendě Mzdy |
Pole Povolit úpravu nepřítomností v uzavřeném výkazu v Nastavení docházky je zkratka právě pro tenhle případ. Se zapnutým polem projde v uzamčeném měsíci založení nepřítomnosti, změna jejího rozsahu i její zrušení.
Pole je plošné, platí všem zaměstnancům a všem měsícům najednou, a nezamrazuje se. Zabírá tedy hned, i na měsíce, které už svou zamrazenou kopii nastavení mají.
Než začneme řešit, proč nepřítomnost do uzamčeného měsíce nejde uložit, podíváme se nejdřív, jak je tohle pole nastavené. Se zapnutým polem zámek nepřítomnosti neblokuje vůbec a hlášku níže nikdo neuvidí.
Výjimka se týká jen nepřítomností samotných. Úprava Typu nepřítomnosti zůstává zablokovaná i se zapnutým polem, protože ta má vlastní kontrolu, která se na tohle pole neptá.
Pole necháváme zapnuté jen na dobu opravy a hned zase vypínáme. Proč to nemít zapnuté trvale, je na stránce Nastavení docházky.
S vypnutým polem se nepřítomnost do uzamčeného období uložit nedá a systém to hlásí větou Nepřítomnost, kterou se snažíte vytvořit, je v uzamčeném výkazu docházky! Hláška mluví o vytvoření, i když měníme už existující záznam, takže se podle ní nedá poznat, o co jde.
Nejčastější případ je prodloužení nepřítomnosti, typicky nemoci, která začala hluboko v uzavřeném období a má se protáhnout do dalšího měsíce. Tady záleží na tom, co přesně se v jednom uložení mění, protože podle toho se kontroluje jiné datum.
| Co se v uložení mění | Které datum se kontroluje proti zámku |
|---|---|
| jen Do, tedy Datum do, Čas do nebo Směna do | dřívější z nového a původního Data do |
| cokoli dalšího, tedy Stav, Typ nepřítomnosti, Člověk nebo kterékoli pole Od | dřívější z nového a původního Data od |
Prakticky z toho plyne postup, ve kterém opravdu záleží na pořadí.
Mezikrok neukládáme. Uložíme-li nejdřív samotnou změnu stavu na Žádost, kontroluje se podle tabulky výše Datum od, tedy začátek nepřítomnosti hluboko v uzamčeném období. Takové uložení neprojde, i kdyby jedno společné uložení prošlo.
Hranice zámku se vyhodnocuje až na serveru při uložení, takže po odemčení stačí ve formuláři znovu kliknout na Uložit. Stránku obnovovat ani změnu zadávat znovu není potřeba.
Pořadí je dané tím, že mzdy stojí na docházce. Odemyká se tedy shora, od mezd k výkazu, a zamyká zdola, od výkazu zpátky ke mzdám.
V agendě Mzdy otevřeme opravovaný měsíc. Je-li uzamčený, nenabízí patička Přidat novou mzdu ani Vygenerovat mzdy. Místo nich tam přibude Přeúčtovat a podle toho, jestli k měsíci existuje platební příkaz, buď dvojice Odemknout a Vytvořit platební příkaz, nebo samotné Smazat platební příkaz.

Opravu, která se do mzdy nemá promítnout, tímhle krokem nezdržujeme a jdeme rovnou na krok 3.
Tlačítko Odemknout se zobrazí jen tehdy, když k měsíci neexistuje platební příkaz. Když existuje, je místo něj v patičce Smazat platební příkaz a ten se musí smazat první.
Odemčením se smažou účetní transakce, které při uzamčení vznikly. Při opětovném uzamčení se vygenerují znovu.
Na detailu výkazu toho zaměstnance použijeme Odemknout. Tlačítko se přepíná se Zamknout podle stavu a obě varianty se provedou rovnou, bez potvrzovacího dialogu a bez hlášky. Hromadné Uzamknout záznamy v patičce měsíčního výkazu se proti tomu ptá dialogem.

Opravujeme-li směnu, přestávku, svátek nebo typ nepřítomnosti, nestačí odemknout člověka, kterého se oprava týká. Odemknout se musí ten nejnovější zamčený výkaz v celé firmě, viz hranice.
Hromadné odemčení v produktu není. Tlačítko Uzamknout záznamy v patičce měsíčního výkazu umí jenom zamykat. Odemyká se proto po jednom, na detailu každého zaměstnance zvlášť.
Teprve teď se dá zapsat. Výkaz se přepočítává při každém otevření, takže se změna projeví hned, jakmile se obrazovka načte znovu.
Mění-li se Nastavení docházky, samotné uložení nestačí. Měsíc si svoje hodnoty zamrazil při prvním uzamčení a drží se jich dál. Kopii obnoví jedině tlačítko Aktualizovat nastavení docházky v patičce měsíčního výkazu. To se v patičce ukáže jen tehdy, když v měsíci není uzamčený nikdo a měsíc zároveň už svoji zamrazenou kopii má.
Druhá podmínka znamená, že u měsíce, ve kterém ještě nikdy nikdo zamčený nebyl, tlačítko chybí taky. Není to závada, takový měsíc si nemá co obnovovat a čte nastavení vždy aktuální.
Kopie se nepřepíše tím, že výkaz odemkneme a zase zamkneme. Vzniká jen při úplně prvním uzamčení v měsíci, takže oprava jednoho člověka nezmění výpočet ostatním.
Výkaz zamkneme tlačítkem Zamknout na detailu, nebo hromadně Uzamknout záznamy v patičce měsíčního výkazu, které zamkne všechny právě odfiltrované a dosud nezamčené zaměstnance.
Bylo-li zapnuté Povolit úpravu nepřítomností v uzavřeném výkazu, vypneme ho.
Opravená docházka se do už spočítané výplatnice sama nepromítne. Mzda se musí přepočítat, teprve potom se měsíc mezd zamkne zpátky a tím se znovu vygenerují účetní transakce.
Je-li měsíc mezd uzamčený a mění se jen účtování, je na to v patičce Přeúčtovat, které transakce smaže a vytvoří znovu bez odemykání.
Zámek nedrží všude stejně pevně a ve třech případech se dá uzamčeným měsícem hnout, aniž se cokoli ohlásí. Sem se dívejme, když se uzavřený měsíc změnil a nikdo neví proč.
U typu nepřítomnosti se navíc nekontroluje opravovaný měsíc, ale nejstarší schválená nepřítomnost toho typu v celém systému. Jediný starý záznam tak umí zamknout typ nepřítomnosti natrvalo.
| Problém | Proč se děje | Co s tím |
|---|---|---|
| Nepřítomnost nejde zapsat ani do měsíce, který zamčený není | hranice zámku sahá k poslednímu dni nejnovějšího zamčeného měsíce | odemkneme ten nejnovější, viz hranice |
| Hláška o uzamčeném výkazu se objeví u směny nebo svátku, přestože opravovaný člověk zamčený není | číselníky se řídí zámkem kohokoli ve firmě | najdeme nejnovější zamčený výkaz v celé firmě, viz hranice |
| Neschopenku je potřeba zapsat do uzavřeného měsíce | zámek nepřítomnosti standardně blokuje | zapneme Povolit úpravu nepřítomností, viz výjimka |
| Se zapnutým polem Povolit úpravu nepřítomností pořád nejde upravit typ nepřítomnosti | výjimka se týká jen nepřítomností, ne jejich typů | odemkneme výkaz, viz krok 3 |
| Tlačítko Odemknout v agendě Mzdy chybí | k měsíci existuje platební příkaz | smažeme ho, viz krok 2 |
| Tlačítko Aktualizovat nastavení docházky není vidět | v měsíci je uzamčený aspoň jeden zaměstnanec, nebo měsíc svoji zamrazenou kopii ještě nemá | odemkneme všechny, viz krok 4 |
| Změna v Nastavení docházky se v opravovaném měsíci neprojevila | měsíc má vlastní zamrazenou kopii | použijeme Aktualizovat nastavení docházky, viz krok 4 |
| Odemknout je potřeba celý měsíc a trvá to | hromadné odemčení v produktu není | odemykáme po jednom, viz krok 3 |
| Uzavřený měsíc se změnil a nikdo do něj nesáhl | některé změny zámkem projdou bez hlášky | hledáme mezi třemi výjimkami, viz změny, které projdou |
| Oprava je ve výkazu, ale ve mzdě ne | opravená docházka se do spočítané výplatnice sama nepromítne | přepočítáme mzdu, viz krok 6 |
| Měsíc mezd nejde uzamknout | některá aktivní smlouva nemá spočítanou mzdu, některá výplatnice je ve stavu Nezpracováno nebo Chyba, nebo některá smlouva nemá platnou zdravotní pojišťovnu | doplníme chybějící a zkusíme znovu |