20 Commits

Author SHA1 Message Date
b3cbeef691 changelog 2.11.71
Intrarea versiunii curente, rescrisa pentru forma finala a numarului de pe bifele eFactura
(borderou si import, de la deschidere).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D8Ham1HJ8BB2v9nbtWgdZq
2026-08-07 00:00:26 +03:00
82ab6209f6 2.11.70 2026-08-02 11:51:20 +03:00
6afaad03bf changelog 2.11.69 2026-08-02 01:39:32 +03:00
ea977c7bfc Cache ANAF: ordine explicita pe rapoartele de incasari, changelog 2.11.68-2.11.69
- Programe/orapoarte.prg:1994 - verificarea split TVA pe o data din trecut
  cere explicit ordinea MASA (cache intai); :2312 - varianta pe data curenta
  cere UNIC (ANAF intai, cache-ul ramane plasa de siguranta).
- changelog_roacont.txt - intrarile 2.11.68 si 2.11.69.
- versiune_db.txt - 2026_08_01_02.
- CLAUDE.md - regula de continut pentru changelog si stilul de raspuns cerut.
- TODOS.md - amanarile din review-ul transei cache ANAF, P4 marcat preluat.
- roacont.pj2 - resincronizat cu git_sync.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JCzVWfqscv1xyo5uvJiWiW
2026-08-02 01:32:00 +03:00
17eea3b64a Borderou eFactura: potrivire numar fara separatori, versiune_db 2026_07_29_01
Changelog 2.11.67: numarul documentului se potriveste si cand a fost introdus in
contabilitate fara separatori (eFactura "40-33-129052" introdusa ca 4033129052),
iar doua facturi cu aceeasi valoare, acelasi partener si aceeasi zi nu mai apar
cu valoare dubla fata de Registrul de TVA.

Modificarea efectiva e in view-urile anaf_vefactura_primit/trimis, script
DATABASE/SCRIPTURI_CLAR/2026/07/ff_2026_07_29_01_COMUN_EFACTURA.sql (doar SVN,
nu e in acest repo): concatenarea cifrelor din xnumar_act adaugata in lista IN,
limita de lungime 12 -> 14 (act.nract e N(14) in programe), avg in loc de sum pe
rezerva de potrivire dupa valoare.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FW7zDopcHo2fHq5L53MjMM
2026-07-29 12:30:33 +03:00
26c33e03a2 changelog 2.11.67: import eFactura mai rapid si explicatia culorilor
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FW7zDopcHo2fHq5L53MjMM
2026-07-29 00:31:47 +03:00
8999a5339f 2.11.67 2026-07-28 23:35:35 +03:00
bc5ff8211f Borderou eFactura: changelog 2.11.67 si versiune_db
Insotesc modificarile din COMUN (potrivire sargabila cu registrul de TVA, rezerva pe
suma prin COALESCE, prag galben 0.15, jcnt eliminat). versiune_db trece la
2026_07_28_03, scriptul corespunzator fiind ff_2026_07_28_03_COMUN_EFACTURA.sql.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FW7zDopcHo2fHq5L53MjMM
2026-07-28 23:31:23 +03:00
53ef674f70 ROACONT - 2.11.66 2026-07-28 16:08:30 +03:00
869403cd3e Registre 2025: cotele 24/20 la soldul neexigibil; exigibilizare TVA reparata
frm_regcump2025 / frm_regvanz2025 au fost derivate din clasele 2010 INLOCUIND
cotele 24/20 cu 11/21, in loc sa le adauge. Consecinta: filtrul "Diferenta sold"
si lista TVA-ului exigibilizat din plati pierdeau facturile cu TVA neexigibil la
24% sau 20% - adica exact facturile vechi cu TVA la incasare, cele carate din
perioade anterioare, care sunt rostul filtrului. Corectate 6 filtre, formula de
sold din frm_regvanz2025 (care omitea complet RO20/RO24, spre deosebire de
geamana ei de la cumparari) si lista de coloane selectate.

Clasele frm_regcump2010 / frm_regvanz2010 raman neatinse: enumera 24/20/19/9/5 si
e corect asa - se folosesc doar pe perioade dinainte de cotele 21/11, iar cursorul
lor actcv nici nu are coloanele ro11*/ro21*.

