Files
roaauto/docs/vederi-auto-comenzi.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

39 lines
2.6 KiB
Markdown

# Vederi Oracle: „Vizualizare comenzi" / „Facturi emise"
Căile de mai jos sunt relative la `D:\ROA\DATABASE\SCRIPTURI_CLAR\`.
## Lanțul
| view | definit în | compus din |
|---|---|---|
| `AUTO_COMENZI_VALIDATE` | `2024\07\ff_2024_07_03_01_AUTO.sql:181` | `DEV_ORDL a where a.sters = 0` (`:236`) + `SYN_UTILIZATORI` b/d + `NOM_LUCRARI` c |
| `AUTO_VORDL_FACTURI` | `2025\06\ff_2025_06_30_01_AUTO.sql:4` | `AUTO_VORDL_FACTURATE` + `MV_ORDL_SUME_ACT` |
| `AUTO_ISTORIC_COMENZI` | `2026\09\ff_2026_09_22_01_AUTO.sql:35` | `AUTO_COMENZI_VALIDATE a` + `AUTO_VORDL_FACTURI c` + `DEV_MASINICLIENTI` / `DEV_NOM_MASINI` / `DEV_NOM_MARCI` / `NOM_PARTENERI` / `DEV_NOM_ASIGURATORI` / `DEV_NOM_INSPECTORI` / `DEV_TIP_DEVIZ i` |
| `AUTO_FACTURI_EMISE` | `2026\09\ff_2026_09_22_01_AUTO.sql:100` | `AUTO_COMENZI_VALIDATE` + `AUTO_VORDL_FACTURATE` + `MV_ORDL_SUME_ACT` + `AUTO_VORDL_MAN` / `AUTO_VORDL_MAT` |
## Note
- `AUTO_COMENZI_VALIDATE`: `validat`, `dataoravalid`, `util_valid`, `dataorainchis`, `util_inchis`
sunt **calculate** față de `pack_sesiune.getluna()/getan()` — motivul capcanei din
`vfp_oracle_pack_sesiune.md`.
- `AUTO_VORDL_FACTURI`: alege coloanele RON vs ROL comparând `pack_sesiune.getan/getluna` cu
`get_anron/get_lunaron`; expune `facturat`, `dataact`, `nract`, `valfactmanopera`,
`valfactmateriale`, `valctva` (redenumite în `AUTO_ISTORIC_COMENZI` în `datafact`, `nrfact`,
`val_manopera_factura`, `val_materiale_factura`, `valctva_factura`).
- `AUTO_ISTORIC_COMENZI` primește `i.inch_validare` abia în `ff_2026_09_22_01_AUTO.sql` — cerut de
`gcCondLuna` (vezi `flux-gccondluna.md`).
- Coloane calculate per rând, prin subinterogări corelate (~16 buffer gets/rând):
`val_materiale_ach` / `val_materiale_vz` din `RUL` (`sters=0 and id_lucrare = a.id_lucrare`);
`ore_manopera` / `val_manopera` din `DEV_ORDL` + `DEV_OPER`.
- **Garda `id_lucrare > 0`** pe `RUL` e obligatorie (`AUTO_FACTURI_EMISE` o are): la AUTOMOTIVE
`RUL` are 215 269 rânduri cu `ID_LUCRARE = 0` (161 259 cu `STERS = 0`) — mișcările de stoc
obișnuite.
- Indexuri de care depind subinterogările: `IDX_RUL_001 (ID_LUCRARE, STERS)`,
`IDX_ORDL_00001 (DEV_ORDL.ID_LUCRARE)`, `IDX_OPER_01 (DEV_OPER.ID_ORDL)`.
- **Capcană de plan**: pe volum mic (`MARIUSM_AUTO`) optimizatorul de-corelează subinterogările și
face `TABLE ACCESS FULL` pe `RUL`; pe volum de producție le păstrează corelate și folosește
`IDX_RUL_001`. Nu trage concluzii de plan de pe dev.
- `AUTO_NORMARE_COMENZI` **nu se modifică** — e folosit în ~10 alte locuri.
- Linia paralelă de produs: `DEVIZE_NORMARE_COMENZI`, `DEVIZE_VALIDARE_COMENZI`, `DEVIZE_VORDL`,
cu același tipar.