Documente finalizate: instantanee înghețate
De ce un document final este o fotografie imuabilă, nu o fereastră spre date live: variabile rezolvate la generare, conținut blocat la finalizare.
Emiți un proces-verbal de recepție, o revizie tehnică sau o adeverință. Documentul iese cu datele clientului deja completate, îl semnezi, îl predai. Apoi, peste șase luni, cineva schimbă adresa firmei tale sau redenumește echipamentul la care s-a referit documentul. Întrebarea care contează este: ce se întâmplă cu documentul deja emis? Se actualizează singur? Ar trebui?
Răspunsul Proiect.ro este categoric: nu. Un document finalizat este un instantaneu înghețat, o fotografie a unui moment din timp, nu o fereastră care se uită mereu la datele curente. Acest articol explică de ce funcționează așa, care este diferența dintre o ciornă editabilă și un document înghețat, și de ce această alegere îți dă pe gratis exact comportamentul de care au nevoie actele oficiale.
Cele trei piese: șablon, ciornă, document final
Înainte de orice, merită separate trei lucruri pe care e ușor să le confunzi, pentru că arată similar, dar joacă roluri complet diferite.
-
Șablonul este modelul reutilizabil pe care îl scrii o
singură dată. Conține textul fix și niște locuri marcate (de
forma
{{org_legal_cui}}sau{{asset_serial}}) acolo unde, la emitere, vor intra date pe care aplicația le are deja. Șablonul nu este un act; este rețeta din care produci acte. - Ciorna este documentul în lucru. În clipa în care generezi un document dintr-un șablon, locurile marcate se rezolvă: codul fiscal al clientului, seria echipamentului, data de azi - toate sunt căutate în datele tale și scrise efectiv în corpul documentului. Rezultatul este o ciornă pe care o poți edita liber în editor, ca să adaugi constatări, observații și text de mână.
- Documentul final este ciorna după ce ai apăsat Finalize. În acel moment primește un număr din seria lui și conținutul se blochează. Nu mai poate fi editat. Devine o înregistrare permanentă, pe care o poți doar citi, exporta în PDF sau, dacă chiar trebuie, șterge.
Distincția cheie este între ultimele două. O ciornă este vie și editabilă. Un document final este înghețat. Restul articolului explică de ce trasăm linia exact aici și ce câștigi din asta.
Variabilele se rezolvă la generare, nu se uită la date live
Aici stă întregul mecanism. Când generezi un document, locurile marcate din
șablon nu rămân niște referințe care se uită mereu la fișa clientului. Ele sunt
rezolvate o singură dată, la generare, iar valoarea găsită se scrie efectiv în
corpul documentului. Din clipa aceea, {{org_legal_cui}}
nu mai există în document - a fost înlocuit cu numărul propriu-zis, ca text
obișnuit.
Cu alte cuvinte, documentul este autonom din prima clipă. Nu mai depinde de nimic. Dacă mâine schimbi adresa de pe fișa clientului, documentul deja generat nu se clintește, fiindcă în el nu se mai află o legătură către acea fișă, ci doar adresa veche, scrisă negru pe alb. Acesta este sensul cuvântului instantaneu: documentul a fotografiat datele așa cum erau în momentul generării.
Ciornă față de final: două stări, o tranziție
Când seria sub care emiți are bifat Lock documents when finalized, documentul trăiește în exact două stări, iar trecerea dintr-una în alta se face o singură dată și nu are cale de întoarcere. Aceasta este configurația pe care o descrie articolul de față, fiindcă este cea care îți dă un act; caseta este însă nebifată implicit, iar ce se întâmplă altfel găsești mai jos, la Când nu vrei un instantaneu înghețat.
Ciornă (badge-ul Draft)
Documentul nu are încă număr. Poți edita titlul și corpul în editor cât vrei, folosind acțiunea Edit. Poți să îl ștergi fără urmări - o ciornă abandonată nu consumă niciun număr din serie. Este spațiul tău de lucru: aici completezi constatările și pregătești actul înainte să-l emiți.
Final (badge-ul Issued)
Documentul are un număr (de exemplu REVTECH-0001) și un
conținut blocat. Editorul dispare; rămân doar Export PDF
și, dacă e neapărat nevoie, Delete. Documentul este acum
o dovadă: ce scrie în el a fost stabilit definitiv în momentul finalizării.
Tranziția se face prin acțiunea Finalize. Înainte să se întâmple ceva, sistemul îți arată exact numărul pe care urmează să-l consume: Finalize this document as REVTECH-0001? This assigns the number and locks the document. Confirmi, iar din acel moment documentul este înghețat. Nu există buton de „deblocare" și nu poți reveni la starea de ciornă. Pașii concreți sunt în ghidul Cum finalizezi un document și îi aloci un număr de serie.
De ce înghețăm un document final
Întrebarea firească este: de ce să blocăm editarea? N-ar fi mai comod să poți mereu corecta o virgulă? Răspunsul ține de ce este, de fapt, un document oficial.
Un act emis este o promisiune despre un moment din trecut. Un proces-verbal de recepție spune „la data de X, echipamentul Y a fost predat în starea Z". Dacă ai putea rescrie acel text după ce documentul a fost numerotat și predat, promisiunea s-ar evapora: nimeni nu ar mai putea ști dacă ceea ce citește acum este ceea ce s-a constatat atunci sau o variantă retușată ulterior.
Un exemplu concret. Emiți o revizie tehnică REVTECH-0014 care
atestă „presiune măsurată: 6 bar, în parametri". Peste trei luni, un litigiu cu
clientul. Dacă documentul s-ar putea edita, cuvântul oricărei părți ar valora cât
cealaltă - poate cifra a fost 6, poate a fost schimbată ieri. Pentru că documentul
este înghețat din momentul finalizării, conținutul lui este o referință stabilă.
Ce scrie acolo a fost scris atunci, punct.
Vrei totuși să corectezi ceva după finalizare? Atunci nu editezi vechiul act - emiți unul nou, cu numărul lui, care îl corectează sau îl înlocuiește. Exact așa funcționează și pe hârtie: un act greșit nu se șterge cu radiera, ci se anulează printr-un alt act. Înghețarea împinge fluxul tău digital spre același obicei sănătos.
Ce câștigi pe gratis din instantaneul înghețat
Decizia „documentul este un instantaneu, nu o fereastră" pare austeră, dar din ea decurg trei avantaje care altfel ar fi cerut sisteme întregi în plus.
1. Nu ai nevoie de versiuni de șablon
Pentru că documentul își poartă propriul corp, înghețat, editarea șablonului din care a fost generat nu îl atinge în niciun fel. Poți rescrie șablonul „Revizie tehnică" mâine, fără teama că strici cele 200 de revizii deja emise din el. Fiecare document este complet și se interpretează singur, deci șabloanele nu trebuie să păstreze un istoric versionat al fiecărei forme prin care au trecut. (Formularele personalizate, prin contrast, au nevoie de versiuni, fiindcă răspunsurile lor nu au sens fără schema întrebărilor - vezi Cum funcționează versiunile formularelor.)
2. Legătura cu entitatea sursă poate fi slabă
Un document este ancorat de entitatea din care a pornit: o organizație, un echipament, o locație, un tichet de suport, o sarcină, o ofertă. Dar pentru că documentul nu mai depinde de acea entitate ca să-și afișeze conținutul, legătura poate fi una slabă - o referință de provenință, nu un cordon vital. Asta înseamnă că documentul supraviețuiește chiar și dacă ștergi echipamentul de care era atașat. Actul rămâne lizibil, întreg, în registru.
Un detaliu face ca acest lucru să funcționeze: la generare, documentul reține separat și clientul-parte (contrapartida), nu doar ancora. Așa, chiar dacă entitatea ancoră dispare, legătura cu clientul rămâne stabilă, iar registrul poate filtra în continuare documentele după client. Un document este o dovadă; ștergerea unui echipament nu trebuie să șteargă sau să blocheze dovada că a fost cândva inspectat.
3. Capeți semantica oficială „la momentul X" gratuit
Actele birocratice au nevoie de o proprietate aparent simplă, dar greu de garantat: un document trebuie să spună adevărul despre momentul în care a fost emis, indiferent ce se schimbă în lume după aceea. Pentru că înghețăm conținutul la finalizare și rezolvăm variabilele la generare, această proprietate vine din construcția sistemului, nu dintr-un efort separat. Numărul, data și conținutul sunt cuplate și neschimbate - un punct fix în timp pe care orice audit se poate baza.
De ce numărul vine abia la finalizare
Un amănunt din mecanism merită subliniat, pentru că întărește totul: într-o serie care blochează, numărul de serie se alocă numai când finalizezi, niciodată mai devreme. O ciornă nu are număr.
Motivul este practic. Dacă fiecare ciornă ar consuma un număr, fiecare document
abandonat ar lăsa un gol în serie, iar registrul tău ar fi plin de numere care nu
corespund niciunui act real. Alocând numărul abia la finalizare, serii precum
REVTECH sau PV rămân curate: fiecare număr emis corespunde
unui document care chiar a fost emis. Acesta este și modelul mental de pe hârtie -
iei un număr din registru în clipa în care chiar predai actul, nu când începi să-l
scrii. Cum funcționează seriile și de ce golurile rămân auditabile este explicat în
Cum
funcționează seriile de numerotare și golurile auditabile.
Când nu vrei un instantaneu înghețat
Tot ce ai citit până aici descrie o serie care are bifat Lock documents when finalized. Caseta este nebifată implicit, iar asta nu este un detaliu de configurare: este alegerea între două feluri de a lucra.
Într-o serie care nu blochează, nu mai există starea de ciornă. Documentul primește numărul chiar în clipa generării, intră în registru ca emis și rămâne editabil oricând. Numărul și seria sunt definitive, dar textul nu este: poți reveni peste o lună și schimba o frază.
Asta este exact ce vrei pentru un document de lucru pe care îl ții la zi, și exact ce nu vrei pentru un act pe care îl dai altcuiva. Un proces-verbal pe care clientul l-a semnat nu trebuie să se poată schimba după semnare, altfel nu mai dovedește nimic: cele trei avantaje de mai sus, independența de șablon, legătura slabă cu entitatea și semantica „la momentul X”, vin toate din faptul că textul nu se mai poate mișca.
Recapitulare
Principiul instantaneului înghețat este o singură decizie de proiectare cu efecte largi. Pe scurt:
- Un șablon este rețeta; o ciornă este documentul viu, editabil; un document final este numerotat, și înghețat dacă seria lui blochează.
- Variabilele se rezolvă la generare și se scriu în corpul documentului; documentul nu se mai uită niciodată la date live.
- Într-o serie care blochează, Finalize îngheață conținutul și alocă numărul; nu există cale de întoarcere și nu există editare după aceea.
- Din înghețare decurg, pe gratis: lipsa versiunilor de șablon, o ancoră care poate fi slabă (documentul supraviețuiește ștergerii entității), și semantica oficială „la momentul X".
- Numărul se consumă doar la finalizare, deci ciornele abandonate nu murdăresc registrul.
Alegerea este a ta, pe fiecare serie. Când bifezi Lock documents when finalized, documentele tale se comportă ca actele de hârtie pe care le înlocuiesc - odată emise, sunt o dovadă fixă - dar fără munca de a re-tasta datele pe care aplicația le avea deja.