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
This commit is contained in:
43
docs/flux-gccondluna.md
Normal file
43
docs/flux-gccondluna.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# `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`.
|
||||
Reference in New Issue
Block a user