From a5b3b293075a20c4f77d9be79985643613e4ed36 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Tue, 28 Jul 2026 17:06:59 +0300 Subject: [PATCH] Verificare ANAF: optiunea arata setarile pe niveluri si revenirea la implicit Dialogul din Initializari > Optiuni utilizator arata separat setarea utilizatorului curent, setarea firmei, implicitul programului si starea de pe calculator. Butonul "Nu" sterge setarea proprie (DELETE in OPTIUNI_UTIL + reincarcarea cursorului), ca utilizatorul sa revina la setarea firmei sau la implicit; setarea firmei nu se modifica de aici. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01DhJwsrFFe1ZNAAtS8Twuti --- programe/ocautare.prg | 70 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 3 deletions(-) diff --git a/programe/ocautare.prg b/programe/ocautare.prg index 1014a38..3aeecea 100644 --- a/programe/ocautare.prg +++ b/programe/ocautare.prg @@ -56,6 +56,12 @@ *!* inactiv sau perioada s-a incheiat deja; F4 arata intotdeauna perioada completa si mesajul primit *!* de la ANAF, inclusiv cand nu exista partener cu codul corect +*!* 28.07.2026 +*!* marius.mutu +*!* optiunea de verificare ANAF arata separat setarea utilizatorului, setarea firmei, implicitul +*!* programului si starea de pe calculator; utilizatorul isi poate sterge propria setare, ca sa revina +*!* la setarea firmei sau la implicitul programului + *!* #DEFINE CRLF CHR(13) + CHR(10) #INCLUDE COMUN\ROA.H @@ -335,7 +341,7 @@ Endproc && AplicaInlocuirePartenerANAF Procedure ANAF_ComutaVerificare *** valori: 0 = oprit, 1 = starea pe randul curent, 3 = starea si confirmarea la partener discordant, 9 = oprit pe acest calculator - Local lcSel, lcOptiune, lcEticheta, lcValIni, lcValUtil, lcValFirma, lcSursa, lnNivel, lnNou, lcMesaj + Local lcSel, lcOptiune, lcEticheta, lcValIni, lcValUtil, lcValFirma, lcSursa, lnNivel, lnNou, lcMesaj, lnRasp lcEticheta = 'Verificare ANAF la alegerea partenerului' lcOptiune = 'RC_ANAF_VERIF_SELECTIE' @@ -363,12 +369,22 @@ Procedure ANAF_ComutaVerificare lcMesaj = 'Acum: ' + Transform(m.lnNivel) + ' - ' + ANAF_TextNivel(m.lnNivel) + Chr(13) + ; '(' + m.lcSursa + ')' + Chr(13) + Chr(13) + ; + ' Utilizatorul curent : ' + ANAF_TextSetare(m.lcValUtil) + Chr(13) + ; + ' Firma : ' + ANAF_TextSetare(m.lcValFirma) + Chr(13) + ; + ' Implicit program : 1 - ' + ANAF_TextNivel(1) + Chr(13) + ; + ' Acest calculator : ' + Iif(m.lcValIni == '0', 'verificare oprita', 'verificare pornita') + Chr(13) + Chr(13) + ; ' 0 = ' + ANAF_TextNivel(0) + Chr(13) + ; ' 1 = ' + ANAF_TextNivel(1) + Chr(13) + ; ' 3 = ' + ANAF_TextNivel(3) + Chr(13) + ; ' 9 = ' + ANAF_TextNivel(9) + Chr(13) + Chr(13) + ; - 'Valorile 0, 1 si 3 va urmaresc pe orice calculator.' - If Amessagebox(m.lcMesaj + Chr(13) + Chr(13) + 'Modificati valoarea?', 4 + 32, lcEticheta) <> 6 + 'Valorile 0, 1 si 3 va urmaresc pe orice calculator.' + Chr(13) + Chr(13) + ; + 'Da = aleg o valoare, Nu = revin la setarea firmei / implicita, Renunta = las asa' + lnRasp = Amessagebox(m.lcMesaj, 3 + 32, m.lcEticheta) + If m.lnRasp = 7 + ANAF_ReseteazaVerificare(m.lcOptiune, m.lcEticheta, m.lcValUtil, m.lcValFirma) + Return + Endif + If m.lnRasp <> 6 Return Endif lnNou = aInputBox('Valoarea noua (0, 1, 3 sau 9):', m.lcEticheta, Iif(m.lcValIni == '0', 9, m.lnNivel)) @@ -395,6 +411,54 @@ Procedure ANAF_ComutaVerificare Endif Endproc && ANAF_ComutaVerificare +Procedure ANAF_ReseteazaVerificare + Lparameters tcOptiune, tcEticheta, tcValUtil, tcValFirma + + Local lnNivel + If Empty(m.tcValUtil) + Amessagebox('Nu exista o setare proprie de sters: se foloseste deja ' + ; + Iif(Empty(m.tcValFirma), 'valoarea implicita a programului.', 'setarea firmei.'), 0 + 64, m.tcEticheta) + Return + Endif + If !ANAF_StergeOptiuneUtilizator(m.tcOptiune) + Return + Endif + If Type('goCacheANAF_Nivel') = 'O' + Release goCacheANAF_Nivel + Endif + lnNivel = ANAF_NivelVerificare() + Amessagebox('Acum: ' + Transform(m.lnNivel) + ' - ' + ANAF_TextNivel(m.lnNivel), 0 + 64, m.tcEticheta) +Endproc && ANAF_ReseteazaVerificare + +Procedure ANAF_StergeOptiuneUtilizator + Lparameters tcOptiune + + Local lcSel, lcSql, lnSucces + lcSel = Select() + lcSql = [DELETE FROM OPTIUNI_UTIL WHERE UPPER(VARNAME) = '] + Upper(Alltrim(m.tcOptiune)) + ; + [' AND ID_UTIL = ] + Transform(gnIdUtil) + lnSucces = goExecutor.oExecute(m.lcSql) + If m.lnSucces < 0 + Amessagebox(goExecutor.cEroare, 0 + 16, 'Eroare') + Select (m.lcSel) + Return .F. + Endif + actualizeaza_optiuni_utilizator() + Select (m.lcSel) + Return .T. +Endproc && ANAF_StergeOptiuneUtilizator + +Procedure ANAF_TextSetare + Lparameters tcVal + + Local lnNivel + If Empty(Nvl(m.tcVal, '')) + Return 'nesetata' + Endif + lnNivel = Int(Val(m.tcVal)) + Return Transform(m.lnNivel) + ' - ' + ANAF_TextNivel(m.lnNivel) +Endproc && ANAF_TextSetare + Procedure ANAF_TextNivel Lparameters tnNivel Do Case