Files
roaauto/docs/flux-vizualizare-comenzi.md
Marius Mutu 395e51e5bb sync SVN r18197
ROAAUTO 2.5.6: Vizualizare comenzi unificata cu Istoric comenzi (filtre si coloane noi), coloane manopera/materiale si total fara/cu TVA in vizualizare comenzi si facturi; versiune_db 2026_09_23_01.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cfkx1QfeDv987o8x1rAtrr
2026-09-23 22:13:59 +03:00

4.2 KiB

Flux: ecranul „Vizualizare comenzi" (unificat: luna curenta + istoric)

Lanț

  • Programe/oproceduri_vizualizare.prg:651 Procedure vizualizare_comenzi Lparameters tlIstoric (:652) — o singura procedura pentru ambele tile-uri, nu doua separate. pcschema/pcselect (:658-667) pe auto_istoric_comenzi a, cu +6 campuri fata de forma veche: asigurator, marca, masina, inspector, nr_dosar, inchis_fortat. pcorder = a.datai,a.nrord (:674).
  • Capcană: pcfiltru = [1=2] (:672) — cursorul crscomenzi se deschide gol; gridul se populează abia la căutarea din formular. Neschimbat fata de forma veche.
  • gencursor('pocomenzi','crscomenzi',...) (:676) → pocomenzi.ca_baza1.afisare() (:677) → Createobject('frm_viz_comenzi', m.tlIstoric) (:679) → .Show(1) (:680).
  • Tile-uri (Clase/ofundal_dev.vc2): Page2.Cw4.do_actiune (:681) DO vizualizare_comenzi ... WITH .F. (nid_cw=5, luna curenta), Page2.Cw5.do_actiune (:685) WITH .T. (nid_cw=6, istoric). Drepturile pe cele doua tile-uri raman separate (nid_cw diferit).
  • Formular: Clase/oviz_devize.vc2:14503 (DEFINE CLASS frm_viz_comenzi). Proprietate lIstoric (*p: listoric, :14590), primita in Init(tlIstoric) — controleaza titlul (ISTORIC / VIZUALIZARE COMENZI) si filtrul de mai jos.
  • frm_viz_comenzi.do_cauta (Clase/oviz_devize.vc2:15667) — aici se bifurca cele doua moduri si se construieste filtrul real:
    • lcFiltru = Iif(Thisform.lIstoric, [2=2], gcCondLuna) (:15679) — istoricul vede tot, modul "luna curenta" ramane limitat la gcCondLuna;
      • filtrele bifate: ck_datai (:15681), ck_nrinmat (:15685), ck_nrord (:15689), ck_nume (:15693), ck_asigurator (:15697), ck_inspector (:15701), ck_nr_dosar (:15705), ck_series (:15709), ck_referinta (:15738) — ultimii 4 (asigurator, inspector, nr_dosar, referinta) sunt noi, nu existau in forma veche de "luna curenta";
      • and a.id_tip = ... dacă s-a ales un tip (:15713);
      • and a.validat = 0/1 după cbValidat (:15718-15722);
      • and a.inchis_fortat = 0/1 după cbArhivat (:15724-15729);
    • apoi Thisform.actualizeaza_grid1(lcFiltru).
  • actualizeaza_grid1 — pune pocomenzi.ca_baza1.cfiltru, reapelă afisare(), cu save_grid / restore_grid.
  • Coloane noi, adaugate la coada grid-ului (Column22-27, :15021-15054): cAsigurator, cMarca, cMasina, cInspector, cNr_dosar, cArhivat (IIF(inchis_fortat=1,'Da','Nu')).
  • Cmd_sterge1/do_sterge exista in clasa (:14858, :15982) dar Visible = .F. (:14865) — butonul de stergere ramane ascuns, ca in fosta forma de istoric; activarea lui e o decizie separata, netratata de unificare.

Capcană: forma unificata e deschisa de vizualizare_comenzi, nu de vizualizare_ist_comenzi

vizualizare_ist_comenzi (Programe/oproceduri_vizualizare.prg:445) si clasa frm_istoric_comenzi raman inca in cod dar nu mai sunt apelate din niciun tile — cautarea unei proceduri "de istoric" dupa nume duce la codul gresit. Cod mort, de sters.

Valorile implicite ale combo-urilor (contează la orice măsurătoare)

combo implicit efect în do_cauta
cbArhivat "Active" (Clase/oviz_devize.vc2:14453) mereu and a.inchis_fortat = 0 (:15726)
cbValidat "<Toate>" (:14471) nimic
cbtip_deviz "<Toate tipurile>" (:65, clasa ctip_deviz) nimic

Ecranul pereche „Vizualizare facturi"

  • Programe/oproceduri_vizualizare.prg:231 Procedure vizualizare_facturi — sursa auto_facturi_emise a (:247); pcFiltru = [1=2] (:253), deci din nou cursor gol.
  • Filtrul real e în frm_viz_facturi.do_cauta (Clase/oviz_devize.vc2:17795) și nu folosește gcCondLuna (linia e comentată la :17800), ci extract(month from dataact)=gnLuna + extract(year from dataact)=gnAn (:17799) + checkbox-uri; actualizeaza_grid1 (:17837).
  • Formular: Clase/oviz_devize.vc2:16936 (DEFINE CLASS frm_viz_facturi).

Editare de grid

  • Coloane noi doar la coadă — preferințele de grid (gridprefs.tmp din GridExtras) se aplică pozițional; o coloană inserată la mijloc mută toate preferințele salvate.