Számla törlése — csoportosítás, tiltó okok, jogok
A végleges és a státusz alapú törlés végpontjai, a bizonylat-csoportok, a tiltó okok, az árva dokumentumok kezelése és a jogkulcsok.
A számla modul kétféle törlést ad: fizikai törlést (delete) és kukába helyezést (status = 9). Mindkettő ugyanazzal a csoportosító és tiltó logikával dolgozik.
Bizonylat-csoportok
A kijelölt számlák csoportokba rendeződnek: a számla és a ráépülő kamat- és költségátalány-bizonylatai (getDependentInvoiceIds). Ha a csoport bármely tagja nem törölhető, a csoport egyik tagja sem törlődik.
Végleges törlés (finance/invoice.delete)
- Jog: 1 elemnél
canAction(delete), több elemnélcanBulkAction(delete)(→bulkdelete); csak hatókörön belüli számla (invoiceInScope). - Tiltó okok (
invoiceDeleteBlocker): pénzügyi teljesítés (transaction::getSettledInvoiceIds), sorszámozott számla, könyvelési tétel (entry), státusz > 2. deleteInvoice(): fej, tételek, NAV-vezérlő sor, dokumentum-linkek, könyvelési dátum, napló; az OTP-kelfo import-fájl státusza 0-ra áll.- Árva dokumentumok a
invoice_doc_deletebeállítás szerint:ask(a válaszorphan_docslistát ad),delete(Dlbtdocstore::purgeDocument()),keep; csakdocument/document::deletejoggal. - Válasz: sikeres és sikertelen darabszám, okokkal.
Kukába helyezés (statusdisable) és visszaállítás (statusenable)
A csoportosítás ugyanaz; tiltó ok a pénzügyi teljesítés és a sorszámozott számla. Ha nincs tiltó ok: updateInvoiceStatus(id, 9). Visszaállításkor a státusz 2-re áll.
statusdisable az edit jogot kéri és canBulk(statusdelete, db)-t; ez egy elemnél mindig igaz, ezért egyetlen számla kukázásához a kódban elég az edit jog, a statusdelete nem kell. A statusenable csak edit jogot és hatókört néz.Érintett táblák
A táblanevek a telepítés saját előtagjával állnak az adatbázisban: invoice, invoice_item, invoice_ctrl, doc, doc_link; modellek: finance/transaction, finance/entry, files/otpkelfo, document/document.
Jogkulcsok
| Kulcs | Besorolás | Hatás |
|---|---|---|
delete | BASE | végleges törlés egy elemre (sor-menü, radír ikon) |
bulkdelete | BASE | végleges törlés 2+ elemre (fejléc kuka) |
statusdelete | BASE | kukába helyezés (gyakorlatban több elemnél kérdezi) |
bulkstatusdelete | BASE | csoportos kukába helyezés |
A törölt sorokat a lista csak canSeeDeleted() (super admin vagy delete jog) mellett adja vissza.