5 Commits

Author SHA1 Message Date
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
189e0a694e Verificare ANAF: o singura salvare in istoric si antete corecte pe formularele de verificare (SVN r17943)
VERIFICARE_CIF salva a doua oara in istoric ceea ce traseul ANAF (SalveazaIstoricDinCursor) tocmai
salvase, cu alte valori pentru PLATITORTVAMFIN si DATATVAMFIN, deci o apasare pe verificarea ANAF
lasa doua randuri in ISTORIC_CODURI_FISCALE. Pe traseul ANAF a doua salvare nu se mai face; traseele
MFIN/VIES raman neschimbate. Partea de baza de date: co_2026_08_02_05_COMUN_PACK_ISTORIC_CF.sql (SVN r17942).

Formularul de verificare in masa foloseste azi numai serviciul web ANAF (chkANAF fortat pe .T. in
Init), deci antetele arata sursa corecta: "Platitor TVA ANAF", "Firma ANAF" si "Data verificata"
(coloana arata data pentru care s-a interogat, nu data luarii in evidenta TVA). In fereastra cu
istoricul unui cod fiscal, coloanele DATATVAMFIN si PLATITORTVAMFIN sunt ascunse - dupa modificarea
din pachet raman inghetate.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018LkXBVHUNkb7Quq36TfQcs
2026-08-02 11:48:47 +03:00
5c8a201438 Cache ANAF: verificarea in masa a codurilor fiscale, pe transe (SVN r17935)
Verificarea "in masa" (VerificaListaCIF ... 'MASA') pica pe ORA-01795 peste 1000
de coduri, iar esecul trimitea tot lotul la ANAF, cu pauze de o secunda la fiecare
100 de coduri. Pe langa asta, fiecare rand servit din cache era salvat inapoi in
istoric si logat separat.

- programe/validare.prg: CitesteIstoricPentruCoduri citeste pe transe de maxim
  1000 de coduri legate cu OR in aceeasi interogare (fara obiecte noi in baza,
  compatibil cu Oracle 10g); plasa de siguranta cere codurile neacoperite o
  singura data, nu cod cu cod; SalveazaIstoricDinCursor sare peste randurile cu
  sursa CACHE*; bucla de log per rand devine o singura linie cu totalul.
- clase/overificari.vc2: completarea tabelului de parteneri foloseste index pe
  codul normalizat si SEEK in loc de LOCATE cu UDF (era patratic).
- utile/Teste/cache_anaf/: harness-uri de masurare si non-regresie pentru
  timpii de mai jos.

Masurat pe MARIUSM_AUTO, cu ANAF blocat: 1000 de coduri 5,1 s -> 0,318 s;
1001 coduri 16,6 s cu ORA-01795 -> 0,553 s fara eroare; 3000 de coduri 1,565 s;
200 de coduri din cache 3,93 s -> 0,05 s, cu 0 randuri noi in istoric;
completarea tabelului pentru 2000 de parteneri 11,97 s -> 0,028 s.
Randurile intoarse si verdictele raman identice.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JCzVWfqscv1xyo5uvJiWiW
2026-08-02 07:27:42 +03:00
859e67e874 Cache ANAF pe ISTORIC_CODURI_FISCALE: verificare din memorie, plasa la tacere ANAF
Verificarile de partener nu mai depind exclusiv de raspunsul ANAF: se citeste
intai cache-ul din ISTORIC_CODURI_FISCALE (mutat in CONTAFIN_ORACLE), cu
provenienta afisata pe ecrane (sursa / data_sursa) si cu plasa de siguranta
cand ANAF tace. Ordinea cache/ANAF e configurabila; cache-ul expira.

- programe/validare.prg: verificare single si pe loturi peste cache, contract
  404 separat de caderea de serviciu, expirarea cache-ului, corectii la
  verdictul pe firma si la etichetarea CACHE_INDISP.
- programe/ocautare.prg: plasa de siguranta si banda de provenienta la cautarea
  de partener.
- programe/oproceduri_comune.prg: VERIFICA_RTVAI_DATA citeste si cache-ul.
- clase/overificari.vc2: propagarea provenientei in interfata.
- utile/Teste/: harness-uri de testare headless - echivalenta cache/ANAF pe 200
  de coduri reale, marginile pe inactiv si TVA la incasare, mock batch ANAF,
  baseline D394 si sondele de diagnostic ANAF.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JCzVWfqscv1xyo5uvJiWiW
2026-08-02 01:33:18 +03:00
2f59024385 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:55:38 +03:00