Files
comun/skills/roa-domeniu-rutare/SKILL.md
2026-09-17 13:33:56 +03:00

57 lines
3.9 KiB
Markdown

---
name: roa-domeniu-rutare
description: Rutare rapida in domeniul ROA - unde gasesti un obiect sau un flux fara sa scanezi D:\ROA generic. Harta surselor: scripturile DB (D:\ROA\DATABASE\SCRIPTURI_CLAR\<an>\<luna>), pachetele Oracle (PACK_FACTURARE = facturare, PACK_PRETURI = politici pret/articole/note vanzari, PACK_CONTAFIN = contabilitate, PACK_SETURI = seturi de note), codul VFP (COMUN\programe, COMUN\clase), notele de cercetare (<PRODUS>\docs\cercetare), schema de referinta MARIUSM_AUTO@ROA_CENTRAL. Acopera si lantul notei contabile de vanzare (CRM_POLITICI_PRET_ART -> CRM_POLITICI_PRETURI -> CRM_NOTE_VANZARI -> NOTE_CONTABILE) si spatiul ID_SET (doua lucruri distincte: set de contare 25000+tip vs nota contabila NOTE_CONTABILE.ID_SET). Foloseste-l OBLIGATORIU cand investighezi facturare, articole, preturi, comenzi, politici de pret, note contabile, id_set, crm_note_vanzari, sau cand nu stii unde sta un obiect/coloana/pachet DB si ai fi tentat sa cauti generic in D:\ROA.
---
# Rutare in domeniul ROA: unde cauti, fara scanari generice
Cand nu stii unde sta un obiect sau ce flux atinge o zona, deschide mai intai harta de mai jos.
Nu cauta generic in `D:\ROA` - sursele sunt localizate.
## Harta surselor (mergi direct)
| Cauti | Mergi direct la |
|---|---|
| DDL / pachete / triggere / secvente Oracle | `D:\ROA\DATABASE\SCRIPTURI_CLAR\<an>\<luna>\*.sql` (SVN) |
| schema de referinta (dev) | `MARIUSM_AUTO@ROA_CENTRAL` -> `conventie_mediu_oracle.md` |
| productia unui client | tunel SSH -> `conexiuni-tunel-ssh-odbc.md` (skill `roa-oracle-production-access`) |
| pachet facturare (`scrie_nota`, `cursor_articol`, `cont_venit_articol_stoc`) | `PACK_FACTURARE` |
| politici pret / articole / note de vanzari (`gaseste_creeaza_nota_vanzare`, `salveaza_pret_nomenclator`, `sterge_nota_vanzare`) | `PACK_PRETURI` |
| contabilitate (`SCRiE_IN_ACT`, situatii, jurnale TVA) | `PACK_CONTAFIN` |
| seturi de note / copiere set | `PACK_SETURI` |
| actualizare versiune scripturi | `PACK_MIGRARE.UpdateVersiune` |
| cod VFP - proceduri / clase `.prg` | `<PRODUS>\COMUN\programe\*.prg` |
| cod VFP - formulare `.vcx`/`.vc2` | `<PRODUS>\COMUN\clase\*.vc2` -> skill `roa-vfp-text-edit` |
| cercetare incheiata pe un subiect | `<PRODUS>\docs\cercetare\*.md` |
| export sursa de pachet pentru grep | `COMUN\docs\*.pck` |
## Fluxurile de domeniu deja documentate (deschide-le, nu le recauta)
- `tipuri_documente_facturare.md` - `VANZARI.TIP` + seturile de contare `ID_SET` (25000 + tip).
- `flux-modificare-stergere-nota-jurnal.md` - PACK_CONTAFIN, ACT/RUL, modificare/stergere nota.
- `machete-note-xrequest-explicatii.md` - XREQUEST/XNOTE (ce campuri cere o operatie la introducere).
- `fluxul_svn_git.md` - SVN <-> git.
## Lantul notei contabile de vanzare
`CRM_POLITICI_PRET_ART.ID_NOTA -> CRM_POLITICI_PRETURI.ID_NOTA -> CRM_NOTE_VANZARI.ID_NOTA`;
liniile sablonului: `CRM_NOTE_VANZARI.ID_SET -> NOTE_CONTABILE.ID_SET` (SCD/ASCD/SCC/ASCC).
## Spatiul ID_SET - doua lucruri distincte (usor de confundat)
1. **Set de contare** `XSETS.ID_SET = ACT.ID_SET`, valoare `25000 + tip` - documentat in
`tipuri_documente_facturare.md`.
2. **Nota contabila** `NOTE_CONTABILE.ID_SET = CRM_NOTE_VANZARI.ID_SET` - liniile sablonului de nota.
Generatoare pentru (2): `SEQ_CRM_NOTE_ID_SET` (trigger pe CRM_NOTE_VANZARI) si `SEQ_XSETS`
(XSETS, valori >= 1000000), plus seturi predefinite (< 1000000, puse manual de programator).
Fix 2026-09-17 (`ff_2026_09_17_03_COMUN_ID_SET_UNIC.sql`): un singur generator `SEQ_XSETS`,
coloane `ID_SET` din `crm_note_vanzari`/`note_contabile` largite `NUMBER(6) -> NUMBER(10)`.
Capcana: `sterge_nota_vanzari` face `delete from note_contabile where id_set`; indexul pe
`NOTE_CONTABILE.ID_SET` e NONUNIQUE, deci o coliziune sterge silentios si randurile unui set
predefinit.
## Referinta (doar la nevoie)
- `COMUN\docs\conventie_mediu_oracle.md`, `conexiuni-tunel-ssh-odbc.md`, `scripturi-migrare-db.md`.