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
44 lines
2.2 KiB
Markdown
44 lines
2.2 KiB
Markdown
# `gcCondLuna` — filtrul global „luna de lucru"
|
|
|
|
## Unde e definit
|
|
|
|
- `Programe/ovariabile_globale.prg:16` — `PUBLIC gcCondLuna` (`:1`), construită la pornire din
|
|
`gnLuna`/`gnAn`. Presupune aliasul `a` pe sursa interogată.
|
|
|
|
## Ce înseamnă (formularea de la `:16-18`)
|
|
|
|
Rândul intră dacă:
|
|
|
|
1. `a.datai` e în luna de lucru (`extract(month)+extract(year)*12 = gnLuna+gnAn*12`), **SAU**
|
|
2. `a.datai` e mai vechi **ȘI**:
|
|
- `a.inch_validare = 0` → `a.facturat = 0` sau facturat în luna de lucru (`a.datafact`);
|
|
- `a.inch_validare = 1` → `a.validat = 0` sau validat în luna de lucru (`a.dataoravalid`).
|
|
|
|
Deci **nu** e „luna calendaristică": târăște după ea coada de documente vechi încă neînchise.
|
|
|
|
- `inch_validare` vine din `DEV_TIP_DEVIZ` (per tip de document): 0 = se închide prin facturare,
|
|
1 = se închide prin validare.
|
|
|
|
## Consumatori (doar ecrane de vizualizare/validare)
|
|
|
|
- `Programe/oproceduri_vizualizare.prg` — `emitere_facturi:64`, `inchidere_regie:131`,
|
|
`inchidere_productie:198`, `vizualizare_manopera:528`, `validare_comenzi:620`, plus
|
|
`normare_salarii:394` (suprascris imediat cu `[1=2]` la `:397`, deci inert).
|
|
- `Programe/oproceduri_devize.prg` — `normare_comanda:236`, `export_comanda_xml:1633`.
|
|
- `Clase/odevize.vc2` — `do_cauta:1626`, `:5587`.
|
|
- `Clase/oviz_devize.vc2` — `do_cauta:1331`, `do_factureaza_avans:1581`, `do_factureaza_final:2318`,
|
|
`do_verifica_part:4486`, `do_cauta:7730`, `:8680`, `:14125`, `frm_viz_comenzi/do_cauta:15333`,
|
|
`:19074`.
|
|
- ~19 locuri reale.
|
|
|
|
## Capcane
|
|
|
|
- **Măsurare**: numărul de rânduri depinde de `validat`/`facturat`, coloane calculate de view-uri
|
|
după **luna de sesiune Oracle**. Fără `pack_sesiune.setluna/setan`, `validat` iese 0 peste tot și
|
|
filtrul întoarce istoricul. Măsurat AUTOMOTIVE 10/2025: 195 rânduri corect, 32 790 fără sesiune.
|
|
Vezi `vfp_oracle_pack_sesiune.md`.
|
|
- **Coloane cerute**: `gcCondLuna` referă `a.datai`, `a.inch_validare`, `a.facturat`, `a.datafact`,
|
|
`a.validat`, `a.dataoravalid`. Orice sursă nouă pusă sub `gcCondLuna` trebuie să expună toate
|
|
șase, altfel `ORA-00904` la căutare. `AUTO_ISTORIC_COMENZI` a primit `inch_validare` abia prin
|
|
`D:\ROA\DATABASE\SCRIPTURI_CLAR\2026\09\ff_2026_09_22_01_AUTO.sql`.
|