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

60 lines
3.9 KiB
Markdown

# 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.