inchidere_tva_sold:
- soldn21/soldn11 si ro21nt/ro11nt se citesc doar daca exista in cursor.
  Registrele de dinainte de 2025 nu le emit, de unde eroarea VFP la apasarea
  butonului de exigibilizare pe orice perioada anterioara.
- cota 21 nu era luata in calcul: `Iif(m.lnCota = 21, ...)` intr-o bucla
  For 1 To 7, deci lnSuma21 era cod mort, iar la cota 6 se lua soldul de 11% cu
  1.21. Linia imediat urmatoare folosea deja corect `= 6`.
- 8 variabile adaugate in Local; deveneau PRIVATE si se scurgeau in stiva de apel.

Scoase 37 `SET STEP ON` ramase in cod (35 in ovanzcump.vc2, 2 in
oproceduri_inchidere.prg); deschideau depanatorul la fiecare rulare din IDE.

Changelog 2.11.66. Sterse handoff-urile, planurile si patch-urile de review ale
lucrarii ANAF/TVA/eFactura; .gitignore acopera acum docs/diff_*.patch, nu doar
docs/diff_runda*.patch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DhJwsrFFe1ZNAAtS8Twuti
2026-07-28 15:12:51 +03:00
8b5a670ff1 Transa 2: changelog 2.11.68, versiune_db, plan cu semnatura oExecute si decizia pe N
Plan completat: tlReconnect e al 8-lea parametru din oExecute si e implicit .T., deci transa 3
trebuie sa-l paseze .F. explicit. N din dialogul transei 3 numara facturi distincte (decizie
marius.mutu, 28.07.2026).

SVN r17914; script DB in DATABASE r17912.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DhJwsrFFe1ZNAAtS8Twuti
2026-07-28 08:23:40 +03:00
7cd7d57708 Transa 1 ANAF TVA: changelog 2.11.67, plan corectat pe date, handoff-uri de verificare
Plan corectat in patru puncte confirmate pe Oracle:
- lista de coloane de taxare inversa are 13 termeni, nu 10 (TI19T/TI09T nu exista pe jc2007;
  expresia din oproceduri_decont.prg:8670 e scrisa peste view-ul VJC2025, cu aliasuri calculate)
- tva_incasare nu exista pe jc2007/jv2007; interogarea transei 3 merge pe VJC2025/VJV2025
- kill-switch-ul nu se face in Optiuni_FIRMA/PROGRAM.dbf, ci pe modelul RC_ANAF_VERIF_SELECTIE
  (INI + optiuni Oracle + intrare de meniu)
- oExecute deschide dialog de reconectare cu QUIT pe conexiune cazuta; apelul din transa 3 trebuie
  sa dezactiveze explicit reconectarea

SVN r17910/r17911.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DhJwsrFFe1ZNAAtS8Twuti
2026-07-28 00:50:26 +03:00
58655dac6e changelog 2.11.66 mai compact
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ExTWMJbKantwNvL6AtEwzH
2026-07-27 20:19:56 +03:00
0c9255842d D406 SAF-T: raport erori validator pe intelesul utilizatorului
La validarea cu erori se genereaza <xml>_explicat.txt: un rand pe eroare
(pagina, pozitie, partener/cont identificat, explicatie) + sectiunea
"Cum rezolvati". Erorile fictive TaxCode "nu se afla in lista" (bug
DUKIntegrator) sunt separate si ignorabile. Se deschid ambele fisiere,
raportul explicat deasupra; chatbot-ul primeste doar erorile reale.
Mesajul separat de parteneri respinsi + exportul Excel eliminate din flux.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ExTWMJbKantwNvL6AtEwzH
2026-07-27 20:18:49 +03:00
5bc2cb82f1 Verificare ANAF la alegerea partenerului: 404, disponibilitate serviciu (docs)
Design doc REVIZIA 5: contractul 404 (verdict "inexistent" doar cand raspunsul
contine chiar codul cerut), starile serviciului pe sesiune si banda cand ANAF nu
raspunde, cache doar pe verdicte pozitive, codul nenumeric.

