Files
roaauto/docs/flux-vizualizare-comenzi.md
Marius Mutu 50ba686ab2 sync SVN r18198
Sters codul mort frm_istoric_comenzi si vizualizare_ist_comenzi (inlocuite de frm_viz_comenzi(tlIstoric)); changelog 2.5.6 detaliat; doc flux-vizualizare-comenzi cu linii reverificate; sterse docs temporare.

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

3.9 KiB

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

Lanț

  • Programe/oproceduri_vizualizare.prg:616 Procedure vizualizare_comenzi Lparameters tlIstoric (:617) — o singura procedura pentru ambele tile-uri, nu doua separate. pcschema/pcselect (:623-632) 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 (:639).
  • Capcană: pcfiltru = [1=2] (:637) — cursorul crscomenzi se deschide gol; gridul se populează abia la căutarea din formular. Neschimbat fata de forma veche.
  • gencursor('pocomenzi','crscomenzi',...) (:641) → pocomenzi.ca_baza1.afisare() (:642) → Createobject('frm_viz_comenzi', m.tlIstoric) (:644) → .Show(1) (:645).
  • 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:13110 (DEFINE CLASS frm_viz_comenzi). Proprietate lIstoric (*p: listoric, :13196), primita in Init(tlIstoric) — controleaza titlul (ISTORIC / VIZUALIZARE COMENZI) si filtrul de mai jos.
  • frm_viz_comenzi.do_cauta (Clase/oviz_devize.vc2:14272) — aici se bifurca cele doua moduri si se construieste filtrul real:
    • lcFiltru = Iif(Thisform.lIstoric, [2=2], gcCondLuna) (:14284) — istoricul vede tot, modul "luna curenta" ramane limitat la gcCondLuna;
      • filtrele bifate: ck_datai (:14286), ck_nrinmat (:14290), ck_nrord (:14294), ck_nume (:14298), ck_asigurator (:14302), ck_inspector (:14306), ck_nr_dosar (:14310), ck_series (:14314), ck_referinta (:14343) — 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 (:14318);
      • and a.validat = 0/1 după cbValidat (:14323-14327);
      • and a.inchis_fortat = 0/1 după cbArhivat (:14331-14335);
    • 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, :13628-13661): cAsigurator, cMarca, cMasina, cInspector, cNr_dosar, cArhivat (IIF(inchis_fortat=1,'Da','Nu')).
  • Cmd_sterge1/do_sterge exista in clasa (:13465, :14587) dar Visible = .F. (:13472) — butonul de stergere ramane ascuns, ca in fosta forma de istoric; activarea lui e o decizie separata, netratata de unificare.

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

combo implicit efect în do_cauta
cbArhivat "Active" (Clase/oviz_devize.vc2:14665) mereu and a.inchis_fortat = 0 (:14332)
cbValidat "<Toate>" (:14701) 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:16941) și nu folosește gcCondLuna (linia e comentată la :16946), ci extract(month from dataact)=gnLuna + extract(year from dataact)=gnAn (:16945) + checkbox-uri; actualizeaza_grid1 (:16983).
  • Formular: Clase/oviz_devize.vc2:16005 (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.