Zamčený záznam nelze měnit — změny jsou možné až po odemčení. Přes REST API se zamykání a odemykání provádí akcí v atributu action, a to jak nad jedním záznamem, tak dávkově nad skupinou záznamů.
Stavy zámku
Stav zámku je vidět ve vlastnosti zamekK. Ta je jen ke čtení — nastavuje ji výhradně příslušná akce.
Hodnota | Popis | Nastaví akce |
| Otevřeno |
|
| Prohlédnuto | žádná z akcí zamykání |
| Zamknuto mimo účetní |
|
| Zamknuto |
|
🚨 Vlastnost zamekK uvedená v importu se tiše ignoruje — import projde jako úspěšný, ale stav zámku se nezmění. Zámek vždy nastavujte akcí, nikdy importem vlastnosti.
Zamčení záznamu
K zamčení záznamu slouží akce lock:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana action="lock">
<id>1</id>
</faktura-vydana>
</winstrom>
Záznam skončí ve stavu zamek.zamceno. Opakované volání akce nad už zamčeným záznamem chybu nevyvolá.
Zamčení mimo účetní
Akce lock-for-ucetni nastaví záznam do stavu zamek.polozamceno, tedy Zamknuto mimo účetní:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana action="lock-for-ucetni">
<id>1</id>
</faktura-vydana>
</winstrom>
Odemčení záznamu
K odemčení záznamu slouží akce unlock. Vrátí záznam do stavu zamek.otevreno z obou zamčených stavů:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana action="unlock">
<id>1</id>
</faktura-vydana>
</winstrom>
Dávkové zamykání a odemykání
Akci lze vyvolat i nad skupinou záznamů. Místo elementu id se uvede atribut filter se filtrem:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana action="lock" filter="stavUhrK = 'stavUhr.uhrazeno' and typDokl = 'code:INTERNET'"></faktura-vydana>
</winstrom>
V návratových hodnotách je v updated počet zpracovaných záznamů a v results jejich ID. Filtr, který nic nenajde, vrací úspěch a updated rovné nule — skutečný počet zamčených dokladů proto vždy čtěte z updated.
⚠️ Než dávku spustíte, ověřte si stejný filtr obyčejným dotazem GET nad evidencí. Filtr s neexistující vlastností skončí chybou 400 a hlášením Vlastnost … neexistuje, ale filtr napsaný jinak, než jste zamýšleli, zamkne i doklady, které jste zamykat nechtěli.
Import s parametrem ?dry-run=true vstup jen zkontroluje a zámek nezmění, takže se dá použít k ověření dávky nasucho.
Evidence, ve kterých zamykání funguje
Akce lock, lock-for-ucetni a unlock jsou dostupné u dokladových evidencí:
Oblast | Evidence |
Faktury a ostatní pohledávky a závazky |
|
Obchodní doklady |
|
Peněžní a interní doklady |
|
Sklad |
|
Číselníky a další nedokladové evidence — například adresar, cenik, smlouva nebo zakazka — zamykat nelze. Pokus o to skončí chybou importXmlActionNotSupported a hlášením, které vypíše akce v dané evidenci povolené.
Chybové stavy
Kód chyby | Příčina |
| Import se pokusil změnit zamčený záznam. Platí pro oba zamčené stavy — nejdřív je nutné záznam odemknout. |
| Atribut |
Obě chyby vracejí 400 a celý import se neprovede.
ℹ️ Zamykat doklady může jen uživatel, který má právo Právo zamykat doklady a období (vlastnost pravoZamykat v evidenci uzivatel).