Changelog: intrarea 2.11.65 descrie comportamentul asa cum ajunge la utilizator -
functionalitatea nu a fost inca livrata, deci corectiile din interiorul ei nu se
pomenesc separat.

TODOS: contractul 404 pe drumul batch (P4) si verificarea dupa tara partenerului
(P5), amanate explicit.

Codul: COMUN 95cf54e.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DhJwsrFFe1ZNAAtS8Twuti
2026-07-27 16:25:18 +03:00
5b0a3321db Verificare ANAF la alegerea partenerului: opt-in pe introducerea de documente
Cablarea din ROACONT pentru verificarea ANAF implementata in COMUN (ocautare.prg):

- ointroduceri_cont.vc2: 6 apeluri de cautare partener trec lVerificaANAF=1
  (frm_introd_compact, frm_introd_compact2007, frm_note, frm_note2007), plus
  frm_plati_impozite prin caut_parteneri. Raman fara verificare cautarile de
  responsabili, achizitor, casa si creditor.
- cont2000.mn2: punct de meniu Initializari > Optiuni utilizator >
  "Verificare ANAF la alegerea partenerului" (DO ANAF_ComutaVerificare IN ocautare.prg).
- roacont.prg: incarcarea procedurilor necesare verificarii.
- oproceduri_import.prg: la importul cu cod fiscal discordant se cere confirmare
  in loc sa se aleaga tacit.
- changelog 2.11.65 si documentul de design al functionalitatii.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019H3r66sVojGhgaKq5niu1u
2026-07-27 01:29:20 +03:00
a284dd3530 D406 SAF-T: verificare coduri fiscale pe toata declaratia + erori validator ANAF
Stergere CNP-uri invalide:
- bucla de update nu rula niciodata (export2xlsx lasa pointerul pe EOF, iar SCAN WHILE
  are scope implicit REST) - GO TOP + SCAN, cu Exit la eroare
- candidatii se iau din cursoarele declaratiei, cu criteriile verificarii, nu dintr-un
  query separat pe balanta_parteneri

Verificare coduri fiscale (do_verifica_cui):
- acopera toti partenerii exportati in XML, nu doar cei cu is_activ = 1
- CodFiscalValidSaft: regulile de format ale validatorului ANAF (numai cifre, fara zero
  la inceput, 13 cifre la CNP, 2-10 la CUI) peste cifra de control; VALIDARE_CIF accepta
  litere la inceput si VALIDARE_CNP accepta prima cifra 0
- lista codurilor invalide in cursor + export xlsx (rand, partener, cod, CNP/CUI),
  mesaj cu defalcare CNP/CUI
- corectat "Variable 'LCTEXT' is not found" (m.lcText inexistent in procedura)

do_erori_partener_saft: extrage din fisierul de raspuns al validatorului codurile de
partener respinse (pagina Customers/Suppliers, randul, codul, partenerul) si le afiseaza
la finalul validarii, cu export xlsx optional.

changelog 2.11.65

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013dL9LNnmeY8nELjTLYiGJH
2026-07-26 18:22:38 +03:00
d62548787d changelog 2.11.64: import arhiva zip eFactura in borderou
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RqJ7D5ftMbChDyz5mpVkCd
2026-07-24 10:43:33 +03:00
e9061cc50d Introducere compacta: explicatia/4/5 editabile pe fiecare rand
Grila din frm_introd_compact2007 primeste 3 coloane noi legate la
explicatia, explicatia4 si explicatia5 din introdc; valorile implicite
vin din poAct, iar cele editate se salveaza in ACT prin Gather ointr.
Liniile derivate (TVA, incasare/plata) pastreaza valorile din poAct.
explicatia a fost adaugata si in cele 4 INSERT INTO actactan ... SELECT.

Modificarea din COMUN/programe/pmenu.prg se comite separat (repo partajat).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015DQoCUF3QSCgQCwCBK1qbz
2026-07-20 16:06:00 +03:00
09580ad9d6 Initial: flux text FoxBin2Prg (git urmareste .??2 in-arbore, binarele VFP git-ignored)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 10:54:13 +03:00