Files
roaauto/docs/flux-gccondluna.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

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