Commit Graph

21 Commits

Author SHA1 Message Date
2519cac3dc sync SVN r18216
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019WVojuH5cuQwzKfxdn94oM
2026-09-28 15:51:11 +03:00
243caf7917 sync SVN r18188 2026-09-19 23:45:21 +03:00
9a8d1f41db sync SVN r18185 2026-09-19 18:02:08 +03:00
c62f9223df sync SVN r18180 2026-09-18 17:54:05 +03:00
4784bb0752 sync SVN r18177
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QGrSUJc5CBmgeDRUGJX7j3
2026-09-18 15:21:17 +03:00
257721aebb sync SVN r18142 2026-09-16 15:18:07 +03:00
32d0adf688 sync SVN r18105 2026-09-15 20:56:36 +03:00
1416587f12 Plati la buget din importul de extrase: recunoastere dupa IBAN Trezorerie (TVA 4423, CAM 436, cont unic defalcat din frm_modific2024)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LBKZQUq6vimKuAFsrS2D1s
2026-09-15 17:00:15 +03:00
8dcffef439 sync SVN r18103 2026-09-14 23:27:25 +03:00
a2baead7c0 Import eFactura in lot: borderou, contabilizare in serie, alegerea contului (2.11.75)
Borderoul arata pentru fiecare factura ce mai are de completat (conturi, gestiuni,
analitice) si daca are articole de gestiune, cu filtru pe fiecare. Facturile complete
se contabilizeaza in serie, cu rezumat la final. Contul de furnizor/client se alege
din planul de conturi, cu analiticul cerut imediat dupa. Cheia normalizata de articol
si anularea in bloc a documentelor generate din import intra tot aici.

Livrat in SVN r18075-18077. Materialul de lucru din docs/ e sters.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Aroafxp4z8bmM5oVECZRXY
2026-09-09 22:01:50 +03:00
ebc9594721 sync SVN 2026-08-23 10:29:27 +03:00
3c20ef1034 sync SVN r18023 2026-08-20 18:14:34 +03:00
3af008992c sync SVN r18006: inregistreaza ofacturare_editare.prg
SET PROCEDURE TO ofacturare_editare.prg ADDITIVE, langa ofacturare_comun.prg.
Fara el, pagina de articole ale facturii nu apare in registrul jurnal >
modificare; clasa comuna are garda si degradeaza fara eroare, dar pagina
lipseste.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-08 16:48:31 +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
265ba78b0a saft astept 2 secunde pentru deschiderea fisierului de erori 2026-07-30 13:52:19 +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
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
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
22ea278001 D406 SAF-T: stergere CNP-uri invalide + verificare coduri fiscale
- 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
2026-07-24 22:20:10 +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