Borderou eFactura: import manual arhiva zip descarcata din SPV
AnafeFacturaServer.ImportZipLocal (programe/anaf_efactura.prg): dezarhiveaza arhiva aleasa de utilizator, ia xml-ul facturii (ignora semnatura MFinante), ParseEFactura, decide FACTURA PRIMITA/TRIMISA dupa codul fiscal al firmei curente, copiaza arhiva in directorul local de raspunsuri si scrie in Oracle prin acelasi lant ca descarcarea din SPV (cursor temporar canaf_efactura_temp + cUpdateFactura + UpdateDb -> pack_anaf.AdaugaRaspunsFactura si anaf_efactura_detalii). Fara SQL scris de mana si fara duplicarea maparii de campuri. clase/anaf_efactura.vcx (clasa anaf_efactura, metoda citesteraspunsuri): optiunea 8 in meniul butonului "Raspunsuri" - "Import arhiva zip de pe disc...". Necesar cand mesajul nu mai e in lista de raspunsuri ANAF (expira dupa 60 zile) si factura primita nu a ajuns in borderou. Testare (CENTRAL/MARIUSM_AUTO, ianuarie 2026, 12 PASS / 0 FAIL): utile/Teste/efactura_import/ - garda pe cod fiscal, import complet cu verificarea campurilor si a liniilor in anaf_efactura_detalii, factura vizibila in grila reala "Facturi primite in SPV". utile/Teste/test_init_env_auto.prg: adauga goFirma.codfiscalfro ca in start_firma (ostartfirma.prg) - proprietatea nu e coloana in v_firme, iar fara ea orice cod care o citeste nepazit crapa in mediul headless. docs/depanare_testare_vfp.md: verificarea de sintaxa prin compilare headless (config.fpw cu SAFETY=OFF, copie in scratchpad) si capcana literalelor string mai lungi de 255 de caractere (eroare de compilare, nu de runtime). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RqJ7D5ftMbChDyz5mpVkCd
This commit is contained in:
@@ -5228,7 +5228,7 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
|
||||
|
||||
PROCEDURE citesteraspunsuri
|
||||
Local llSucces, lnOptiune, lnZile, llFortareRaspunsuri, llTest
|
||||
lnOptiune = xmenu('Ultima zi;Ultimele 2 zile;Ultimele 3 zile;Ultimele 7 zile;Ultimele 15 zile;Ultimele 30 zile;Ultimele 60 zile')
|
||||
lnOptiune = xmenu('Ultima zi;Ultimele 2 zile;Ultimele 3 zile;Ultimele 7 zile;Ultimele 15 zile;Ultimele 30 zile;Ultimele 60 zile;Import arhiva zip de pe disc...')
|
||||
IF EMPTY(m.lnOptiune)
|
||||
RETURN
|
||||
ENDIF
|
||||
@@ -5238,7 +5238,11 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
|
||||
llTest = This.lTest
|
||||
|
||||
*!* llSucces = Thisform.oAnaf.RaspunsuriFacturi(m.lnZile, m.llFortareRaspunsuri)
|
||||
llSucces = efactura_client(m.lnZile, m.llFortareRaspunsuri, m.llTest)
|
||||
IF m.lnOptiune = 8
|
||||
llSucces = Thisform.oAnaf.AnafeFacturaServer.ImportZipLocal()
|
||||
ELSE
|
||||
llSucces = efactura_client(m.lnZile, m.llFortareRaspunsuri, m.llTest)
|
||||
ENDIF
|
||||
|
||||
Thisform.LockScreen = .T.
|
||||
save_grid_tag(Thisform.pgfeFactura.page2.grdFacturiPrimite)
|
||||
|
||||
Reference in New Issue
Block a user