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
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
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
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
- optiune noua in meniul "Initializari cod taxa/plata": "Stergere CNP-uri
invalide la persoanele fizice din declaratie" -> StergereCnpInvalid()
- StergereCnpInvalid(): selecteaza partenerii cu rulaje in perioada
declaratiei si cod fiscal numeric (persoana fizica sau peste 10 cifre),
filtreaza cu ValidCNP(), exporta lista in xlsx, cere confirmare si sterge
codul fiscal eronat (tip_persoana = 2), in transe de 1000 de id_part
- do_verifica_cui(): la butonul "2. Verifica" se valideaza si codurile
fiscale ale partenerilor activi in perioada (CNP prin VALIDARE_CNP, CUI
prin VALIDARE_CIF) si se completeaza mesajul cu numarul de randuri
invalide si modul de corectare
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PUq4G8Yzfij6Dz5AuZGT2