sync SVN r18031

This commit is contained in:
2026-08-20 23:14:52 +03:00
parent 43c5160399
commit 87063b06a8
3 changed files with 10 additions and 114 deletions

View File

@@ -3,33 +3,7 @@
ROAFACTURARE - 2.11.15
:nou:
In formularul editare note se pot edita si articolele din factura de vanzare.
Pe linia de articol se poate alege explicatia TVA. Lista propune doar explicatiile cu cota TVA a liniei, iar codul de taxa SAF-T se completeaza automat dupa explicatia aleasa.
Lista de facturi, butonul de modificare a explicatiei articolului: se poate alege acum si explicatia TVA. Lista propune doar explicatiile cu aceeasi cota de TVA ca linia facturii, iar codul de taxa SAF-T se completeaza automat dupa explicatia aleasa. Valorile facturii raman neschimbate - nu se recalculeaza cota si nici totalurile documentului.
:modificare:
Totalul notelor din bara de jos se actualizeaza imediat dupa modificarea sumei de pe randul de nota, nu doar la editarea articolelor.
Fereastra de sincronizare articole - rulaje: coloanele arata acum ce valoare se inlocuieste si de unde se preia cea noua, in loc de "vechi" si "nou" explicate separat.
Sincronizarea articole - rulaje porneste doar din butonul de pe pagina Articole. Nu mai apare automat la salvarea notei.
Sincronizarea articole - rulaje completeaza pe randul de rulaj si pretul fara TVA, si TVA-ul unitar - pana acum se actualizau doar cantitatea si pretul cu TVA.
Editare factura, pagina Articole: seria, lotul si explicatia se tasteaza direct in grid, iar articolul, gestiunea, valuta, explicatia TVA si codul de taxa SAF-T se aleg prin dublu clic pe celula. Culorile arata la ce foloseste fiecare coloana: alb - se tasteaza direct, verde - se alege dintr-o lista, gri - nu se poate edita.
Editare factura, pagina Articole: pretul si pretul cu TVA se afiseaza cu numarul de zecimale stabilit pentru preturile de vanzare, nu cu cel pentru preturile de achizitie.
Optiunea de meniu prin care se deschide editarea se numeste acum "Editare factura (note, rulaje, articole)".
:eroare:
S-a corectat o eroare la descarcarea articolelor importate din eFactura, care aveau pret de achizitie cu 4 zecimale.
La alegerea codului de TVA pe linia de articol, lista arata "Memo" in loc de denumirea codului.
Modificarile facute pe liniile deja salvate ale facturii - cod de TVA, gestiune, valuta, articol, pret de achizitie, discount - nu se salvau.
Facturi. Se pot edita articolele din facturile de vanzare in acelasi formular de editare note contabile si rulaje.
-->
<!--

View File

