Verificare ANAF si la caut_partener: achizitie import, finalizare NIR, furnizor pe rulaj

caut_partener primeste tlVerificaANAF/tdDataDoc (acelasi bloc ca la caut_parteneri) si citeste
tip_persoana din vnom_parteneri, ca banda de stare sa distinga CNP de CIF, nu dupa lungimea codului.

Apelanti pe documente: factura si partenerul DVI din achizitia de import (data din formular,
dDataAct), furnizorul de la finalizarea NIR-ului (data cade pe poAct.dataact) si schimbarea
furnizorului pe rulaj.

verific_partener si verificare_note_contabile (ooperatii_comune.prg) cer verificarea si cand
completeaza partenerul lipsa pe cont, la salvarea documentului.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RYbiinqXxdEqXi53x4Ro7K
This commit is contained in:
2026-08-02 10:09:12 +03:00
parent 7abec07549
commit 521993bf85
4 changed files with 31 additions and 8 deletions

View File

@@ -6389,7 +6389,7 @@ DEFINE CLASS import_adauga_factura AS _frmbase OF "_frm_base.vcx"
PROCEDURE cmdDviPartener.Click
Local loCauta
loCauta = caut_partener(-2, 'Alegeti partenerul DVI', .F., .T.)
loCauta = caut_partener(-2, 'Alegeti partenerul DVI', .F., .T., .T., Thisform.dDataAct)
If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_part, 0))
Thisform.nDviIdPartener = loCauta.id_part
Thisform.cDviPartener = Alltrim(loCauta.denumire)
@@ -6462,7 +6462,7 @@ DEFINE CLASS import_adauga_factura AS _frmbase OF "_frm_base.vcx"
PROCEDURE cmdPartener.Click
Local loCauta
loCauta = caut_partener(-2, 'Alegeti furnizorul', .F., .T.)
loCauta = caut_partener(-2, 'Alegeti furnizorul', .F., .T., .T., Thisform.dDataAct)
If Vartype(loCauta) = 'O' And !Empty(Nvl(loCauta.id_part, 0))
Thisform.nIdPartener = loCauta.id_part
Thisform.cPartener = Alltrim(loCauta.denumire)
@@ -9950,7 +9950,7 @@ DEFINE CLASS import_nota AS frm_termin_renunt OF "_frm_child.vcx"
Gather Name poAct
Gather Name loFact Fields serie_Act, nract, explicatia, explicatia4, explicatia5
Replace scd With "", ascd With "", scc With "401", ascc With "",suma With 0,proc_tva With 0,id_jtva_coloana WITH Null
loCauta = caut_partener([-2],[Alegeti furnizorul])
loCauta = caut_partener([-2],[Alegeti furnizorul],,, .T.)
If !Isnull(loCauta)
Thisform.nid_part_finalizarenir = loCauta.id_part
Select actactan

View File

@@ -5018,7 +5018,7 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx"
ENDPROC
PROCEDURE pgframe.Page2.but_modifica_furnizor.Click
loCaut = caut_partener()
loCaut = caut_partener(,,,, .T., Thisform.dataact)
IF TYPE('loCaut') = 'O' AND !ISNULL(loCaut)
thisform.partener = ALLTRIM(loCaut.denumire)
thisform.id_partener = loCaut.id_part

View File

@@ -69,6 +69,11 @@
*!* arata atunci data verificarii citite din istoric, cu mentiune explicita cand ANAF e indisponibil;
*!* ordinea de incercare ANAF/istoric e configurabila per firma
*!* 02.08.2026
*!* marius.mutu
*!* verificarea ANAF se poate cere si la caut_partener (parametri optionali de verificare
*!* si de data a documentului), pentru achizitia de import si pentru schimbarea furnizorului pe rulaj
*!* #DEFINE CRLF CHR(13) + CHR(10)
#INCLUDE COMUN\ROA.H
@@ -1456,7 +1461,7 @@ Endfunc && caut_parteneri_xml
* author : paula.mutu
* -- SIR CU ID-URI TIP PARTENER PENTRU -1,-2 (CLIENT/FURNIZOR)
******************************************* INCEPUT:caut_partener *******************************************
Procedure caut_partener(tcIdTipPart, tcTitlu, tlToateIreg, tlNou)
Procedure caut_partener(tcIdTipPart, tcTitlu, tlToateIreg, tlNou, tlVerificaANAF, tdDataDoc)
Private pnIdTip, pcSir_Id_tip_part
Store '' To pcSir_Id_tip_part
@@ -1473,7 +1478,7 @@ Procedure caut_partener(tcIdTipPart, tcTitlu, tlToateIreg, tlNou)
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store "" To loCauta
lcSelect = [select denumire, cod_fiscal, id_part from vnom_parteneri ]
lcSelect = [select denumire, cod_fiscal, id_part, tip_persoana from vnom_parteneri ]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [denumire]
@@ -1495,8 +1500,26 @@ Procedure caut_partener(tcIdTipPart, tcTitlu, tlToateIreg, tlNou)
lcNumeProc = []
Endif
lcTitluColoane = [Denumire,Cod fiscal,Id]
Local lnNivelANAF
Private poVerifAlegere, poANAFInlocuire
poVerifAlegere = .Null.
poANAFInlocuire = .Null.
If m.tlVerificaANAF
lnNivelANAF = ANAF_NivelVerificare()
If m.lnNivelANAF > 0
poVerifAlegere = Createobject('anaf_verif_cautare')
poVerifAlegere.dDataDoc = ANAF_CaData(m.tdDataDoc)
poVerifAlegere.nNivel = m.lnNivelANAF
Endif
Endif
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007
If Type('gnbuton') = 'N' And gnbuton = 1
AplicaInlocuirePartenerANAF(loCauta, poANAFInlocuire)
Endif
Return loCauta
Endproc

View File

@@ -439,7 +439,7 @@ Function verific_partener
llNou = .T.
*!* modificare 10.12.2010
loCauta = CautPartenerContabilitate(GetHash([cTitlu=>] + Alltrim(lcTitlu)+[??cCont=>] + Alltrim(lcCont) + [??] + ;
[lAdaugCorespondente=>1]))
[lAdaugCorespondente=>1??lVerificaANAF=>1]))
*!* locauta = caut_parteneri(lcCont, lcTitlu,,llNou)
*!* modificare 10.12.2010 ^
If !Empty(loCauta.id_part)
@@ -889,7 +889,7 @@ Procedure verificare_note_contabile
*!* modificare 10.12.2010
loPart = CautPartenerContabilitate(GetHash([cTitlu=>] + Alltrim(lcTitlu) + [??] + ;
[cCont=>] + Alltrim(lcCont) + [??] + ;
[lAdaugCorespondente=>1]))
[lAdaugCorespondente=>1??lVerificaANAF=>1]))
*!* loPart = caut_parteneri(lcCont , lcTitlu)
*!* modificare 10.12.2010 ^
Select (lcAct)