# Tipurile de document din facturare (`VANZARI.TIP`) si seturile de contare (`ID_SET`) Referinta pentru toata suita ROA: `PACK_FACTURARE` e in `COMUN`, iar `VANZARI.TIP` e citit de view-urile `FACT_VFACTURI` / `FACT_VFACTURI2`, de gridul principal de listare si de retiparire. **Surse** (nu presupuneri): - perechile `(lnIdSet, tnTip)` — comentariul din antetul `PACK_FACTURARE` (`:80-125` in exportul `all_source`), singurul loc care le documenteaza impreuna; - eticheta afisata — `CASE a.tip` din coloana `EXPLICATIE` a celor doua view-uri, citit din sursa live de pe `MARIUSM_AUTO` (06.08.2026); - restul — cod, marcat ca atare. `ID_SET` e setul de formule contabile (`XSETS.ID_SET`, ajunge in `ACT.ID_SET`), pus in variabila de pachet `pack_facturare.nid_set` din `initializeaza_date_factura` (`:1864`). **Regula generala: setul "cu scadere din gestiune" e cel de baza + 10.** ## Facturi | `ID_SET` | cu scadere | `TIP` | Document | `EXPLICATIE` afisat | |---|---|---|---|---| | 25000 | 25010 | 1 | pe baza de lista de preturi | `POLITICA PRETURI` | | 25001 | 25011 | 2 | pe baza de contracte | `CONTRACT` | | 25002 | 25012 | 3 | pe baza de comenzi | `COMANDA` | | 25003 | 25013 | 4 | pe baza de avize | `FACT. DIN AVIZ` | | 25004 | 25014 | 5 | lista de preturi in valuta | `POLITICA PRETURI - INVOICE` | | 25005 | 25015 | 6 | contract in valuta | `CONTRACT - VALUTA` | | 25006 | — | 7 | credit note | `CREDIT NOTE` | | 25007 | 25017 | 8 | retur factura in lei | `RETUR FACTURA IN LEI` | | 25008 | 25018 | 9 | retur factura in valuta | `RETUR INVOICE` | | 25009 | 25019 | 10 | factura fiscala in valuta | `POLITICA PRETURI - FACTURA VALUTA` | | 25042 | 25052 | 43 | bon fiscal (ROARETAIL, colectate de la magazine) | `BONURI FISCALE MAGAZINE` | | 25043 | — | 44 | factura hotel | `HOTEL` | | 25044 | 25054 | 45 | factura restaurant | `RESTAURANT` | | 25045 | 25055 | **46** | **nota de plata restaurant** | **nicio ramura** | | 25047 | 25057 | 48 | factura marfa custodie **cu** descarcare K | `FACT. CUSTODIE CU DESCARCARE PE BAZA DE K` | | 25048 | 25058 | 49 | factura marfa custodie **fara** descarcare K | `FACT. CUSTODIE FARA DESCARCARE PE BAZA DE K` | | 25051 | 25061 | 52 | pe baza de contract, factura fiscala in valuta | `CONTRACT - FACTURA VALUTA` | | 50100 | 25060 | 51 | factura ROAACNPRO | `COMERCIAL-FACTURARE` | ## Avize de expeditie | `ID_SET` | cu scadere | `TIP` | Document | `EXPLICATIE` afisat | |---|---|---|---|---| | 25020 | 25030 | 21 | catre clienti, **din comanda** | `AVIZ PE BAZA DE COMANDA` | | 25021 | 25031 | 22 | catre clienti, din lista de preturi | `AVIZ DIN POLITICA DE PRETURI` | | 25022 | 25032 | 23 | transfer catre subunitati, din lista | `TRANSFER` | | 25023 | 25033 | 24 | aviz de retur | `AVIZ DE RETUR` | | 25024 | 25034 | 25 | transfer catre subunitati, **din comanda** | `TRANSFER PE BAZA DE COMANDA` | | 25025 | 25035 | 26 | catre clienti, din contract | `AVIZ PE BAZA DE CONTRACT` | | 25026 | 25036 | 27 | transfer catre subunitati, **pe baza de lucrare** | `TRANSFER PE BAZA DE LUCRARE` | | 25027 | 25037 | 28 | catre clienti debitori, **din comanda** | `CLIENTI DEBITORI - COMANDA` | | 25028 | 25038 | 29 | catre clienti debitori, din lista | `CLIENTI DEBITORI - POLITICA PRETURI` | | 25029 | 25039 | 30 | transfer catre subunitati, pe baza de NIR | `AVIZ PE BAZA DE NIR` | | 25040 | 25050 | 41 | retur transfer catre subunitati, lista de pret | `RETUR TRANSFER` | | 25041 | 25051 | 42 | catre clienti **custodie, din comanda** | `CLIENTI IN CUSTODIE - COMANDA` | | 25046 | 25056 | **47** | catre clienti **custodie, din comanda, pentru descarcare cu K** | `CLIENTI IN CUSTODIE - COMANDA (K)` | | 25049 | 25059 | 50 | *in lucru* — retur de la clienti custodie | nicio ramura | ## Tipuri negative Nu apar in comentariul din pachet; luate din `CASE`-ul `EXPLICATIE`. Vin din alte produse sau din fluxuri valorice. | `TIP` | `EXPLICATIE` afisat | Observatii | |---|---|---| | -1 | `MATERII PRIME SI MATERIALE` | | | -2 | `PRODUSE` | | | -3 | `MARFURI LA PRET DE ACHIZITIE` | | | -4 | `MARFURI LA PRET DE VANZARE` | | | -6 | `RETUR TRANSFER DIN GESTIUNE VALORICA` | ROAGEST; `ID_SET` 236/240/241/242 | | -7 | `AVIZ DE RETUR - VALORIC` | | | -8 | `FACTURA DE RETUR - VALORICA` | | | -9 | `PROTOCOL CU TVA - AVIZ EXPEDITIE` | | | -10 | `SPONSORIZARE - AVIZ EXPEDITIE` | | | -11 | `MARFURI LA PRET DE ACHIZITIE *` | | | -12 | `DEVIZE AUTO` | **ROAAUTO**, `factureaza_deviz` din `oproceduri_devize.prg` | | -13 | `RETUR MARFA IN CUSTODIE` | | ## Seturile de tipuri folosite in cod (unde conteaza incadrarea) | Set | Unde | Ce face | |---|---|---| | `{3, 21, 28, 42, 47}` | `initializeaza_date_factura` (`:1888-1894`) | populeaza `pack_facturare.nid_comanda` din `clistaid` | | `+ {27}` | `scrie_avize_lucrare:5859` | suprascrie `nid_comanda` prin cursor pe `COMENZI` legat de `ID_LUCRARE` | | `{3, 21, 27, 28, 42, 46}` | `ALTELE` in ambele view-uri | afiseaza **comanda** (`nr_comanda/data`) | | `{4, 24, 8, 9}` | `ALTELE` in ambele view-uri | afiseaza **avizul** | | `{23, 25, 27, 30, 41, -6}` | `CLIENT` in ambele view-uri | afiseaza gestiunea, nu partenerul | | `{23, 25, 27, 30, 41}` si `-6` | `scrie_in_vanzari` (disc `:13530-13540`) | `lnIdGestiune` explicit, nu `min()` din detalii | ## Capcane confirmate 1. **`46` vs `47` in `ALTELE`.** Lista din view contine `46` (nota de plata restaurant, document care n-are comanda) si **nu contine** `47` (aviz custodie din comanda, care are). Pachetul populeaza `nid_comanda` pentru `47`, nu pentru `46`. `CASE`-ul `EXPLICATIE` din acelasi view are ramura pentru `47` si **nu** are pentru `46` — deci cele doua `CASE`-uri din acelasi view se contrazic pe aceste doua cifre. Decizia lui Marius (06.08.2026): **se adauga `47`, `46` ramane asa cum a fost scris.** 2. **Efect vizibil pe `46`, azi**: ramura fiind luata fara ca documentul sa aiba comanda, `f.nr_comanda || '/' || to_char(f.data_comanda, ...)` da un **`/`** singur in coloana "Altele", nu gol. Nu s-a observat pe date pentru ca niciun client verificat nu foloseste modulul de restaurant (0 documente `tip=46` si pe `MARIUSM_AUTO`, si pe `VENDING`). 3. **`ID_SET` 25051 apare de doua ori** in comentariul din pachet: ca set "cu scadere" pentru `tip=42` si ca set de baza pentru `tip=52`. Coliziune in documentatie, neverificata pe `XSETS` — de lamurit inainte de a te baza pe ea. 4. **`tip=51`**: comentariul spune "factura ROAACNPRO", eticheta afisata e `COMERCIAL-FACTURARE`. Acelasi lucru, doua denumiri; eticheta din view e cea confirmata de constantele VFP curente (`ofacturare_comun.vc2:3654,3657`). 5. **`tip=50`** e marcat "in lucru" in comentariu si n-are ramura de eticheta — de tratat ca neterminat, nu ca tip valid. 6. **Comentariul nu e cod.** E singura documentare a perechilor `(ID_SET, TIP)`, dar poate fi ramas in urma. Inainte de a te baza pe o linie din el pentru o modificare, confirm-o pe cod (`initializeaza_date_factura`, `CASE`-urile din view-uri) sau pe `XSETS`. ## Legaturi - `scripturi-migrare-db.md` — sursa de referinta pentru DDL e `MARIUSM_AUTO`, nu o schema de client. - `conventie_null_vfp.md` — `TIP_INCASARE` si celelalte coloane `0` vs `NULL` din view-uri.