Commit Graph

109 Commits

Author SHA1 Message Date
f4d72122d3 merge origin/main: SVN r18018 e starea corecta
origin/main aducea 6de4899 "sync SVN r18016", o sincronizare mai veche decat
copia de lucru (r18018), care retrograda ofacturare_editare.prg. Continutul lui
04a7d05 (diagnoza spatiu) e deja in arbore, adus prin svn update si comis in
5637fc2. Arborele local ramane neschimbat.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013gYCNE26G1G7UoGu2ju7aS
2026-08-20 16:43:01 +03:00
5637fc2fa5 sync SVN r18017/r18018: diagnoza spatiu - autoextend si prag disc
Continut adus prin svn update din alta copie de lucru, identic cu 04a7d05 de
pe origin/main. Doua gauri prin care o baza blocata putea sa nu alerteze:
tablespace fara autoextend (maxbytes = 0 il scotea din verificare, acum
plafonul e GREATEST(maxbytes, bytes)) si disc plin sub datafile
autoextensibil (sectiunea DISC are prag propriu si ruleaza mereu, prima).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013gYCNE26G1G7UoGu2ju7aS
2026-08-20 16:42:49 +03:00
b9a14bcb9c #6 editare factura emisa: runda 6 - nomenclatoare, zecimale, aspect grid, meniu
Pagina Articole din frm_modific2024:
- DblClick pe cele cinci coloane cu nomenclator (articol, gestiune, taxcode,
  valuta, explicatie TVA). Explicatia TVA are ControlSource expresie, deci
  tastarea nu putea declansa niciodata InteractiveChange; DblClick se sprijina
  pe pccontrol si acopera uniform toate cele cinci.
- Pret si Pret cu TVA folosesc gnPPretV (precizie pret vanzare) in loc de
  gnPPret (precizie achizitie). Coloana de pret achizitie ramane pe gnPPret.
- Culori dupa conventia de pe pagina Rulaje: verde pe coloanele care se
  editeaza prin dialog, alb pe cele care se tasteaza direct.
- Serie, lot si explicatie devin editabile in celula. Garda .When ramane si
  blocheaza in continuare liniile din seturi si facturile din e-Factura.