@@ -1,87 +0,0 @@
# Conventii - mediul Oracle de dev/test
Regula lui Marius, 20.08.2026. Se aplica **de fiecare data**, si sesiunii principale, si
subagentilor. Nu e context, e conventie de lucru.
## 1. Nu se spune "baza"
Termenul e vag si a produs deja o intrebare care n-ar fi trebuit sa existe: *"ce este baza? care
schema?"*. Se scrie intotdeauna **schema + instanta**, explicit:
> "se ruleaza pe schema `MARIUSM_AUTO` de pe `ROA_CENTRAL`"
nu "se ruleaza pe baza". Acelasi lucru in rapoarte, in handoff-uri, in propuneri si in mesaje.
## 2. Pe dev/test se lucreaza NUMAI cu ROA_CENTRAL
Instanta: **`ROA_CENTRAL`**. Schemele permise, singurele doua:
| Schema | Ce este |
|---|---|
| **`MARIUSM_AUTO`** | schema **de firma** - datele si pachetele de business (`VANZARI`, `VANZARI_DETALII`, `JTVA_COLOANE`, `PACK_FACTURARE`...). Aici se lucreaza pe functionalitate. |
| **`CONTAFIN_ORACLE`** | schema **comuna tuturor schemelor de firma**: pachete comune, actualizarea bazei de date, utilizatori, drepturi de utilizator, nomenclatorul de firme. Se creeaza **pe fiecare server**. |
Nimic altceva. Daca o sarcina pare sa ceara altceva, se intreaba intai.
Modelul de retinut: fiecare firma are schema ei (in dev/test, `MARIUSM_AUTO`), iar
`CONTAFIN_ORACLE` sta alaturi, o singura data per server, si deserveste toate schemele de firma.
Deci o modificare in `CONTAFIN_ORACLE` e **transversala peste toate firmele de pe acel server** -
se trateaza cu grija corespunzatoare, nu ca o schimbare locala.
## 3. Schema `ACN` nu se foloseste si nu se citeaza
Nu se interogheaza, nu se ia ca sursa de adevar, nu se pomeneste in rapoarte ca element de
comparatie. Daca apare in rezultatul unei interogari pe `ALL_OBJECTS`/`ALL_SOURCE`, se **filtreaza
din start**, nu se comenteaza.
Consecinta practica pentru interogarile de dictionar: se pune **intotdeauna** filtrul de `owner`.
Fara el, randurile mai multor scheme se intercaleaza si output-ul devine ilizibil - capcana deja
platita o data la citirea unui corp de pachet din `ALL_SOURCE`.
```sql
select text from all_source
where owner = 'MARIUSM_AUTO' -- niciodata fara aceasta linie
and name = 'PACK_FACTURARE'
and type = 'PACKAGE BODY'
order by line;
```
## 4. Conectare
```
& 'D:\ROA\instantclient_19_18\sqlplus.exe' -L -S 'MARIUSM_AUTO/ROMFASTSOFT@ROA_CENTRAL' '@fisier.sql'
```
Fisierul `.sql` se scrie in **ASCII**. SQL trimis prin pipe din PowerShell e spart de BOM.
## 5. Ce inseamna "se ruleaza un script de pachet"
Scripturile din `D:\ROA\DATABASE\SCRIPTURI_CLAR\` **nu modifica date** - inlocuiesc **cod stocat in
Oracle** (`CREATE OR REPLACE PACKAGE` + `PACKAGE BODY`). De retinut:
- Efectul e **imediat si pentru toti cei conectati**. Nu seamana cu VFP, unde fiecare statie ruleaza
propriul `.exe`.
- Se recreeaza si **specificatia**, nu doar corpul - asta invalideaza obiectele dependente, care se
recompileaza la prima folosire.
- **Nu exista "undo".** Revenirea inseamna rularea unei versiuni anterioare a pachetului.
- Scripturile sunt scrise **necalificat** (`CREATE OR REPLACE PACKAGE "PACK_FACTURARE"`, fara
`CONNECT`, fara prefix de schema). Deci **se aplica schemei cu care esti conectat**, nu au tinta
proprie. Schema tinta o decide exclusiv sirul de conectare.
- Rularea unui script pe orice schema **se face doar la cererea explicita a lui Marius**. Un agent
scrie scriptul; nu il aplica.
## 6. Stare constatata pe `ROA_CENTRAL`, 20.08.2026
Utila ca reper; de reconfirmat daca a trecut timp.
```
DB_NAME: ROA server: 4e73d257c791 alias TNS: ROA_CENTRAL
```
- `MARIUSM_AUTO` isi detine **propriile tabele** (`VANZARI_DETALII`, `JTVA_COLOANE` sunt TABLE in
schema, nu sinonime catre alta schema). Deci cifrele obtinute conectat ca `MARIUSM_AUTO` sunt ale
datelor din `MARIUSM_AUTO`.
- `CONTAFIN_ORACLE` are 393 de obiecte si **nu** detine `VANZARI_DETALII`/`JTVA_COLOANE` - coerent
cu rolul ei: infrastructura comuna (utilizatori, drepturi, firme, actualizare), nu date de firma.
- `MARIUSM_AUTO.PACK_FACTURARE`: PACKAGE si PACKAGE BODY **VALID**, corpul modificat ultima data
**20.08.2026 08:43** (aplicarea scriptului `ff_2026_08_20_01`, garda `FACT-025`).

View File

@@ -2414,3 +2414,12 @@ Atentie la o capcana de nume: `cercetare\s8_incarcare_document.md`, `s8b_rutarea
Total sters in aceasta curatenie: **65 de fisiere**. In `docs\` raman 10 fisiere plus
`docs\cercetare\` cu 63.
### Conventia mediului Oracle trece in COMUN - 20.08.2026
`docs\conventii_mediu_oracle.md` ajunsese in `docs\` din inertia rundei 6, desi continutul e
transversal (instanta `ROA_CENTRAL`, schema comuna `CONTAFIN_ORACLE`, interdictia pe `ACN`, sirul de
conectare, `SCRIPTURI_CLAR\`). Mutat in `COMUN\docs\conventie_mediu_oracle.md`, aliniat la seria
`conventie_*`, si indexat la punctul 7 din `reguli_lucru.md`. Sectiunea 6 (starea constatata pe
`PACK_FACTURARE`) e marcata reper istoric ROAFACTURARE; conventia propriu-zisa sunt punctele 1-5.
In `docs\` raman 9 fisiere.