# Schema Oracle - ROA (MARIUSM_AUTO) **Actualizat:** 2026-02-03 --- ## Tabele Principale ### ACT - Note Contabile ```sql ACT ( ID_ACT NUMBER PRIMARY KEY, LUNA NUMBER, AN NUMBER, COD NUMBER, -- Cod document unic DATAIREG DATE, -- Data înregistrare NRACT NUMBER, -- Număr act DATAACT DATE, -- Data act EXPLICATIA VARCHAR2(100), -- Descriere SCD VARCHAR2(10), -- Cont DEBIT ASCD VARCHAR2(20), -- Analitic debit SCC VARCHAR2(10), -- Cont CREDIT ASCC VARCHAR2(20), -- Analitic credit SUMA NUMBER, -- Sumă ID_FACTD NUMBER, -- Factură debit ID_FACTC NUMBER, -- Factură credit PERECHED NUMBER, PERECHEC NUMBER, SUMA_VAL NUMBER, -- Sumă valută CURS NUMBER, -- Curs valutar DATASCAD DATE, -- Data scadență ID_UTIL NUMBER, -- Utilizator creare DATAORA DATE, -- Data/ora creare ID_UTILS NUMBER, -- Utilizator modificare DATAORAS DATE, -- Data/ora modificare TVA_INCASARE NUMBER, -- Flag TVA la încasare SERIE_ACT VARCHAR2(10), -- Serie act ID_PART NUMBER, -- ID partener ID_CTR NUMBER, -- ID contract CONT VARCHAR2(10), ACONT VARCHAR2(20), ID_VALUTA NUMBER, ID_SUCURSALA NUMBER, ID_SET NUMBER, TIP_SAFT NUMBER ) ``` ### ACT_TEMP - Staging Note Contabile Aceeași structură ca ACT, folosită pentru inserare temporară înainte de transfer. ### RUL - Rulaje Gestiuni ```sql RUL ( ID_RUL NUMBER PRIMARY KEY, AN NUMBER, LUNA NUMBER, COD NUMBER, NNIR NUMBER, -- Număr NIR ID_ARTICOL NUMBER, ID_GESTIUNE NUMBER, PRET NUMBER, PRETV NUMBER, -- Preț vânzare TVA NUMBER, TVAV NUMBER, CANT NUMBER, -- Cantitate CANTE NUMBER, CONT VARCHAR2(10), ACONT VARCHAR2(20), ADAOS NUMBER, ID_LUCRARE NUMBER, ID_RESPONSABIL NUMBER, DATAACT DATE, PROCENT NUMBER, CURS NUMBER, PRETD NUMBER, ID_UTIL NUMBER, DATAORA DATE, ID_SECTIE NUMBER, PROC_TVA NUMBER, ID_FACT NUMBER, STERS NUMBER, ID_TIP_RULAJ NUMBER, -- 0=intrare/ieșire reală ID_SET NUMBER, ID_SUCURSALA NUMBER, NRACT NUMBER, SERIE_ACT VARCHAR2(10), ID_VALUTA NUMBER, LOT VARCHAR2(50), ADATA_EXPIRARE DATE, ... ) ``` ### NOM_TIP_RULAJ - Tipuri Rulaj ```sql (0, 'INTRARE/IESIRE REALA') (1, 'TRANSFER') (2, 'RULAJ CMP') (6, 'INVENTARIERE') ``` ### STOC - Stocuri ```sql STOC ( ID_STOC NUMBER PRIMARY KEY, AN NUMBER, LUNA NUMBER, ID_ARTICOL NUMBER, PRET NUMBER, PRETV NUMBER, TVA NUMBER, TVAV NUMBER, CANTS NUMBER, -- Cantitate sold CANT NUMBER, CANTE NUMBER, CONT VARCHAR2(10), ID_GESTIUNE NUMBER, ... ) ``` ### BAL - Balanță Verificare ```sql BAL ( ID_BAL NUMBER PRIMARY KEY, CONT VARCHAR2(10), PRECDEB1 NUMBER, -- Precedent debit (an) PRECCRED1 NUMBER, PRECDEB NUMBER, -- Precedent debit (lună) PRECCRED NUMBER, RULDEB NUMBER, -- Rulaj debit RULCRED NUMBER, -- Rulaj credit AN NUMBER, LUNA NUMBER, ID_SUCURSALA NUMBER ) ``` ### IREG_PARTENERI - Evidență Parteneri ```sql IREG_PARTENERI ( ID_IREG_PART NUMBER PRIMARY KEY, AN NUMBER, LUNA NUMBER, ID_PART NUMBER, CONT VARCHAR2(10), ACONT VARCHAR2(20), DEBIT NUMBER, CREDIT NUMBER, VALDEBIT NUMBER, VALCREDIT NUMBER, CURS NUMBER, ID_FDOC NUMBER, -- Tip document DATAACT DATE, DATAIREG DATE, DATASCAD DATE, NRACT NUMBER, ID_RESPONSABIL NUMBER, PRECDEB NUMBER, PRECCRED NUMBER, ... ) ``` ### ATAS_ATASAMENTE - Fișiere Atașate ```sql ATAS_ATASAMENTE ( ID_ATAS NUMBER PRIMARY KEY, NUME_FISIER VARCHAR2(200), FISIER BLOB, -- Conținut fișier ID_UTIL NUMBER, DATAORA DATE, STERS NUMBER, ID_UTILS NUMBER, DATAORAS DATE, DESCRIERE VARCHAR2(500), ID_LINK NUMBER, ID_TIP_ENT_PREL NUMBER ) ``` ### ATAS_REFERINTE - Legături Atașamente ```sql ATAS_REFERINTE ( ID_REFERINTA NUMBER PRIMARY KEY, ID_ATAS NUMBER, -- FK la ATAS_ATASAMENTE ID_ENTITATE NUMBER, -- ID din tabela referită ID_UTIL NUMBER, DATAORA DATE, STERS NUMBER, ID_UTILS NUMBER, DATAORAS DATE, ID_PROGRAM NUMBER, -- Identificator tabel/modul ORDINE NUMBER ) ``` ### NOM_FDOC - Nomenclator Tipuri Documente ```sql NOM_FDOC ( ID_FDOC NUMBER PRIMARY KEY, FEL_DOCUMENT VARCHAR2(50), STERS NUMBER, ID_MOD NUMBER, INACTIV NUMBER, TIP_DOC VARCHAR2(5), PAYMENTCODE VARCHAR2(10) ) -- Exemple: (1, 'ABONAMENT') (3, 'AVANSURI') (5, 'AVIZ EXP') (6, 'BILET') ... ``` --- ## Package-uri Oracle ### PACK_CONTAFIN (principal) **Proceduri principale:** - `INITIALIZEAZA_SCRIERE_ACT_RUL` - Inițializare sesiune - `SCRIE_IN_ACT` - Transfer ACT_TEMP → ACT - `SCRIE_IN_BALANTA` - Actualizare balanță - `SCRIE_IN_RUL` - Transfer RUL_TEMP → RUL - `SCRIE_IN_STOC` - Actualizare stoc - `SCRIE_IN_IREG_PARTENERI` - Actualizare evidență parteneri - `FINALIZEAZA_SCRIERE_ACT_RUL` - Finalizare (apelează toate cele de mai sus) ### PACK_FACTURARE (referință) **Exemple INSERT ACT_TEMP:** - Liniile 1000-1200 în package body - Model pentru structura datelor - NU pentru achiziții, dar util ca referință ### PACK_PARTENERI - Gestiune parteneri (furnizori, clienți) - Căutare/creare partener după CUI --- ## Conexiune Python ```python import oracledb conn = oracledb.connect( user="CONTAFIN_ORACLE", password="ROMFASTSOFT", dsn="10.0.20.121:1521/ROA" ) # Toate operațiile folosesc schema MARIUSM_AUTO cursor.execute("SELECT * FROM MARIUSM_AUTO.ACT WHERE ROWNUM <= 1") ``` --- *Schema documentată de Echo • 2026-02-03*