frm_facturi: textul optiunii de editare factura din meniul contextual devine
"Editare factura (note, rulaje, articole)".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013gYCNE26G1G7UoGu2ju7aS
2026-08-20 16:28:02 +03:00
04a7d0565d diagnoza spatiu: alerta pe tablespace fara autoextend + prag propriu pe disc 2026-08-20 15:41:04 +03:00
6de489950c sync SVN r18016: editare articole in factura de vanzare, precizie pret achizitie
ROAFACTURARE 2.11.15 (r18015): programe/ofacturare_editare.prg, programe/ofacturare_stoc.prg.
docs: conventia de encoding .sc2/.vc2 corectata la cp1250; cercetarile trans-proiect mutate
din ROAFACTURARE in docs/cercetare (r18014); actualizari reguli_lucru, oracle_export,
flux-editare-vfp-text, scripturi-migrare-db, flux-modificare-stergere-nota-jurnal, todos.
.gitignore: watchdog_out si PNG-urile din rularile headless (r18008).
Text FoxBin2Prg regenerat: clase/comun.vc2, ferestre/frm_import_note_facturi_clienti.sc2,
ferestre/frm_initializare_facturi_balanta.sc2.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AV7dQbTLAqvrtQbH7zxXxw
2026-08-20 14:07:12 +03:00
09ddeabb1c docs: cercetarile trans-proiect din ROAFACTURARE trec in COMUN
Paisprezece rapoarte care nu erau ale ROAFACTURARE traiau in docs\cercetare\ al
acelui proiect: valuta si curs in ofacturare, TVA calculat vs salvat plus
denormalizarea VANZARI, inventarul consumatorilor VANZARI din toata suita ROA,
integrarile de contracte/politici/nomenclator (#10, #11, #12), watchdog-ul VFP
de testare, proiectarea Oracle a scrierii din S5 si view-ul VVANZARI_ARTICOLE.

Motivul mutarii, nu doar al pastrarii: planurile #10, #11 si #12 sunt amanate,
iar indexul lor spune explicit ca se reiau din aceste rapoarte - deci sunt punct
de plecare, nu istoric. Iar tinta lor e COMUN plus ROAPRETURI/ROACONTRACTE.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-11 22:31:53 +03:00
93a2718e6d #6 editare factura emisa: harnessul S8 de creare documente intra in versionare
Cele trei fisiere erau pe disc, netrackuite, iar ce se stia despre ele traia
intr-un handoff intre sesiuni. Handoff-ul a fost desfiintat: ce era durabil a
intrat in antetul harnessului - plaja de serii care chiar prinde (FACTURA cere
gnIdUtil=8 cu gnIdSucursala=167, AVIZ merge si cu -3), faptul ca alocarea
consuma numere ireversibil chiar cand documentul nu se scrie, ordinea gresita
de incarcare a lui mock_amessagebox care e suspectul principal pentru agatari,
si riscul de curs EUR ramas neconfirmat pe cursor_contract.

Harnessul nu a scris inca niciun document cu succes - antetul spune asta
explicit, ca sa nu fie luat drept unealta functionala.

test_init_env_auto_roafacturare.prg e generic si folosit deja de alte suite:
seteaza gcNumeProgram=[ROAFACTURARE], fara de care garzile proprii fluxului de
facturare nu se declanseaza.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-11 22:19:05 +03:00
40a112a42d #6 editare factura emisa: S4b etapa 2 - butonul, dialogul si tipul lui id_articol
Enumerarea diferentelor dintre rulaje si articole capata interfata: buton pe
pagina de articole, dialog cu grid si comutator de directie, plus verificarea la
salvare. Dialogul propune, nu decide - aplicarea ramane o apasare explicita.

- omodificari.vc2: cmdSincronizeazaArticole pe PAGE3, dezactivat odata cu restul
  paginii cand documentul e blocat in eFactura; frm_sincronizare_articole,
  derivata din frm_termin_renunt. Gridul e legat de propunere_afisata, cursor
  stabil creat in Load si doar golit si reumplut - propunere_sincronizare se
  recreeaza la fiecare apel, deci o legare directa s-ar rupe la prima comutare
  de directie.
- id_articol trece de la I la N(20), in toate cele 6 locuri scrise pentru acest
  punct. Restul codebase-ului foloseste dintotdeauna N(20): valorile reale trec
  de 2^31 pe 89.8% din NOM_ARTICOLE, iar un camp I le trunchia tacit, asa incat
  potrivirea pe id_articol cadea si iesea perechea Adaugare+Semnalare in locul
  unei Modificari. Nu e o schimbare de design, e revenire la conventia casei.
- doua accesari This. in loc de Thisform. in Click-ul butonului de adaugare
  articol: proprietatile sunt ale formularului, iar scurtcircuitul OR le
  evalua exact cand documentul avea articole - orice click real dadea eroare.
- teste: test_s4b_dialog (35/0) acopera instantierea, comutarea directiei si
  aplicarea la salvare; test_s4b_sincronizare (42/0) capata cazul id_articol
  3598545102, care ar fi picat inainte de schimbarea de tip.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-11 20:05:14 +03:00
d3268a69bc #6 editare factura emisa: S4b - comparatia rulaje/articole si aplicarea ei
Rulajele contabile si articolele facturii sunt doua reprezentari independente ale
aceluiasi document, editabile separat. Helperele noi construiesc enumerarea
diferentelor dintre ele si o pot aplica, la cererea utilizatorului.

- ConstruiestePropunereSincronizare: potrivire pe id_articol, singura cheie
  comuna - nu exista corespondent la nivel de linie intre rulaj si articol.
  Agregarea RUL foloseste pretul mediu ponderat cand un articol are mai multe
  randuri. Articolele nestocate, documentele in valuta si articolele cu mai
  multe randuri RUL active raman N-A, cu motiv afisat: propunerea ar fi o
  presupunere, nu un calcul.
- AplicaSincronizareArticole: scrie doar in tvd/trul, in memorie. Nu adauga
  randuri de rulaj (conturile nu se deduc din articol) si nu sterge linii in
  nicio directie - divergenta se semnaleaza, stergerea ramane manuala.
  Scrierea reala in Oracle ramane calea existenta, la salvare.
- test_s4b_sincronizare: headless, fara Oracle, pe cursoare construite in test.

Butonul, dialogul si verificarea la salvare vin separat.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-11 00:35:09 +03:00
a96b6a6eef #6 editare factura emisa: S9 - ramura de facturi in fluxul notei de jurnal
flux-modificare-stergere-nota-jurnal.md descria doar nota contabila. Documentul
capata ramura de facturi: cele doua puncte de intrare cu garzile lor, pasul nou
din tranzactia manuala, contractul ScrieArticoleFacturaEditate, recalculul din
Oracle si comportamentul gridului de articole.

Doua lucruri contraintuitive, scrise explicit: ID_FACT nu se schimba la reeditare
(COD se realiniaza), deci tot ce se leaga prin id_fact supravietuieste; si garda
de referinte lipseste intentionat pe editarea generica de note din Registrul
Jurnal - protejeaza incasarile la operatia care sterge efectiv factura.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-10 23:43:30 +03:00
2dfbef40dc #6 editare factura emisa: articolele nu se mai editeaza pe facturi trimise in eFactura
Cand documentul e deja trimis in eFactura, pagina de articole ramane vizibila,
dar needitabila: cantitate, pret, pret achizitie, flagul pret cu TVA, discountul
de antet, plus adaugarea si stergerea de linii. Alegerea e "vizibil, dar blocat",
nu "pagina ascunsa" - contabilul trebuie sa vada ce contine factura trimisa.

- omodificari.vc2: flag lArticoleReadOnly calculat in frm_modific2024.Show, impins
  peste .When-urile de celula, peste Enabled si peste garda din Click-ul butoanelor,
  si peste txtDiscountArt.ReadOnly. Eticheta lblArticoleReadOnly explica motivul.
- ofacturare_editare.prg: id_fact adus pe tvanz, in IncarcaVanzareNota si in
  CreeazaCursorTvanzGol. EsteInEFactura interogheaza anaf_efactura dupa id_fact,
  nu dupa id_vanzare - fara asta garda nu s-ar fi declansat niciodata pe date reale.
- teste: test_efactura_readonly (headless, garda in ambele sensuri),
  test_ui_efactura_readonly (formular vizibil - coloanele gridului nu se
  materializeaza sub -A -T), test_s7_rotunjire, si test_s8_matrice_surse pentru
  matricea S8 pe tipuri de sursa.

S8 rulat pe cate un document din fiecare tip de sursa (lista de preturi, contract,
aviz, factura din aviz), fiecare editat din ambele puncte de intrare: notele vechi
raman STERS=1, id_fact nu se schimba, totalurile si liniile raman coerente.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-10 23:27:26 +03:00
1c42ae0af4 #6 editare factura emisa: S5 - scrierea sumelor editate in Oracle
La salvarea unei facturi deja emise, modificarile facute liniilor de articole
se scriu acum real in VANZARI_DETALII, in aceeasi tranzactie cu restul salvarii,
si totalurile documentului se recalculeaza din liniile efectiv salvate.

- ofacturare_editare.prg: helper nou ScrieArticoleFacturaEditate. Idiomul e
  "marcheaza tot sters, invie ce ramane", nu delta, pentru ca
  actualizeaza_vanzari face UPDATE ... SET STERS = 0 pe tot documentul, fara
  garda; o scriere delta ar lasa liniile sterse sa reinvie la fiecare salvare.
  Cursor gol = no-op, ca o eroare la incarcare sa nu goleasca factura.
- comun.vc2, ofacturare_comun.vc2: agatarea apelului dupa
  finalizeaza_modificare_nota si inainte de inchiderea tranzactiei, in ambele
  puncte de intrare.
- omodificari.vc2: coloana Pret achizitie in grid, editabila doar pe liniile
  noi; liniile de set devin needitabile, cu marcaj; cinci validari la salvare.
- teste: cinci suite noi (validari, grid UI, scriere reala, discount/valuta,
  rollback, al doilea punct de intrare) si asteptari actualizate in
  test_page3_articole.
- docs: oracle_export.md - exportul all_source cere linesize 32767, altfel
  rupe liniile lungi prin mijlocul identificatorilor; scripturi-migrare-db.md -
  UpdateVersiune adauga singur extensia .sql.

Cere scripturile ff_2026_08_09_01 (PACK_FACTURARE) si ff_2026_08_09_02
(VVANZARI_ARTICOLE).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-10 01:37:12 +03:00
b9eba29ebe #6 editare factura emisa: S4 runda 3 completa (pagina de articole editabila)
frm_modific2024, pgfArticole.PAGE3 - editare in memorie, fara scriere in Oracle
(aceea ramane S5).

- sub-blocul A: cantitate/pret/pret_cu_tva editabile inline, marcaj lmodificat
  pe linie, coloana valoare pe linie
- sub-blocul B: stergere logica de linii (sters/DynamicForeColor gri) si adaugare
  de linii prin frm_articol_factura, cu alegerea articolului prin caut_articol()
- sub-blocul C: bara de totaluri sub grid (total linii convertit RON la cursul
  documentului, discount de antet editabil, total net), ascunsa pe
  transfer/custodie; verdict de corelatie ACT/RUL informativ, cu 3 stari
- suma ACT: sold net debit-credit, cont pe tip de document (4111 / 418 / 461,
  iar pe rate/contract 4111, 411 sau 461)
- suma RUL: doar ID_TIP_RULAJ = 0, adica miscarile reale; perechile
  ID_TIP_RULAJ = 3 sunt virtuale (tin locul procesului verbal de schimbare de
  pret) si nu intra in suma. Corectie cu liniile nestocate, marcata "ajustat"
- adaugarea de linii pe document in valuta: dialogul primeste tip_valuta si
  cursul documentului de pe tvanz, deci pretul se introduce direct in valuta;
  ofacturare.vc2 ramane neatins
- cei 5 apelanti frm_modific2024 (afisjurcom, anaf_efactura, cele doua .sc2 de
  import) pregatesc cursorul de articole inainte de Createobject, gardat pe
  SET PROCEDURE - registrul jurnal din ROACONT/ROAGEST ramane neschimbat

Teste headless pe MARIUSM_AUTO, suite care isi descopera singure documentele:
test_page3_articole 14/2 (cele 2 = artefact de grid nematerializat headless,
acoperit pe ecran), test_incarca_vanzare_din_nota 5/0,
test_adauga_linie_articol 20/0, test_adauga_linie_valuta 16/0,
test_ui_sterge_linie 8/0, test_verdict_act_rul 26/0.

docs/todos.txt: punctele 13 si 20, scrise de Marius.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-09 20:48:42 +03:00
13b4f65723 sync SVN r18004/r18007: #6 editare factura emisa - pagina de articole
ofacturare_editare.prg (nou): helpere comune - garda eFactura, cursoarele
notei si ale rulajelor, randul de vanzare corespunzator notei si liniile de
articole citite din view-ul VVANZARI_ARTICOLE.

omodificari.vc2 (frm_modific2024): pagina noua de articole ale facturii,
deocamdata doar afisare. Apare numai cand ofacturare_editare.prg e
inregistrat si documentul are rand in VANZARI; in ROACONT si ROAGEST, unde
fisierul nu e incarcat, pagina lipseste si registrul jurnal ramane neatins.
Randul de vanzare al notei se cauta pe toate tripletele distincte (nract,
serie_act, dataact) din nota, pentru ca primul rand poate fi o incasare.

ofacturare_comun.vc2 (frm_facturi): do_editare_factura si butonul aferent,
dupa modelul lui do_sterge, cu garzile de luna inchisa, luna curenta,
document sters, referinte si eFactura.

docs: comentariile se scriu strict necesar, si in cod si in scripturile de
migrare - fara referinte la planuri, stories, decizii sau erori, istoricul
doar in antetul fisierului. Plus regula zero (predarea contextului),
capcanele de la testarea headless si completari pe fluxul text -> binar.

utile/Teste: suita de regresie pentru editarea facturii si harness-ul
watchdog (nu sunt in SVN, unde utile/Teste e ignorat). .gitignore ignora si
capturile PNG si watchdog_out/, ramase din rulari.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-08 16:47:24 +03:00
c5b0ce3a25 teste: suita headless pentru pretul cu TVA pe linie (ROAFACTURARE 2.11.14)
Patru niveluri, 38 de asertii, toate PASS pe binarul din SVN r17998:

- test_pret_cu_tva_dialog        - dialogul frm_articol_factura izolat (14)
- test_pret_cu_tva_nivel2        - factura in curs de compunere, adaugare si ambele cai de
                                   modificare (buton si dublu-clic), Renunta bit-identic (7)
- test_pret_cu_tva_nivel2_retur  - plafonul de cantitate recalculat, pe ramura de retur (4)
- test_pret_cu_tva_nivel3_gestiuni - ramura gestionabila, cu Oracle mockuit la granita prin
                                   dummyexecutor: preselectia gestiunii, excluderea liniei din
                                   propriul stoc, plafonul pe lot, multi-selectia (13)

Nivelurile 2 si 3 conduc dialoguri modale deschise din codul aplicatiei (Show(1) hardcodat),
prin Timer pe _SCREEN si detectie in _SCREEN.Forms - mecanismul e descris in
docs/testare-ui-vfp.md.

Suita nu e in SVN (utile/Teste e ignorat acolo), deci traieste doar in git.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-08 00:23:15 +03:00
f88b2b9a5b sync SVN r18000: todos - puncte marcate DONE si doua puncte noi
Marcate DONE: 2, 3, 4, 5, 8, 9. Punctul 13 precizeaza formularul unificat
frm_facturare_articole2. Noi: 16 (focus si renumerotare act la revenirea din formularul
de curs valutar) si 17 (eroare ORA neprietenoasa cand id_venchelt e null la finalizarea
facturii).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-08 00:23:01 +03:00
8df728cf8b sync SVN r17998: pret cu TVA pe linie si editarea liniei la introducerea facturii
ofacturare.vc2:
- frm_articol_factura: bifa "Pret cu TVA inclus" (preturi_cu_tva) editabila in dialogul
  per-articol; activa doar pe tipurile unde pretul e editabil.
- frm_facturare_articole: buton de modificare deasupra listei + dublu-clic pe linie, ambele
  redeschid dialogul pe linia curenta (do_modifica); Renunta lasa randul neschimbat.
- Plafonul de cantitate la modificare se recalculeaza din stocul disponibil (reversul
  decrementarii din do_adauga_articol), nu ramane la cantitatea aflata deja pe linie.
- Articolele gestionabile: modificarea redeschide tabelul cu gestiuni, pozitionat pe gestiunea
  liniei; do_alege_stoc primeste tnIdTempExclus, ca linia sa nu se scada pe ea insasi din stoc.
  Multi-selectia actualizeaza linia si adauga restul ca linii noi.
- frm_articol_gest_factura: bifa era desenata sub grd_gestiuni; forma inaltata si bifa mutata sub grid.

ofacturare_comun.vc2: scos un SET STEP ON ramas in cod.

docs/testare-ui-vfp.md: sectiune noua despre conducerea dialogurilor modale Show(1) din teste
(Timer pe _SCREEN, detectie prin _SCREEN.Forms, inchidere prin do_termin/do_renunt) si capcanele
platite pe parcurs.

Testat headless: Nivel 1 dialog 14 asertii, Nivel 2 factura in compunere 7, Nivel 2 retur 4,
Nivel 3 ramura gestionabila 13 - toate PASS, zero FAIL.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-08 00:18:20 +03:00
0684485107 sync SVN r17994: tipuri de documente facturare (semnificatia VANZARI.TIP) 2026-08-07 13:28:58 +03:00
be37c2c99c sync SVN r17994: reguli suplimentare pentru scripturile de migrare DB
Niciun ';' la capat de linie intr-un comentariu '--' din interiorul unei instructiuni
(SQL*Plus termina instructiunea acolo, chiar daca ';'-ul e in comentariu). Fiecare
script se incheie cu exec pack_migrare.UpdateVersiune('<nume_script>'); urmat de
commit; (UpdateVersiune e DML, fara commit explicit VERSIUNE minte despre ce s-a aplicat).
2026-08-07 13:26:38 +03:00
837b455687 sync SVN r17991: garda valuta la nota de curs eFactura, scos SET STEP ON
xmlefactura.prg: mentiunea despre cursul valutar din textul aditional se emite doar
cand documentul e chiar in valuta (in_valuta = 1).
ofacturare.vcx: scos SET STEP ON neconditionat din frm_facturare.do_scrie_factura.
2026-08-07 13:15:25 +03:00
e21512240f todo 2026-08-07 00:17:45 +03:00
8421d7ba7f Merge branch 'claude/todos-roacont' 2026-08-07 00:00:58 +03:00
ec51097277 Merge branch 'main' of gitea.romfast.ro:romfast/comun 2026-08-07 00:00:37 +03:00
117f2fb88a eFactura, verificare partener, istoric CF: numar pe bife, TVA la incasare, explicatii pe cota
- borderou si import eFactura: bifele de cautare arata numarul de documente in eticheta, inca
  de la deschiderea ferestrei. Numararea se face local din cursorul deja adus cand nicio bifa
  nu e bifata (cursorul e chiar setul de baza) si prin interogare doar cand o bifa e bifata,
  ca sa nu apara interogari inutile. Latimile bifelor au fost marite: erau croite exact pe
  textul original, iar " (N)" era taiat de marginea controlului.
- verificare cod fiscal: starea partenerului include "TVA la incasare", cu perioada in detalii;
  sursa e ANAF live sau cache-ul ISTORIC_CODURI_FISCALE (ocautare.prg, validare.prg).
- modificare nota: lista de explicatii TVA se filtreaza dupa cota TVA a liniei curente
  (omodificari.vc2, caut_explicatie_tva din oproceduri_comune.prg).
- istoric coduri fiscale: coloane nefolosite ascunse, adaugate cele venite de la ANAF
  (TVA la incasare, split TVA, inactiv si perioadele aferente) - overificari.vc2.
- docs/scripturi-migrare-db.md: regulile de rulare manuala pe schema tinta si un pachet per script.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D8Ham1HJ8BB2v9nbtWgdZq
2026-08-07 00:00:21 +03:00
c6216e006e acces email Thunderbird + tabela de provenienta la top segmente in diagnosticul de spatiu 2026-08-06 23:29:18 +03:00
d0c2af8a31 Merge branch 'main' of gitea.romfast.ro:romfast/comun 2026-08-06 12:44:23 +03:00
8fa842888a sync SVN r17985: sursa de referinta DDL (MARIUSM_AUTO) + aliniere la origin
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011Euno5AmwoFEvBTdWH8C8S
2026-08-06 12:44:15 +03:00
89695721f4 diag spatiu: emailul de alerta contine si logul complet al rularii
Nota in depanare-spatiu-oracle.md pentru co_2026_08_06_01_DIAG_SPATIU_PACK: pragul absolut
nu se mai aplica tablespace-urilor cu maximul sub el, iar emailul include tot
DIAG_SPATIU_LOG-ul rularii, plafonat la 30000 de caractere.
2026-08-06 10:40:06 +03:00
c599a9c053 sync SVN r17979 2026-08-06 00:34:35 +03:00
b35e62c880 achizitie import: linia de diferenta 6xx fara cod de taxa SAFT 2026-08-05 23:36:20 +03:00
54d97c0349 context_watch.ps1: nu mai raporteaza contextul altei sesiuni
La primul mesaj dintr-o sesiune noua transcriptul .jsonl inca nu e creat, asa
ca Test-Path pica si scriptul cadea pe fallback-ul "cel mai recent .jsonl din
directorul proiectului" - adica transcriptul sesiunii precedente, anuntand un
context de sute de k intr-o sesiune goala. Cand calea vine ca parametru sau pe
stdin si nu exista, iese tacut; fallback-ul pe director ramane doar pentru
invocarea manuala, fara cale.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UKTBDwMB1dAoN4DPBa1b2m
2026-08-05 22:21:32 +03:00
4d1179f8e5 diag_spatiu.ps1: aceleasi praguri ca jobul de diagnostic + plafonul editiei XE
Pragurile ies in capul scriptului si sunt cele din PACK_DIAG_SPATIU: tablespace-ul intra in atentie
sub 2048 MB ramasi sau sub 15% din maximul lui (inainte: sub 1 MB, adica dupa ce ORA-01653 e la usa),
iar FRA la 75% in loc de 80%.

Sectiune noua 2c: plafonul de date al editiei XE (4 GB pe 10.2, 11 GB pe 11.2, 12 GB de la 18c) -
limita e independenta de maxbytes-ul tablespace-urilor, baza poate refuza extinderea cu ORA-12952
desi tablespace-ul mai are loc. Pe alte editii sectiunea se sare.

Verificat pe XE 21c: sectiunea 2c da aceleasi cifre ca pachetul.
2026-08-05 21:55:13 +03:00
bd09073229 teste NNIR: avertisment .FXP stale (VFP ruleaza tacut versiunea veche a scriptului)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EBFMe75MwdnDQk3qhp1YB2
2026-08-03 23:45:58 +03:00
26d2c205c9 NNIR editabil in Registrul Jurnal (frm_modific2024) + teste 2026-08-03 23:44:27 +03:00
4666262c92 publicare scripturi de baza de date: script + documentatie
COMUN/utile/publicare_scripturi.ps1 face cei doi pasi ai publicarii (import in
UPD_DATABASE + arhiva lunara database[n]_*.zip in _UPDATE), cu configurarea citita
din settings.ini-ul lui tasks.exe si verificare octet cu octet a continutului.
2026-08-03 23:14:47 +03:00
72bf63cd04 depanare-spatiu-oracle.md: jobul zilnic de diagnostic + mecanismele reutilizabile
Jobul DIAGSPATIU_ZILNIC (SVN r17969) si mecanismele generale desprinse din investigatie:
cheile SERVER_INFO si GetSchemaParola, rularea ca SYS/OS prin UpdateSQLPLUS/ExecuteScriptOS,
de ce EmailLog nu se reutilizeaza, ordinea de aplicare a scripturilor sys_.

Capcane noi: parola SYS nu e generica la toti clientii, iar rolurile nu se aplica in pachete cu
drepturi de definitor - de aici granturile directe din sys_2026_08_03_05.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014sNn6dmAimtyXkDU4frJrh
2026-08-03 22:24:28 +03:00
05d91a05c6 todos 2026-08-03 20:42:46 +03:00
5f944e8bfa credentialele Oracle se muta in COMUN\docs\local\oracle.md
Fisierul era per proiect; acum e in COMUN, partajat de toate aplicatiile ROA.
Ramane neversionat in git (docs/local/ adaugat in .gitignore-ul COMUN), exista
doar in SVN. Parola SYS e generica, nu difera de la server la server.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014sNn6dmAimtyXkDU4frJrh
2026-08-03 19:06:44 +03:00
1d3e75803f livrare.ps1: fisierul de mesaj fara BOM
Out-File -Encoding utf8 in PS 5.1 scrie BOM, care ajungea ca prim caracter in
mesajul de commit (ex. un mesaj despre "sync SVN"). Se scrie cu
[IO.File]::WriteAllText si UTF8Encoding $false.

Nota in scripturi-uzuale.md: mesajele catre git/svn din PowerShell trec prin
fisier, UTF-8 fara BOM, LF.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014sNn6dmAimtyXkDU4frJrh
2026-08-03 18:26:41 +03:00
f4b48d9c20 livrare.ps1: mesajul de commit prin fisier, nu prin -m
PowerShell 5.1 nu escapeaza argumentele catre exe native, deci ghilimele duble
in mesaj (ex. un commit de "sync SVN") spargeau apelul git. Mesajul se scrie
intr-un fisier temporar si se foloseste git commit -F, sters in finally.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014sNn6dmAimtyXkDU4frJrh
2026-08-03 18:23:41 +03:00
d350119993 livrare.ps1: roa_sync la tree curat, rebase la push respins, garda SVN
- pasul 1 ruleaza roa_sync.ps1 cand tree-ul e curat (svn update + git_sync +
  reconciliere cu origin); cu modificari necomise ruleaza doar git_sync, ca
  roa_sync sa nu inglobeze munca in curs intr-un commit de sync SVN
- fetch inainte de commit: raporteaza cand ramura e in urma fata de origin
- push respins non-fast-forward: rebase + o singura reincercare, abort curat
  la conflict; fara --force
- avertisment pentru fisierele comise in git dar nefacute svn add
- docs: scripturi-uzuale.md - ce script se ruleaza si cand

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014sNn6dmAimtyXkDU4frJrh
2026-08-03 18:18:45 +03:00
48f15c1da1 scripturi de diagnostic baza de date + script de livrare
- diag_actualizare.ps1: de ce s-a oprit actualizarea (UPD_ISTORIC, UPD_LOG,
  script_master.log prin UTL_FILE, versiuni per schema, spatiu tablespace, verdict)
- diag_spatiu.ps1: spatiu Oracle la clienti (tablespace, audit, ADR, FRA, disc server)
- livrare.ps1: git_sync + curatenie + verificari + commit/push
- curatenie.ps1: sterge si docs\propuneri_*.md
- docs: depanare-spatiu-oracle.md nou, depanare-pack-update.md completat cu cazul SIGMA

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014sNn6dmAimtyXkDU4frJrh
2026-08-03 12:11:42 +03:00
5f3a17c5c7 fix: exportul Excel din GridExtras respecta ordinea de afisare a coloanelor
gridutils.copytoexcel parcurgea grid.Columns() pe indexul de creare, care in
VFP nu are legatura cu ColumnOrder. Coloanele se sorteaza acum dupa ColumnOrder
inainte de a construi lista de campuri, deci exportul iese in ordinea de pe
ecran, inclusiv dupa ce utilizatorul muta coloane (ordine salvata de
savegridpreferences).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YB2eA3Wd31DZiXjzVRc6VJ
2026-08-03 11:48:03 +03:00
a290a51276 docs: emailurile actualizarii si compatibilitatea scripturilor cu 10g/11g
Log-ul de actualizare (PACK_UPDATE.EmailLog, din baza) si buletinul informativ
(trimis de serverul de update) sunt doua fluxuri diferite, cu destinatari
configurati in locuri diferite.

Scripturile de migrare se scriu la nivelul Oracle 10.2 si trebuie sa ruleze
si pe 11.x; tabel cu versiunea minima a constructiilor uzuale si limitele XE.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TM9Cxpzrn9wBSkyBNr22Qc
2026-08-03 10:46:08 +03:00
fc1af63014 docs: script_master.log, unde apar erorile de aplicare a scripturilor
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TM9Cxpzrn9wBSkyBNr22Qc
2026-08-03 10:05:40 +03:00
a07b89e5e1 docs: capcane Oracle 10g la scripturile de migrare
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TM9Cxpzrn9wBSkyBNr22Qc
2026-08-03 10:05:33 +03:00
e75fc365c5 docs: depanarea actualizarii ROA (PACK_UPDATE)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TM9Cxpzrn9wBSkyBNr22Qc
2026-08-03 09:36:59 +03:00
5eb1f7ef40 Factura din contract: cod fiscal client precompletat
oDateFactura.Init completa clientul de pe contract fara cod fiscal, spre
deosebire de ramura de comanda. Formularul de cerere date arata acum codul
fiscal si permite verificarea ANAF fara a intra in cautarea de client.

todos: punct 10 - integrare contracte in ROAFACTURARE.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HdKazj8DDksshTb2vB3gZz
2026-08-03 08:35:56 +03:00
6aebd474fc Teste headless: verificare ANAF la alegerea clientului cu contract activ
Harness ROAACNPRO-specific (gcAppPath propriu, spre deosebire de test_init_env_auto.prg
care e fixat pe ROACONT), shadow pentru cauta_alfa() si testul care reproduce/confirma
label-ul ANAF pe caut_client_contract_activ(), plus repro pentru scoping-ul gresit al
lui poDate in do_cauta_partener (Thisform.poDate vs poDate PRIVATE).
2026-08-03 08:13:16 +03:00
71f661092d sync SVN r17952 2026-08-03 02:50:05 +03:00