teste storno eFactura: e2e runda 2-5, diagnostic ANAF 1814 (E1-E4: validare /prod/ inainte de upload /test/), Raspunsuri (nimic) (test6-8)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WsxyCHJYL6W9MZ6FPnH8ax
This commit is contained in:
2026-09-19 22:11:14 +03:00
parent a682e7985b
commit 4040cff4f1
9 changed files with 692 additions and 6 deletions

View File

@@ -32,12 +32,28 @@ DEFINE CLASS MockAnafServerStorno AS Custom
LOCAL loReturn LOCAL loReturn
This.RegMock('TrimiteFacturaXML', tcFile, TRANSFORM(tlB2C)) This.RegMock('TrimiteFacturaXML', tcFile, TRANSFORM(tlB2C))
loReturn = CREATEOBJECT('Empty') loReturn = CREATEOBJECT('Empty')
ADDPROPERTY(loReturn, 'lSucces', .T.)
ADDPROPERTY(loReturn, 'cIdIncarcare', 'MOCK-ID-STORNO-12345')
ADDPROPERTY(loReturn, 'cMesaj', '')
ADDPROPERTY(loReturn, 'cResponse', '<mock ok/>')
ADDPROPERTY(loReturn, 'nStatus', 200)
ADDPROPERTY(loReturn, 'cFile', TRANSFORM(tcFile)) ADDPROPERTY(loReturn, 'cFile', TRANSFORM(tcFile))
* gnMockTrimiteMod (test_storno_e2e.prg): 0=succes, 1=ANAF a raspuns clar cu eroare (HTTP 200), 2=eroare de retea (HTTP 0)
DO CASE
CASE TYPE('gnMockTrimiteMod') = 'N' AND gnMockTrimiteMod = 1
ADDPROPERTY(loReturn, 'lSucces', .T.)
ADDPROPERTY(loReturn, 'cIdIncarcare', '')
ADDPROPERTY(loReturn, 'cMesaj', 'TEST ANAF a respins incarcarea: A aparut o eroare tehnica. Cod: 1814')
ADDPROPERTY(loReturn, 'cResponse', '<mock err1814/>')
ADDPROPERTY(loReturn, 'nStatus', 200)
CASE TYPE('gnMockTrimiteMod') = 'N' AND gnMockTrimiteMod = 2
ADDPROPERTY(loReturn, 'lSucces', .F.)
ADDPROPERTY(loReturn, 'cIdIncarcare', '')
ADDPROPERTY(loReturn, 'cMesaj', 'Eroare de comunicare cu ANAF - Http Status: 0. Raspuns: ')
ADDPROPERTY(loReturn, 'cResponse', '')
ADDPROPERTY(loReturn, 'nStatus', 0)
OTHERWISE
ADDPROPERTY(loReturn, 'lSucces', .T.)
ADDPROPERTY(loReturn, 'cIdIncarcare', 'MOCK-ID-STORNO-12345')
ADDPROPERTY(loReturn, 'cMesaj', '')
ADDPROPERTY(loReturn, 'cResponse', '<mock ok/>')
ADDPROPERTY(loReturn, 'nStatus', 200)
ENDCASE
RETURN loReturn RETURN loReturn
ENDPROC ENDPROC

View File

