sync SVN r18038

This commit is contained in:
2026-08-23 10:29:05 +03:00
parent 2b695b3656
commit 887ac9faec
8 changed files with 1519 additions and 362 deletions

View File

@@ -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)