Zamknutý záznam nemožno meniť — zmeny sú možné až po odomknutí. Cez REST API sa zamykanie a odomykanie vykonáva akciou v atribúte action, a to ako nad jedným záznamom, tak dávkovo nad skupinou záznamov.
Stavy zámku
Stav zámku je vidieť vo vlastnosti zamekK. Tá je len na čítanie — nastavuje ju výhradne príslušná akcia.
Hodnota | Popis | Nastaví akcia |
| Otvorené |
|
| Prezreté | žiadna z akcií zamykania |
| Zamknuté mimo účtovné |
|
| Zamknuté |
|
🚨 Vlastnosť zamekK uvedená v importe sa ticho ignoruje — import prebehne ako úspešný, ale stav zámku sa nezmení. Zámok vždy nastavujte akciou, nikdy importom vlastnosti.
Zamknutie záznamu
Na zamknutie záznamu slúži akcia lock:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana action="lock">
<id>1</id>
</faktura-vydana>
</winstrom>
Záznam skončí v stave zamek.zamceno. Opakované volanie akcie nad už zamknutým záznamom chybu nevyvolá.
Zamknutie mimo účtovné
Akcia lock-for-ucetni nastaví záznam do stavu zamek.polozamceno, teda Zamknuté mimo účtovné:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana action="lock-for-ucetni">
<id>1</id>
</faktura-vydana>
</winstrom>
Odomknutie záznamu
Na odomknutie záznamu slúži akcia unlock. Vráti záznam do stavu zamek.otevreno z oboch zamknutých stavov:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana action="unlock">
<id>1</id>
</faktura-vydana>
</winstrom>
Dávkové zamykanie a odomykanie
Akciu možno vyvolať aj nad skupinou záznamov. Namiesto elementu id sa uvedie atribút filter s filtrom:
<?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 spracovaných záznamov a v results ich ID. Filter, ktorý nič nenájde, vracia úspech a updated rovné nule — skutočný počet zamknutých dokladov preto vždy čítajte z updated.
⚠️ Než dávku spustíte, overte si rovnaký filter obyčajným dotazom GET nad evidenciou. Filter s neexistujúcou vlastnosťou skončí chybou 400 a hlásením Vlastnosť … neexistuje, ale filter napísaný inak, než ste zamýšľali, zamkne aj doklady, ktoré ste zamknúť nechceli.
Import s parametrom ?dry-run=true vstup len skontroluje a zámok nezmení, takže sa dá použiť na overenie dávky nasucho.
Evidencie, v ktorých zamykanie funguje
Akcie lock, lock-for-ucetni a unlock sú dostupné pri dokladových evidenciách:
Oblasť | Evidencia |
Faktúry a ostatné pohľadávky a záväzky |
|
Obchodné doklady |
|
Peňažné a interné doklady |
|
Sklad |
|
Číselníky a ďalšie nedokladové evidencie — napríklad adresar, cenik, smlouva alebo zakazka — zamykať nemožno. Pokus o to skončí chybou importXmlActionNotSupported a hlásením, ktoré vypíše akcie v danej evidencii povolené.
Chybové stavy
Kód chyby | Príčina |
| Import sa pokúsil zmeniť zamknutý záznam. Platí pre oba zamknuté stavy — najprv je nutné záznam odomknúť. |
| Atribút |
Obe chyby vracajú 400 a celý import sa nevykoná.
ℹ️ Zamykať doklady môže len používateľ, ktorý má právo Právo zamykať doklady a obdobia (vlastnosť pravoZamykat v evidencii uzivatel).