@@ -0,0 +1,124 @@
* test5_1814_e1.prg
* E1 (docs\storno_eroare_1814_diagnostic.md): retrimite pe ANAF TEST EXACT fisierul storno SSS 1156-S
* care a primit "Cod: 1814" la Marius (19.09.2026 17:45), fara regenerare. Scop: 1814 e determinist?
* Un singur upload. Garzi: sha1 fisier, lTest, token, CIF - inainte de TrimiteFacturaXML.
*
* Rulare: powershell -ExecutionPolicy Bypass -File D:\ROA\ROACONT\COMUN\utile\Teste\watchdog_vfp.ps1 -Script D:\ROA\ROACONT\COMUN\utile\Teste\storno\test5_1814_e1.prg -AutoDismiss -TimeoutSec 240
* Iesire: test5_1814_e1_log.txt (+ test5_1814_e1_golog.txt cu liniile SendEFactura), acelasi folder
SET SAFETY OFF
SET TALK OFF
SET DELETED ON
SET EXACT ON
SET CENTURY ON
SET DATE DMY
SET NULLDISPLAY TO ''
CLOSE DATABASES
PUBLIC gcUILog, gcDir
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
gcUILog = gcDir + "test5_1814_e1_log.txt"
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
ON SHUTDOWN QUIT
TRY
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
IF gnHandle <= 0
DO PrLogLocal WITH 'FAIL: conectare Oracle esuata (gnHandle=' + TRANSFORM(gnHandle) + ')'
QUIT
ENDIF
DO PrLogLocal WITH 'mediu initializat, gnHandle=' + TRANSFORM(gnHandle)
* SendEFactura scrie URL-ul si raspunsul prin goLog; Log_Mesaje nu scrie daca fisierul lipseste
goLog.cLogFile = gcDir + "test5_1814_e1_golog.txt"
STRTOFILE('', goLog.cLogFile)
LOCAL lcFile, lcSha1Asteptat, lcSha1
lcFile = "D:\ROA\Efactura\2026_09\MARIUSM_AUTO_SUC_1_TEXT_LUNG_IN_DENUMIERA_FIRMEI_SRL\TRIMISE\storno_SSS 1156-S_1879855.xml"
lcSha1Asteptat = 'e14d55f8fa7824529f0f03ff1724c5c3dedb1867'
IF !FILE(lcFile)
DO PrLogLocal WITH 'BLOCAT: nu exista fisierul: ' + lcFile
QUIT
ENDIF
lcSha1 = Sha1Fisier(lcFile)
DO PrLogLocal WITH 'fisier=' + lcFile + ' len=' + TRANSFORM(LEN(FILETOSTR(lcFile))) + ' sha1=' + lcSha1
IF !(lcSha1 == lcSha1Asteptat)
DO PrLogLocal WITH 'BLOCAT: sha1 diferit de ' + lcSha1Asteptat + ' - fisierul a fost regenerat, opresc'
QUIT
ENDIF
LOCAL loAnaf As 'AnafeFacturaServer'
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
loAnaf.lTest = .T.
loAnaf.RefreshTokenAuto()
DO PrLogLocal WITH 'CIF=' + loAnaf.cCodFiscal + ' lTest=' + TRANSFORM(loAnaf.lTest) + ' tokenExp=' + DTOC(loAnaf.dTokenExpdate) + ' tokenGol=' + TRANSFORM(EMPTY(loAnaf.cToken))
* garzi finale, imediat inainte de upload
IF VARTYPE(loAnaf.lTest) <> 'L' OR !loAnaf.lTest
DO PrLogLocal WITH 'BLOCAT: lTest nu e .T.'
QUIT
ENDIF
IF EMPTY(loAnaf.cToken) OR loAnaf.dTokenExpdate <= DATE()
DO PrLogLocal WITH 'BLOCAT: token gol sau expirat'
QUIT
ENDIF
IF !(ALLTRIM(loAnaf.cCodFiscal) == '1879855')
DO PrLogLocal WITH 'BLOCAT: CIF neasteptat: ' + loAnaf.cCodFiscal
QUIT
ENDIF
IF !FILE(lcFile) OR !(Sha1Fisier(lcFile) == lcSha1Asteptat)
DO PrLogLocal WITH 'BLOCAT: fisierul lipseste sau s-a schimbat chiar inainte de upload'
QUIT
ENDIF
DO PrLogLocal WITH '=== UPLOAD 1/1: storno SSS 1156-S byte-identic pe TEST ==='
LOCAL loRet
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
DO PrLogLocal WITH 'upload: lSucces=' + TRANSFORM(loRet.lSucces) + ' status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
DO PrLogLocal WITH 'raspuns brut: ' + NVL(loRet.cResponse,'')
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
CATCH TO loEx
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
ENDTRY
QUIT
**********************************************************
* sha1 prin certutil (sincron, fereastra ascunsa)
FUNCTION Sha1Fisier
LPARAMETERS tcFile
LOCAL loSh, lcOut, lcTxt, lcHash, lnI
lcOut = ADDBS(SYS(2023)) + 'test5_sha1_' + SYS(2015) + '.txt'
loSh = CREATEOBJECT('WScript.Shell')
loSh.Run('cmd /c certutil -hashfile "' + tcFile + '" SHA1 > "' + lcOut + '"', 0, .T.)
lcHash = ''
IF FILE(lcOut)
lcTxt = FILETOSTR(lcOut)
DELETE FILE (lcOut)
FOR lnI = 1 TO GETWORDCOUNT(lcTxt, CHR(13) + CHR(10))
IF LEN(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', '')) = 40
lcHash = LOWER(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', ''))
EXIT
ENDIF
ENDFOR
ENDIF
RETURN lcHash
ENDFUNC
**********************************************************
PROCEDURE PrLogLocal
LPARAMETERS tcMsg
LOCAL lcL
SET SAFETY OFF
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
ENDPROC
**********************************************************
PROCEDURE PrErrLocal
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
ENDPROC

View File

@@ -0,0 +1,124 @@
* test5_1814_e2.prg
* E2 (docs\storno_eroare_1814_diagnostic.md), DOAR daca E1 a primit din nou 1814: storno SSS 1156-S identic
* cu fisierul din E1, minus blocul cac:BillingReference (singura diferenta). Acelasi numar, o singura variabila.
* Un singur upload. Garzi: sha1 fisier, lTest, token, CIF - inainte de TrimiteFacturaXML.
*
* Rulare: powershell -ExecutionPolicy Bypass -File D:\ROA\ROACONT\COMUN\utile\Teste\watchdog_vfp.ps1 -Script D:\ROA\ROACONT\COMUN\utile\Teste\storno\test5_1814_e2.prg -AutoDismiss -TimeoutSec 240
* Iesire: test5_1814_e2_log.txt (+ test5_1814_e2_golog.txt cu liniile SendEFactura), acelasi folder
SET SAFETY OFF
SET TALK OFF
SET DELETED ON
SET EXACT ON
SET CENTURY ON
SET DATE DMY
SET NULLDISPLAY TO ''
CLOSE DATABASES
PUBLIC gcUILog, gcDir
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
gcUILog = gcDir + "test5_1814_e2_log.txt"
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
ON SHUTDOWN QUIT
TRY
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
IF gnHandle <= 0
DO PrLogLocal WITH 'FAIL: conectare Oracle esuata (gnHandle=' + TRANSFORM(gnHandle) + ')'
QUIT
ENDIF
DO PrLogLocal WITH 'mediu initializat, gnHandle=' + TRANSFORM(gnHandle)
* SendEFactura scrie URL-ul si raspunsul prin goLog; Log_Mesaje nu scrie daca fisierul lipseste
goLog.cLogFile = gcDir + "test5_1814_e2_golog.txt"
STRTOFILE('', goLog.cLogFile)
LOCAL lcFile, lcSha1Asteptat, lcSha1
lcFile = gcDir + "out\test5_e2_storno_SSS1156-S_fara_billingref.xml"
lcSha1Asteptat = 'fb9b05149316c056b61f0cdbe3a2c7612f06812b'
IF !FILE(lcFile)
DO PrLogLocal WITH 'BLOCAT: nu exista fisierul: ' + lcFile
QUIT
ENDIF
lcSha1 = Sha1Fisier(lcFile)
DO PrLogLocal WITH 'fisier=' + lcFile + ' len=' + TRANSFORM(LEN(FILETOSTR(lcFile))) + ' sha1=' + lcSha1
IF !(lcSha1 == lcSha1Asteptat)
DO PrLogLocal WITH 'BLOCAT: sha1 diferit de ' + lcSha1Asteptat + ' - fisierul E2 a fost modificat, opresc'
QUIT
ENDIF
LOCAL loAnaf As 'AnafeFacturaServer'
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
loAnaf.lTest = .T.
loAnaf.RefreshTokenAuto()
DO PrLogLocal WITH 'CIF=' + loAnaf.cCodFiscal + ' lTest=' + TRANSFORM(loAnaf.lTest) + ' tokenExp=' + DTOC(loAnaf.dTokenExpdate) + ' tokenGol=' + TRANSFORM(EMPTY(loAnaf.cToken))
* garzi finale, imediat inainte de upload
IF VARTYPE(loAnaf.lTest) <> 'L' OR !loAnaf.lTest
DO PrLogLocal WITH 'BLOCAT: lTest nu e .T.'
QUIT
ENDIF
IF EMPTY(loAnaf.cToken) OR loAnaf.dTokenExpdate <= DATE()
DO PrLogLocal WITH 'BLOCAT: token gol sau expirat'
QUIT
ENDIF
IF !(ALLTRIM(loAnaf.cCodFiscal) == '1879855')
DO PrLogLocal WITH 'BLOCAT: CIF neasteptat: ' + loAnaf.cCodFiscal
QUIT
ENDIF
IF !FILE(lcFile) OR !(Sha1Fisier(lcFile) == lcSha1Asteptat)
DO PrLogLocal WITH 'BLOCAT: fisierul lipseste sau s-a schimbat chiar inainte de upload'
QUIT
ENDIF
DO PrLogLocal WITH '=== UPLOAD 1/1: storno SSS 1156-S FARA BillingReference pe TEST ==='
LOCAL loRet
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
DO PrLogLocal WITH 'upload: lSucces=' + TRANSFORM(loRet.lSucces) + ' status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
DO PrLogLocal WITH 'raspuns brut: ' + NVL(loRet.cResponse,'')
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
CATCH TO loEx
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
ENDTRY
QUIT
**********************************************************
* sha1 prin certutil (sincron, fereastra ascunsa)
FUNCTION Sha1Fisier
LPARAMETERS tcFile
LOCAL loSh, lcOut, lcTxt, lcHash, lnI
lcOut = ADDBS(SYS(2023)) + 'test5_sha1_' + SYS(2015) + '.txt'
loSh = CREATEOBJECT('WScript.Shell')
loSh.Run('cmd /c certutil -hashfile "' + tcFile + '" SHA1 > "' + lcOut + '"', 0, .T.)
lcHash = ''
IF FILE(lcOut)
lcTxt = FILETOSTR(lcOut)
DELETE FILE (lcOut)
FOR lnI = 1 TO GETWORDCOUNT(lcTxt, CHR(13) + CHR(10))
IF LEN(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', '')) = 40
lcHash = LOWER(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', ''))
EXIT
ENDIF
ENDFOR
ENDIF
RETURN lcHash
ENDFUNC
**********************************************************
PROCEDURE PrLogLocal
LPARAMETERS tcMsg
LOCAL lcL
SET SAFETY OFF
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
ENDPROC
**********************************************************
PROCEDURE PrErrLocal
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
ENDPROC

View File

@@ -0,0 +1,136 @@
* test5_1814_e3.prg
* E3 (docs\storno_1814_traseu_ui_vs_script.md): ca E1 + O SINGURA variabila noua: ValidareEFacturaANAF
* (/prod/validare, ca Valideaza() din forma) imediat inainte de upload pe TEST. Storno nou SSS 1156-S3.
* Un singur upload. Garzi: sha1 fisier, lTest, token, CIF - inainte de TrimiteFacturaXML.
*
* Rulare: powershell -ExecutionPolicy Bypass -File D:\ROA\ROACONT\COMUN\utile\Teste\watchdog_vfp.ps1 -Script D:\ROA\ROACONT\COMUN\utile\Teste\storno\test5_1814_e3.prg -AutoDismiss -TimeoutSec 240
* Iesire: test5_1814_e3_log.txt (+ test5_1814_e3_golog.txt cu liniile SendEFactura), acelasi folder
SET SAFETY OFF
SET TALK OFF
SET DELETED ON
SET EXACT ON
SET CENTURY ON
SET DATE DMY
SET NULLDISPLAY TO ''
CLOSE DATABASES
PUBLIC gcUILog, gcDir
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
gcUILog = gcDir + "test5_1814_e3_log.txt"
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
ON SHUTDOWN QUIT
TRY
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
IF gnHandle <= 0
DO PrLogLocal WITH 'FAIL: conectare Oracle esuata (gnHandle=' + TRANSFORM(gnHandle) + ')'
QUIT
ENDIF
DO PrLogLocal WITH 'mediu initializat, gnHandle=' + TRANSFORM(gnHandle)
* SendEFactura scrie URL-ul si raspunsul prin goLog; Log_Mesaje nu scrie daca fisierul lipseste
goLog.cLogFile = gcDir + "test5_1814_e3_golog.txt"
STRTOFILE('', goLog.cLogFile)
LOCAL lcFile, lcSha1Asteptat, lcSha1
lcFile = gcDir + "out\storno_SSS 1156-S3_1879855.xml"
lcSha1Asteptat = 'c407f69020b8d30f2c298e294f9fd1ad60ee96d4'
IF !FILE(lcFile)
DO PrLogLocal WITH 'BLOCAT: nu exista fisierul: ' + lcFile
QUIT
ENDIF
lcSha1 = Sha1Fisier(lcFile)
DO PrLogLocal WITH 'fisier=' + lcFile + ' len=' + TRANSFORM(LEN(FILETOSTR(lcFile))) + ' sha1=' + lcSha1
IF !(lcSha1 == lcSha1Asteptat)
DO PrLogLocal WITH 'BLOCAT: sha1 diferit de ' + lcSha1Asteptat + ' - fisierul a fost regenerat, opresc'
QUIT
ENDIF
LOCAL loAnaf As 'AnafeFacturaServer'
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
loAnaf.lTest = .T.
loAnaf.RefreshTokenAuto()
DO PrLogLocal WITH 'CIF=' + loAnaf.cCodFiscal + ' lTest=' + TRANSFORM(loAnaf.lTest) + ' tokenExp=' + DTOC(loAnaf.dTokenExpdate) + ' tokenGol=' + TRANSFORM(EMPTY(loAnaf.cToken))
* garzi finale, imediat inainte de upload
IF VARTYPE(loAnaf.lTest) <> 'L' OR !loAnaf.lTest
DO PrLogLocal WITH 'BLOCAT: lTest nu e .T.'
QUIT
ENDIF
IF EMPTY(loAnaf.cToken) OR loAnaf.dTokenExpdate <= DATE()
DO PrLogLocal WITH 'BLOCAT: token gol sau expirat'
QUIT
ENDIF
IF !(ALLTRIM(loAnaf.cCodFiscal) == '1879855')
DO PrLogLocal WITH 'BLOCAT: CIF neasteptat: ' + loAnaf.cCodFiscal
QUIT
ENDIF
IF !FILE(lcFile) OR !(Sha1Fisier(lcFile) == lcSha1Asteptat)
DO PrLogLocal WITH 'BLOCAT: fisierul lipseste sau s-a schimbat chiar inainte de upload'
QUIT
ENDIF
IF !("XMLEFACTURA" $ UPPER(SET("PROCEDURE")))
SET PROCEDURE TO xmlefactura ADDITIVE
ENDIF
LOCAL loExport, llValid, lcMesajValid
lcMesajValid = ""
DO PrLogLocal WITH "=== VALIDARE /prod/validare (ca Valideaza din forma) ==="
loExport = CREATEOBJECT("ExportEFactura", .T., loAnaf.cToken)
llValid = loExport.ValidareEFacturaANAF(lcFile, @lcMesajValid)
DO PrLogLocal WITH "validare: llValid=" + TRANSFORM(llValid) + " mesaj=[" + TRANSFORM(lcMesajValid) + "] sha1dupa=" + Sha1Fisier(lcFile)
IF !(Sha1Fisier(lcFile) == lcSha1Asteptat)
DO PrLogLocal WITH "ATENTIE: validarea a modificat fisierul - continui (asta e traseul UI)"
ENDIF
DO PrLogLocal WITH '=== UPLOAD 1/1: storno SSS 1156-S3 dupa validare, pe TEST ==='
LOCAL loRet
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
DO PrLogLocal WITH 'upload: lSucces=' + TRANSFORM(loRet.lSucces) + ' status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
DO PrLogLocal WITH 'raspuns brut: ' + NVL(loRet.cResponse,'')
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
CATCH TO loEx
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
ENDTRY
QUIT
**********************************************************
* sha1 prin certutil (sincron, fereastra ascunsa)
FUNCTION Sha1Fisier
LPARAMETERS tcFile
LOCAL loSh, lcOut, lcTxt, lcHash, lnI
lcOut = ADDBS(SYS(2023)) + 'test5_sha1_' + SYS(2015) + '.txt'
loSh = CREATEOBJECT('WScript.Shell')
loSh.Run('cmd /c certutil -hashfile "' + tcFile + '" SHA1 > "' + lcOut + '"', 0, .T.)
lcHash = ''
IF FILE(lcOut)
lcTxt = FILETOSTR(lcOut)
DELETE FILE (lcOut)
FOR lnI = 1 TO GETWORDCOUNT(lcTxt, CHR(13) + CHR(10))
IF LEN(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', '')) = 40
lcHash = LOWER(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', ''))
EXIT
ENDIF
ENDFOR
ENDIF
RETURN lcHash
ENDFUNC
**********************************************************
PROCEDURE PrLogLocal
LPARAMETERS tcMsg
LOCAL lcL
SET SAFETY OFF
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
ENDPROC
**********************************************************
PROCEDURE PrErrLocal
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
ENDPROC

View File

@@ -0,0 +1,123 @@
* test5_1814_e4.prg
* E4: acelasi fisier S3 ca E3 (care a primit 1814), FARA validare /prod/validare. Izoleaza validarea.
* Un singur upload. Garzi: sha1 fisier, lTest, token, CIF - inainte de TrimiteFacturaXML.
*
* Rulare: powershell -ExecutionPolicy Bypass -File D:\ROA\ROACONT\COMUN\utile\Teste\watchdog_vfp.ps1 -Script D:\ROA\ROACONT\COMUN\utile\Teste\storno\test5_1814_e4.prg -AutoDismiss -TimeoutSec 240
* Iesire: test5_1814_e4_log.txt (+ test5_1814_e4_golog.txt cu liniile SendEFactura), acelasi folder
SET SAFETY OFF
SET TALK OFF
SET DELETED ON
SET EXACT ON
SET CENTURY ON
SET DATE DMY
SET NULLDISPLAY TO ''
CLOSE DATABASES
PUBLIC gcUILog, gcDir
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
gcUILog = gcDir + "test5_1814_e4_log.txt"
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
ON SHUTDOWN QUIT
TRY
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
IF gnHandle <= 0
DO PrLogLocal WITH 'FAIL: conectare Oracle esuata (gnHandle=' + TRANSFORM(gnHandle) + ')'
QUIT
ENDIF
DO PrLogLocal WITH 'mediu initializat, gnHandle=' + TRANSFORM(gnHandle)
* SendEFactura scrie URL-ul si raspunsul prin goLog; Log_Mesaje nu scrie daca fisierul lipseste
goLog.cLogFile = gcDir + "test5_1814_e4_golog.txt"
STRTOFILE('', goLog.cLogFile)
LOCAL lcFile, lcSha1Asteptat, lcSha1
lcFile = gcDir + "out\storno_SSS 1156-S3_1879855.xml"
lcSha1Asteptat = 'c407f69020b8d30f2c298e294f9fd1ad60ee96d4'
IF !FILE(lcFile)
DO PrLogLocal WITH 'BLOCAT: nu exista fisierul: ' + lcFile
QUIT
ENDIF
lcSha1 = Sha1Fisier(lcFile)
DO PrLogLocal WITH 'fisier=' + lcFile + ' len=' + TRANSFORM(LEN(FILETOSTR(lcFile))) + ' sha1=' + lcSha1
IF !(lcSha1 == lcSha1Asteptat)
DO PrLogLocal WITH 'BLOCAT: sha1 diferit de ' + lcSha1Asteptat + ' - fisierul a fost regenerat, opresc'
QUIT
ENDIF
LOCAL loAnaf As 'AnafeFacturaServer'
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
loAnaf.lTest = .T.
loAnaf.RefreshTokenAuto()
DO PrLogLocal WITH 'CIF=' + loAnaf.cCodFiscal + ' lTest=' + TRANSFORM(loAnaf.lTest) + ' tokenExp=' + DTOC(loAnaf.dTokenExpdate) + ' tokenGol=' + TRANSFORM(EMPTY(loAnaf.cToken))
* garzi finale, imediat inainte de upload
IF VARTYPE(loAnaf.lTest) <> 'L' OR !loAnaf.lTest
DO PrLogLocal WITH 'BLOCAT: lTest nu e .T.'
QUIT
ENDIF
IF EMPTY(loAnaf.cToken) OR loAnaf.dTokenExpdate <= DATE()
DO PrLogLocal WITH 'BLOCAT: token gol sau expirat'
QUIT
ENDIF
IF !(ALLTRIM(loAnaf.cCodFiscal) == '1879855')
DO PrLogLocal WITH 'BLOCAT: CIF neasteptat: ' + loAnaf.cCodFiscal
QUIT
ENDIF
IF !FILE(lcFile) OR !(Sha1Fisier(lcFile) == lcSha1Asteptat)
DO PrLogLocal WITH 'BLOCAT: fisierul lipseste sau s-a schimbat chiar inainte de upload'
QUIT
ENDIF
DO PrLogLocal WITH '=== UPLOAD 1/1: storno SSS 1156-S3 FARA validare, pe TEST ==='
LOCAL loRet
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
DO PrLogLocal WITH 'upload: lSucces=' + TRANSFORM(loRet.lSucces) + ' status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
DO PrLogLocal WITH 'raspuns brut: ' + NVL(loRet.cResponse,'')
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
CATCH TO loEx
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
ENDTRY
QUIT
**********************************************************
* sha1 prin certutil (sincron, fereastra ascunsa)
FUNCTION Sha1Fisier
LPARAMETERS tcFile
LOCAL loSh, lcOut, lcTxt, lcHash, lnI
lcOut = ADDBS(SYS(2023)) + 'test5_sha1_' + SYS(2015) + '.txt'
loSh = CREATEOBJECT('WScript.Shell')
loSh.Run('cmd /c certutil -hashfile "' + tcFile + '" SHA1 > "' + lcOut + '"', 0, .T.)
lcHash = ''
IF FILE(lcOut)
lcTxt = FILETOSTR(lcOut)
DELETE FILE (lcOut)
FOR lnI = 1 TO GETWORDCOUNT(lcTxt, CHR(13) + CHR(10))
IF LEN(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', '')) = 40
lcHash = LOWER(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', ''))
EXIT
ENDIF
ENDFOR
ENDIF
RETURN lcHash
ENDFUNC
**********************************************************
PROCEDURE PrLogLocal
LPARAMETERS tcMsg
LOCAL lcL
SET SAFETY OFF
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
ENDPROC
**********************************************************
PROCEDURE PrErrLocal
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
ENDPROC

View File

@@ -0,0 +1,29 @@
* test6_raspunsuri_1zi.prg - DOAR CITIRE: listaMesajePaginatieFactura pe ANAF TEST, ultima zi (ca "Raspunsuri > Ultima zi").
* Scop: textul exact din "eroare" cand nu sunt mesaje (Marius vede "Nimic"). Fara upload, fara procesare in baza.
SET SAFETY OFF
SET TALK OFF
CLOSE DATABASES
PUBLIC gcUILog
gcUILog = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\test6_raspunsuri_1zi_log.txt"
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
ON ERROR STRTOFILE('EROARE ' + TRANSFORM(ERROR()) + ' ' + MESSAGE() + ' ' + PROGRAM() + ' ' + TRANSFORM(LINENO()) + CHR(13) + CHR(10), gcUILog, 1)
ON SHUTDOWN QUIT
TRY
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
LOCAL loAnaf, loHTTP, ltEnd, ltStart, lcUrl, lnZile
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
loAnaf.lTest = .T.
loAnaf.RefreshTokenAuto()
ltEnd = GetUtcTime(DATETIME()-60)
ltStart = ltEnd - 1*24*60*60
lcUrl = 'https://api.anaf.ro/test/FCTEL/rest/listaMesajePaginatieFactura?startTime=' + ALLTRIM(STR(Datetime2UnixTime(ltStart))) + '000&endTime=' + ALLTRIM(STR(Datetime2UnixTime(ltEnd))) + '000&cif=' + ALLTRIM(loAnaf.cCodFiscal) + '&pagina=1'
STRTOFILE('cUser=[' + TRANSFORM(loAnaf.cUser) + '] url=' + lcUrl + CHR(13) + CHR(10), gcUILog, 1)
loHTTP = CREATEOBJECT('winHTTP.winHTTPrequest.5.1')
loHTTP.Open('GET', lcUrl, .F.)
loHTTP.setRequestHeader('Authorization', 'Bearer ' + loAnaf.cToken)
loHTTP.Send()
STRTOFILE('status=' + TRANSFORM(loHTTP.Status) + CHR(13) + CHR(10) + loHTTP.ResponseText + CHR(13) + CHR(10), gcUILog, 1)
CATCH TO loEx
STRTOFILE('EXCEPTIE ' + loEx.Message + CHR(13) + CHR(10), gcUILog, 1)
ENDTRY
QUIT

View File

@@ -0,0 +1,63 @@
* test7_raspunsuri_dupa_upload.prg - ANAF TEST (acord Marius 19.09): upload storno SSS 1156-S4, apoi imediat
* Raspunsuri "Ultima zi" (efactura_client -> Run(1, .F.)), ca sa prindem mesajul "(nimic)".
* AMESSAGEBOX mock: textul exact ajunge in log. goLog redirectat in test7_..._golog.txt.
SET SAFETY OFF
SET TALK OFF
SET DELETED ON
SET CENTURY ON
SET DATE DMY
CLOSE DATABASES
PUBLIC gcUILog, gcDir, gnAmsgCalls, gaAmsgCalls[1,2]
gnAmsgCalls = 0
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
gcUILog = gcDir + "test7_raspunsuri_dupa_upload_log.txt"
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
ON SHUTDOWN QUIT
SET PROCEDURE TO (gcDir + 'mock_amessagebox_storno.prg') ADDITIVE
TRY
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
IF gnHandle <= 0
DO PrLogLocal WITH 'FAIL: conectare Oracle'
QUIT
ENDIF
goLog.cLogFile = gcDir + "test7_raspunsuri_dupa_upload_golog.txt"
STRTOFILE('', goLog.cLogFile)
LOCAL lcFile, loAnaf, loRet, loAnaf2, llSucces
lcFile = gcDir + "out\storno_SSS 1156-S4_1879855.xml"
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
loAnaf.lTest = .T.
loAnaf.RefreshTokenAuto()
IF !loAnaf.lTest OR EMPTY(loAnaf.cToken) OR !(ALLTRIM(loAnaf.cCodFiscal) == '1879855') OR !FILE(lcFile)
DO PrLogLocal WITH 'BLOCAT: garzi (lTest/token/CIF/fisier)'
QUIT
ENDIF
DO PrLogLocal WITH '=== UPLOAD 1/1 pe TEST: SSS 1156-S4 ==='
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
DO PrLogLocal WITH 'upload: status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
DO PrLogLocal WITH '=== RASPUNSURI ultima zi (efactura_client 1, .F., .T.) ==='
loAnaf2 = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
loAnaf2.lTest = .T.
llSucces = loAnaf2.Run(1, .F.)
DO PrLogLocal WITH 'Run: llSucces=' + TRANSFORM(llSucces) + ' lError=' + TRANSFORM(loAnaf2.lError) + ' cErrorMessage=[' + TRANSFORM(loAnaf2.cErrorMessage) + '] cSaveLogsPath=[' + TRANSFORM(loAnaf2.cSaveLogsPath) + '] dirExista=' + TRANSFORM(DIRECTORY(loAnaf2.cSaveLogsPath))
DO PrLogLocal WITH 'AMESSAGEBOX apeluri: ' + TRANSFORM(gnAmsgCalls)
DO PrLogLocal WITH 'TOTAL: terminat'
CATCH TO loEx
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
ENDTRY
QUIT
PROCEDURE PrLogLocal
LPARAMETERS tcMsg
LOCAL lcL
SET SAFETY OFF
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
ENDPROC
PROCEDURE PrErrLocal
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
ENDPROC

View File

@@ -0,0 +1,50 @@
* test8_raspunsuri_fara_nimic.prg - verificare fix SaveFile log json: doar Raspunsuri "Ultima zi" pe TEST (fara upload).
* Asteptat: niciun AMESSAGEBOX, Run llSucces=.T.
SET SAFETY OFF
SET TALK OFF
SET DELETED ON
SET CENTURY ON
SET DATE DMY
CLOSE DATABASES
PUBLIC gcUILog, gcDir, gnAmsgCalls, gaAmsgCalls[1,2]
gnAmsgCalls = 0
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
gcUILog = gcDir + "test8_raspunsuri_fara_nimic_log.txt"
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
ON SHUTDOWN QUIT
SET PROCEDURE TO (gcDir + 'mock_amessagebox_storno.prg') ADDITIVE
TRY
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
IF gnHandle <= 0
DO PrLogLocal WITH 'FAIL: conectare Oracle'
QUIT
ENDIF
goLog.cLogFile = gcDir + "test8_raspunsuri_fara_nimic_golog.txt"
STRTOFILE('', goLog.cLogFile)
LOCAL loAnaf2, llSucces
DO PrLogLocal WITH '=== RASPUNSURI ultima zi (efactura_client 1, .F., .T.) ==='
loAnaf2 = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
loAnaf2.lTest = .T.
llSucces = loAnaf2.Run(1, .F.)
DO PrLogLocal WITH 'Run: llSucces=' + TRANSFORM(llSucces) + ' lError=' + TRANSFORM(loAnaf2.lError) + ' cErrorMessage=[' + TRANSFORM(loAnaf2.cErrorMessage) + '] cSaveLogsPath=[' + TRANSFORM(loAnaf2.cSaveLogsPath) + '] dirExista=' + TRANSFORM(DIRECTORY(loAnaf2.cSaveLogsPath))
DO PrLogLocal WITH 'AMESSAGEBOX apeluri: ' + TRANSFORM(gnAmsgCalls)
DO PrLogLocal WITH 'TOTAL: terminat'
CATCH TO loEx
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
ENDTRY
QUIT
PROCEDURE PrLogLocal
LPARAMETERS tcMsg
LOCAL lcL
SET SAFETY OFF
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
ENDPROC
PROCEDURE PrErrLocal
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
ENDPROC

View File

@@ -22,7 +22,7 @@ SET NULLDISPLAY TO ''
CLOSE DATABASES CLOSE DATABASES
PUBLIC gcUILog, gcTestDir, gcTesteDir PUBLIC gcUILog, gcTestDir, gcTesteDir
PUBLIC gnPass, gnFail, gnMockRaspuns, gnAmsgCalls, gnMockApeluri, gnXmenuCalls, gnXmenuQueuePos PUBLIC gnPass, gnFail, gnMockRaspuns, gnAmsgCalls, gnMockApeluri, gnXmenuCalls, gnXmenuQueuePos, gnMockTrimiteMod
PUBLIC loAnaf, loForm, loMockSrv, loStornoForm, lnLastErrorNo, lcLastErrorMsg PUBLIC loAnaf, loForm, loMockSrv, loStornoForm, lnLastErrorNo, lcLastErrorMsg
DECLARE gaAmsgCalls[1,2] DECLARE gaAmsgCalls[1,2]
DECLARE gaMockApeluri[1,3] DECLARE gaMockApeluri[1,3]
@@ -36,6 +36,7 @@ gnMockRaspuns = 6
gnXmenuCalls = 0 gnXmenuCalls = 0
gnXmenuQueuePos = 1 gnXmenuQueuePos = 1
gaXmenuQueue[1] = 0 gaXmenuQueue[1] = 0
gnMockTrimiteMod = 0
lnLastErrorNo = 0 lnLastErrorNo = 0
lcLastErrorMsg = '' lcLastErrorMsg = ''
@@ -394,6 +395,9 @@ DEFINE CLASS DriverStorno AS Custom
DO TVerdict WITH lnPadFail = 0, 'fara padding pe original/nou (V(250), sumele nu mai ies din coloana)', 'randuri cu padding=' + TRANSFORM(lnPadFail) + ' ' + lcPadDetail DO TVerdict WITH lnPadFail = 0, 'fara padding pe original/nou (V(250), sumele nu mai ies din coloana)', 'randuri cu padding=' + TRANSFORM(lnPadFail) + ' ' + lcPadDetail
DO TVerdict WITH EMPTY(loStorno.txtMotiv.Value), 'txtMotiv fara apostrofuri la init', 'value=[' + TRANSFORM(loStorno.txtMotiv.Value) + ']' DO TVerdict WITH EMPTY(loStorno.txtMotiv.Value), 'txtMotiv fara apostrofuri la init', 'value=[' + TRANSFORM(loStorno.txtMotiv.Value) + ']'
* lblAvertisment gol -> ascuns si gridul muta in sus; nu gol -> vizibil pe pozitia initiala (invariant, indiferent de fixtura)
DO TVerdict WITH (EMPTY(loStorno.lblAvertisment.Caption) AND !loStorno.lblAvertisment.Visible AND loStorno.grdModificari.Top < 134) OR (!EMPTY(loStorno.lblAvertisment.Caption) AND loStorno.lblAvertisment.Visible AND loStorno.grdModificari.Top = 134), ;
'lblAvertisment gol -> ascuns si gridul mutat in sus', 'avertisment=[' + loStorno.lblAvertisment.Caption + '] vizibil=' + TRANSFORM(loStorno.lblAvertisment.Visible) + ' grid_top=' + TRANSFORM(loStorno.grdModificari.Top)
This.nState = 1 This.nState = 1
CASE This.nState = 1 CASE This.nState = 1
@@ -417,7 +421,24 @@ DEFINE CLASS DriverStorno AS Custom
loStorno.cmdTrimite.Click() loStorno.cmdTrimite.Click()
DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'VALID', 'renuntare xmenu -> starea nu se schimba', 'stare=[' + loStorno.lblStare.Caption + ']' DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'VALID', 'renuntare xmenu -> starea nu se schimba', 'stare=[' + loStorno.lblStare.Caption + ']'
* eroare ANAF clara (HTTP 200, Cod 1814) - fara "TEST TEST" dublat, fara "Verificati in Trimise" (raspuns primit)
gnMockTrimiteMod = 1
gaXmenuQueue[1] = 2
gnXmenuQueuePos = 1
loStorno.cmdTrimite.Click()
DO TVerdict WITH loStorno.pnStare = 0, 'eroare ANAF clara -> starea ramane Nevalidat/eroare, nu Trimis', 'pnStare=' + TRANSFORM(loStorno.pnStare)
DO TVerdict WITH !('TEST TEST' $ loStorno.lblStare.Caption), 'fara TEST TEST dublat in mesaj', 'caption=[' + loStorno.lblStare.Caption + ']'
DO TVerdict WITH 'Cod: 1814' $ loStorno.lblStare.Caption AND 'TEST ANAF a respins incarcarea' $ loStorno.lblStare.Caption AND !('in Trimise' $ loStorno.lblStare.Caption), 'eroare ANAF clara (200) -> fara indemn Verificati in Trimise', 'caption=[' + loStorno.lblStare.Caption + ']'
* eroare de retea (HTTP 0, raspuns neclar) - Verificati in Trimise ramane
gnMockTrimiteMod = 2
gaXmenuQueue[1] = 2
gnXmenuQueuePos = 1
loStorno.cmdTrimite.Click()
DO TVerdict WITH 'in Trimise' $ loStorno.lblStare.Caption, 'eroare de retea (status<>200) -> pastreaza indemnul Verificati in Trimise', 'caption=[' + loStorno.lblStare.Caption + ']'
* optiunea 2 (trimite fara validare, cf. instructiuni: fara Valideaza/retea reala) * optiunea 2 (trimite fara validare, cf. instructiuni: fara Valideaza/retea reala)
gnMockTrimiteMod = 0
gaXmenuQueue[1] = 2 gaXmenuQueue[1] = 2
gnXmenuQueuePos = 1 gnXmenuQueuePos = 1
loStorno.cmdTrimite.Click() loStorno.cmdTrimite.Click()