sync SVN r18038
This commit is contained in:
@@ -4772,7 +4772,7 @@ Function verifica_partener_show_info
|
||||
*** tcMesajIntrebare: IN, optional, daca se intreaba ceva la sfarsitul formularului (ex: Se completeaza datele in formularul partener nou?)
|
||||
|
||||
Local lcCodFiscal, lcDenumire, lcText, llCodRO, llPlatitorTVAMfin, llPlatitorTVAVIES, lnDialogType
|
||||
Local lnRaspuns, loPartener, lcProvenienta, lcPerioade
|
||||
Local lnRaspuns, loPartener, lcSursaPrefix, llAtentie, lcTVA, lcStareFirma, lcIdent, lcMesajAnaf
|
||||
|
||||
lcCodFiscal = Transform(m.tcCodFiscal)
|
||||
lcDenumire = Transform(m.tcDenumire)
|
||||
@@ -4784,50 +4784,68 @@ Function verifica_partener_show_info
|
||||
llTvaIncasare = loPartener.tvaincasare
|
||||
llSplitTVA = loPartener.splittva
|
||||
llInactiv = loPartener.inactiv
|
||||
*!* 01.08.2026 marius.mutu: marcaj explicit al sursei (ANAF live / cache), nu doar pe randurile din cache
|
||||
lcProvenienta = ''
|
||||
llAtentie = ((m.llPlatitorTVAMfin And !m.llCodRO) Or (!m.llPlatitorTVAMfin And m.llCodRO)) Or m.llInactiv
|
||||
|
||||
*!* 22.08.2026 marius.mutu: marcaj explicit al sursei (ANAF live / cache), ca prefix pe linia denumirii
|
||||
lcSursaPrefix = ''
|
||||
If Pemstatus(m.loPartener, 'sursa', 5) And !Empty(Alltrim(Nvl(loPartener.sursa, '')))
|
||||
lcProvenienta = Iif(Alltrim(Nvl(loPartener.sursa, '')) == 'ANAF', '(sursa: ANAF)', ;
|
||||
'(sursa: CACHE ' + Dtoc(Nvl(loPartener.data_sursa, Date())) + Iif(Alltrim(Nvl(loPartener.sursa, '')) == 'CACHE_INDISP', ', ANAF indisponibil', '') + ')')
|
||||
lcSursaPrefix = Iif(Alltrim(Nvl(loPartener.sursa, '')) == 'ANAF', 'ANAF: ', ;
|
||||
'CACHE ' + Dtoc(Nvl(loPartener.data_sursa, Date())) + Iif(Alltrim(Nvl(loPartener.sursa, '')) == 'CACHE_INDISP', ' (ANAF indisponibil)', '') + ': ')
|
||||
Endif
|
||||
|
||||
*!* 22.08.2026 marius.mutu: perioadele ANAF, doar cele completate (traseul mfinante.ro nu le are)
|
||||
lcPerioade = ''
|
||||
*!* 22.08.2026 marius.mutu: mesaj grupat pe sectiuni TVA/STARE FIRMA/IDENTIFICARE, fara campuri goale
|
||||
lcMesajAnaf = Iif(!Empty(Alltrim(Nvl(loPartener.stare, ''))), 'Mesaj ANAF: ' + Alltrim(loPartener.stare) + crlf, '')
|
||||
|
||||
lcTVA = Iif(m.llPlatitorTVAMfin, "Platitor TVA: DA (la " + Alltrim(loPartener.datatvamfin) + ")", "Platitor TVA: NU") + crlf
|
||||
lcStareFirma = 'Inactiv: ' + Iif(m.llInactiv, 'DA', 'NU') + crlf
|
||||
If Pemstatus(m.loPartener, 'data_inceput_scptva', 5)
|
||||
If !Empty(Nvl(loPartener.data_inceput_scptva, {}))
|
||||
lcPerioade = m.lcPerioade + 'Perioada TVA: ' + Dtoc(loPartener.data_inceput_scptva) + ' - ' + ;
|
||||
lcTVA = m.lcTVA + 'Perioada TVA: ' + Dtoc(loPartener.data_inceput_scptva) + ' - ' + ;
|
||||
Iif(Empty(Nvl(loPartener.data_sfarsit_scptva, {})), 'in vigoare', Dtoc(loPartener.data_sfarsit_scptva)) + ;
|
||||
Iif(Empty(Nvl(loPartener.data_anul_imp_scptva, {})), '', ' (anulare din oficiu: ' + Dtoc(loPartener.data_anul_imp_scptva) + ')') + crlf
|
||||
Endif
|
||||
lcTVA = m.lcTVA + m.lcMesajAnaf + 'TVA la incasare: ' + Iif(m.llTvaIncasare, 'DA', 'NU') + crlf
|
||||
If !Empty(Nvl(loPartener.data_inceput_tvainc, {}))
|
||||
lcPerioade = m.lcPerioade + 'Perioada TVA la incasare: ' + Dtoc(loPartener.data_inceput_tvainc) + ' - ' + ;
|
||||
lcTVA = m.lcTVA + 'Perioada TVA la incasare: ' + Dtoc(loPartener.data_inceput_tvainc) + ' - ' + ;
|
||||
Iif(Empty(Nvl(loPartener.data_sfarsit_tvainc, {})), 'in vigoare', Dtoc(loPartener.data_sfarsit_tvainc)) + crlf
|
||||
Endif
|
||||
lcTVA = m.lcTVA + 'Split TVA: ' + Iif(m.llSplitTVA, 'DA', 'NU') + crlf
|
||||
If !Empty(Nvl(loPartener.data_inactivare, {}))
|
||||
lcPerioade = m.lcPerioade + 'Inactivare: ' + Dtoc(loPartener.data_inactivare) + ;
|
||||
lcStareFirma = m.lcStareFirma + 'Inactivare: ' + Dtoc(loPartener.data_inactivare) + ;
|
||||
Iif(Empty(Nvl(loPartener.data_reactivare, {})), '', ' Reactivare: ' + Dtoc(loPartener.data_reactivare)) + crlf
|
||||
Endif
|
||||
Else
|
||||
lcTVA = m.lcTVA + m.lcMesajAnaf + 'TVA la incasare: ' + Iif(m.llTvaIncasare, 'DA', 'NU') + crlf + ;
|
||||
'Split TVA: ' + Iif(m.llSplitTVA, 'DA', 'NU') + crlf
|
||||
Endif
|
||||
|
||||
lcIdent = ''
|
||||
If !Empty(loPartener.adresa)
|
||||
lcIdent = m.lcIdent + 'Adresa: ' + Alltrim(loPartener.adresa) + crlf
|
||||
Endif
|
||||
If !Empty(loPartener.judet)
|
||||
lcIdent = m.lcIdent + 'Judet: ' + loPartener.judet + crlf
|
||||
Endif
|
||||
If !Empty(loPartener.regcom)
|
||||
lcIdent = m.lcIdent + 'Reg. comertului: ' + loPartener.regcom + crlf
|
||||
Endif
|
||||
If !Empty(loPartener.codpostal)
|
||||
lcIdent = m.lcIdent + 'Cod postal: ' + loPartener.codpostal + crlf
|
||||
Endif
|
||||
If !Empty(loPartener.telefon)
|
||||
lcIdent = m.lcIdent + 'Telefon: ' + loPartener.telefon + crlf
|
||||
Endif
|
||||
If !Empty(loPartener.fax)
|
||||
lcIdent = m.lcIdent + 'Fax: ' + loPartener.fax + crlf
|
||||
Endif
|
||||
|
||||
lcText = 'VERIFICARE CIF: ' + m.lcCodFiscal + ' ' + m.lcDenumire + crlf + crlf + ;
|
||||
Alltrim(loPartener.firma) + crlf + ;
|
||||
Iif(!Empty(m.lcProvenienta), m.lcProvenienta + crlf, '') + ;
|
||||
Iif((m.llPlatitorTVAMfin And !m.llCodRO) Or (!m.llPlatitorTVAMfin And m.llCodRO), ' *** ATENTIE *** ', '') + ;
|
||||
Iif(m.llPlatitorTVAMfin, "PLATITOR TVA (" + Alltrim(loPartener.datatvamfin) + ")", "NEPLATITOR TVA") + crlf + ;
|
||||
'Stare: ' + Alltrim(loPartener.stare) + crlf + ;
|
||||
'TVA Incasare: ' + Iif(m.llTvaIncasare, 'DA', 'NU') + crlf + ;
|
||||
'Split TVA: ' + Iif(m.llSplitTVA, 'DA', 'NU') + crlf + ;
|
||||
'Inactiv: ' + Iif(m.llInactiv, 'DA *** ATENTIE!', 'NU') + crlf + ;
|
||||
m.lcPerioade + ;
|
||||
'----------------------------------------------------' + crlf + ;
|
||||
'* Adresa: ' + Alltrim(loPartener.adresa) + crlf + ;
|
||||
'* Judet: ' + loPartener.judet + crlf + ;
|
||||
'* Nr. inregistrare la Registrul Comertului: ' + loPartener.regcom + crlf + ;
|
||||
'* Cod Postal: ' + loPartener.codpostal + crlf + ;
|
||||
'* Telefon: ' + loPartener.telefon + crlf + ;
|
||||
'* Fax: ' + loPartener.fax + crlf + ;
|
||||
Iif(!Empty(loPartener.eroare), Alltrim(loPartener.eroare) + crlf, '') + ;
|
||||
'----------------------------------------------------' + crlf + crlf + ;
|
||||
m.lcSursaPrefix + Alltrim(loPartener.firma) + crlf + ;
|
||||
Iif(m.llAtentie, ' *** ATENTIE *** ' + crlf, '') + crlf + ;
|
||||
'--- TVA ---' + crlf + m.lcTVA + crlf + ;
|
||||
Iif(!Empty(m.lcStareFirma), '--- STARE FIRMA ---' + crlf + m.lcStareFirma + crlf, '') + ;
|
||||
Iif(!Empty(m.lcIdent), '--- IDENTIFICARE ---' + crlf + m.lcIdent + crlf, '') + ;
|
||||
Iif(!Empty(loPartener.eroare), Alltrim(loPartener.eroare) + crlf + crlf, '') + ;
|
||||
Iif(!Empty(m.tcMesajIntrebare), m.tcMesajIntrebare + crlf + crlf + crlf, "")
|
||||
|
||||
lnRaspuns = amessagebox(lcText, m.lnDialogType, _Screen.Caption)
|
||||
@@ -4841,20 +4859,13 @@ Function GetMeniuVerificareCodFiscal
|
||||
llVerificareCod = Type('tcCodFiscal') = 'C' And !Empty(m.tcCodFiscal)
|
||||
lcMeniuOptiuniAnte = Iif(Type('tcOptiuniMeniuAnte') = 'C' And !Empty(m.tcOptiuniMeniuAnte), Alltrim(m.tcOptiuniMeniuAnte), '')
|
||||
|
||||
*!* 22.08.2026 marius.mutu: meniu scurtat, un raspuns ANAF acopera toate verificarile separate de mai jos
|
||||
lcMenu = lcMeniuOptiuniAnte + ;
|
||||
Iif(!m.llVerificareCod, "\", "") + "Verificare ANAF (automat);" + ;
|
||||
Iif(!m.llVerificareCod, "\", "") + "VERIFICARE ANAF;" + ;
|
||||
Iif(!m.llVerificareCod, "\", "") + "VERIFICARE VIES;" + ;
|
||||
"ISTORIC VERIFICARI COD FISCAL;" + ;
|
||||
"\-;" + ;
|
||||
Iif(!m.llVerificareCod, "\", "") + "Verificare MFINANTE (manual);" + ;
|
||||
"\-;" + ;
|
||||
Iif(!m.llVerificareCod, "\", "") + "Verificare Registru inactivi ANAF (manual);" + ;
|
||||
"\-;" + ;
|
||||
Iif(!m.llVerificareCod, "\", "") + "Verificare Registru TVA Incasare (automat);" + ;
|
||||
Iif(!m.llVerificareCod, "\", "") + "Verificare Registru TVA Incasare (manual);" + ;
|
||||
"\-;" + ;
|
||||
Iif(!m.llVerificareCod, "\", "") + "Verificare VIES (automat);" + ;
|
||||
Iif(!m.llVerificareCod, "\", "") + "Verificare VIES (manual);" + ;
|
||||
"\-;" + ;
|
||||
"Istoric verificari cod fiscal"
|
||||
Iif(!m.llVerificareCod, "\", "") + "DESCHIDE FISA PE MFINANTE.RO"
|
||||
|
||||
Return m.lcMenu
|
||||
Endfunc
|
||||
@@ -4867,14 +4878,11 @@ Function GetOptiuneVerificareCodFiscal
|
||||
|
||||
lnOptiune = Iif(Type('tnOptiune') = 'N', m.tnOptiune, 0)
|
||||
|
||||
*!* 22.08.2026 marius.mutu: numerotare pe meniul scurtat (1 ANAF, 2 VIES, 3 ISTORIC, 5 MFINANTE.RO)
|
||||
lcTipVerificare = Iif(m.lnOptiune = 1, 'ANAF_SERVICIU_WEB', ;
|
||||
Iif(m.lnOptiune = 3, 'MFIN_MANUAL_COD', ;
|
||||
Iif(m.lnOptiune = 5, 'ANAF_MANUAL_COD', ;
|
||||
Iif(m.lnOptiune = 7, 'RTVAI_AUTO_COD', ;
|
||||
Iif(m.lnOptiune = 8, 'RTVAI_MANUAL_COD', ;
|
||||
Iif(m.lnOptiune = 10, 'VIES_AUTO', ;
|
||||
Iif(m.lnOptiune = 11, 'VIES_MANUAL', ;
|
||||
Iif(m.lnOptiune = 13, 'ISTORIC', ''))))))))
|
||||
Iif(m.lnOptiune = 2, 'VIES_AUTO', ;
|
||||
Iif(m.lnOptiune = 3, 'ISTORIC', ;
|
||||
Iif(m.lnOptiune = 5, 'MFIN_MANUAL_COD', ''))))
|
||||
|
||||
Return m.lcTipVerificare
|
||||
Endfunc
|
||||
|
||||
@@ -958,6 +958,10 @@ Define Class VerificareCod As Custom
|
||||
If Type("This.oHTTP") <> "O" && la prima apelare a verificarii MFIN
|
||||
If This.lXMLHTTP
|
||||
This.oHTTP = Createobject("winhttp.winhttprequest.5.1")
|
||||
Try
|
||||
This.oHTTP.SetTimeouts(5000, 5000, 10000, 15000)
|
||||
Catch To loEx
|
||||
Endtry
|
||||
Else
|
||||
This.oHTTP = Createobject("InternetExplorer.Application")
|
||||
This.oHTTP.Visible = .F.
|
||||
@@ -1174,6 +1178,10 @@ Define Class VerificareCod As Custom
|
||||
Try
|
||||
*!* loHTTP = Createobject("MSXML2.ServerXMLHTTP")
|
||||
loHTTP = Createobject("winhttp.winhttprequest.5.1")
|
||||
Try
|
||||
loHTTP.SetTimeouts(5000, 5000, 10000, 20000)
|
||||
Catch To loEx
|
||||
Endtry
|
||||
loHTTP.Open("GET", lcRomfastURL, .F.)
|
||||
loHTTP.Send()
|
||||
lnStatus = loHTTP.Status
|
||||
@@ -1236,9 +1244,16 @@ Define Class VerificareCod As Custom
|
||||
*!* 15.03.2010 ^
|
||||
ENDIF && .F.
|
||||
Try
|
||||
*!* 23.08.2026 marius.mutu: text/xml (nu urlencoded) - serviciul VIES da 400 pe content-type gresit
|
||||
lcViesURL = "https://ec.europa.eu/taxation_customs/vies/services/checkVatService"
|
||||
loHTTP = Createobject("winhttp.winhttprequest.5.1")
|
||||
loHTTP.Open("POST", "http://ec.europa.eu/taxation_customs/vies/services/checkVatService", .F.)
|
||||
loHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
|
||||
*!* 23.08.2026 marius.mutu: timeout, altfel apelul blocheaza formularul la nesfarsit daca serviciul nu raspunde
|
||||
Try
|
||||
loHTTP.SetTimeouts(5000, 5000, 10000, 20000)
|
||||
Catch To loEx
|
||||
Endtry
|
||||
loHTTP.Open("POST", m.lcViesURL, .F.)
|
||||
loHTTP.setRequestHeader('Content-Type', 'text/xml; charset=utf-8')
|
||||
|
||||
TEXT TO lcValues NOSHOW TEXTMERGE
|
||||
<s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>
|
||||
@@ -1249,20 +1264,21 @@ Define Class VerificareCod As Custom
|
||||
</checkVat>
|
||||
</s:Body>
|
||||
</s:Envelope>
|
||||
ENDTEXT
|
||||
ENDTEXT
|
||||
|
||||
loHTTP.Send(lcValues)
|
||||
lnStatus = loHTTP.Status
|
||||
If lnStatus = 200 && OK
|
||||
If lnStatus = 200 && OK
|
||||
lcXML = loHTTP.responseText
|
||||
llPlatitorTVA = (STREXTRACT(m.lcXML, [<valid>],[</valid>],1,1) = 'true') && true/false
|
||||
lcFirma = STRTRAN(STREXTRACT(m.lcXML, [<name>],[</name>],1,1), '-','',1,10,1)
|
||||
lcAdresa = STRTRAN(STREXTRACT(m.lcXML, [<address>],[</address>],1,1), '-','',1,10,1)
|
||||
*!* 23.08.2026 marius.mutu: raspunsul are prefix de namespace (ns2:valid, ns2:name...) - delimitatorii vechi <valid> nu se mai potriveau
|
||||
llPlatitorTVA = (STREXTRACT(m.lcXML, [valid>],[<],1,1) = 'true') && true/false
|
||||
lcFirma = STRTRAN(STREXTRACT(m.lcXML, [name>],[<],1,1), '-','',1,10,1)
|
||||
lcAdresa = STRTRAN(STREXTRACT(m.lcXML, [address>],[<],1,1), '-','',1,10,1)
|
||||
lcAdresa = Strtran(m.lcAdresa, Chr(13) + CHR(10), ' ')
|
||||
llVies = .T.
|
||||
llVies = .T.
|
||||
Else
|
||||
lcEroare = 'VERIFICARE_CIF VIES - ' + m.lcViesURL + ' eroare ' + Alltrim(Str(lnStatus))
|
||||
Endif && lnStatus
|
||||
Endif && lnStatus
|
||||
Catch To loEx
|
||||
lcEroare = 'VERIFICARE_CIF VIES ' + CRLF + loEx.Message + " " + loEx.LineContents + " " + Transform(loEx.Lineno)
|
||||
This.Log(m.lcEroare)
|
||||
|
||||
Reference in New Issue
Block a user