Squash al branch-ului de lucru plan13-s2. Clase: ofacturare (nucleul formularului unificat), ofacturare_comun, ferestre_cere_date, ocomenzi, caut_ora (lista de preturi in combo-urile de cautare), omodificari. Programe: ofacturare impartit - ofacturare_antet, ofacturare_rutare_scriere si ogrid_latimi sunt fisiere noi; oproceduri_facturare primeste discountul pe linie si cota standard de TVA cand articolul nu are cota pe politica. Documentatie: capcana SQLExec no_data_found, conventia de encoding, depanarea testelor VFP si regulile de lucru - conflictele cu modificarile venite din alte proiecte sunt rezolvate pastrand ambele parti. Loguri de rulare a testelor scoase din versionare; testele raman. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PkyjGyrV2S7932om4kfSiK
140 lines
5.4 KiB
Plaintext
140 lines
5.4 KiB
Plaintext
*!* 01.09.2026
|
|
*!* Headless: valideaza schela de comparatie S6-0 (lib_comparatie_documente.prg) pe perechea deja
|
|
*!* emisa de S5c - SSS 645 (id_vanzare 1111) si SSS 646 (id_vanzare 1112). NU emite nimic, doar
|
|
*!* SELECT. Verifica: jonctiunea serie_act+nract gaseste id_vanzare corect, CompDoc ruleaza toate
|
|
*!* cele patru comparatii fara eroare Oracle, iar cifrele raportate (linii VANZARI_DETALII, randuri
|
|
*!* ACT, RUL gol) corespund cu ce s-a verificat deja manual pe MARIUSM_AUTO.
|
|
*!*
|
|
*!* Cele doua documente nu sunt v1/v2 (unul copiat din proforma, unul de control, ambele pe v2) -
|
|
*!* CompDoc e asteptat sa raporteze FAIL-uri legitime; un FAIL legitim raportat corect e succes
|
|
*!* pentru aceasta proba.
|
|
*!*
|
|
*!* Rulare: vfp9.exe -A -T "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\test_s6_0_schela.prg"
|
|
*!* Log: D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out\test_s6_0_schela.log
|
|
*!* Mediu: ROA_CENTRAL / MARIUSM_AUTO; gnIdUtil = 8.
|
|
|
|
SET SAFETY OFF
|
|
SET TALK OFF
|
|
SET NOTIFY OFF
|
|
PUBLIC gcLog, gnFail, gnPass, gnSarit, gcCaz
|
|
gcLog = "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out\test_s6_0_schela.log"
|
|
IF !DIRECTORY("D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out")
|
|
MD "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out"
|
|
ENDIF
|
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcLog)
|
|
gnFail = 0
|
|
gnPass = 0
|
|
gnSarit = 0
|
|
gcCaz = ""
|
|
ON ERROR DO AfErr WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
|
|
|
DO "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\test_init_env_auto_roafacturare.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
|
IF TYPE('gnHandle') <> 'N' OR gnHandle <= 0
|
|
DO AfLog WITH "FAIL: conexiune Oracle esuata"
|
|
DO Final
|
|
ENDIF
|
|
SQLSETPROP(gnHandle, "QueryTimeOut", 45)
|
|
IF TYPE('goExecutor.nHandle') = 'N' AND goExecutor.nHandle > 0 AND goExecutor.nHandle <> gnHandle
|
|
SQLSETPROP(goExecutor.nHandle, "QueryTimeOut", 45)
|
|
ENDIF
|
|
gnIdUtil = 8
|
|
goExecutor.oExecuta([begin pack_sesiune.set_Id_Util(?gnIdUtil); end;])
|
|
DO AfLog WITH "ENV OK gnHandle=" + TRANSFORM(gnHandle)
|
|
|
|
SET PROCEDURE TO "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\lib_comparatie_documente.prg" ADDITIVE
|
|
|
|
DO TestSchela
|
|
|
|
DO Final
|
|
|
|
*----------------------------------------------------------------------------------------
|
|
PROCEDURE TestSchela
|
|
LOCAL nId1, nId2, nFailCompDoc
|
|
gcCaz = "[S6-0 schela SSS 645 vs SSS 646] "
|
|
|
|
nId1 = CdocGasesteIdVanzare('SSS', 645)
|
|
nId2 = CdocGasesteIdVanzare('SSS', 646)
|
|
DO Assert WITH nId1 = 1111, "jonctiune serie_act+nract gaseste id_vanzare pt SSS 645, e=" + TRANSFORM(nId1)
|
|
DO Assert WITH nId2 = 1112, "jonctiune serie_act+nract gaseste id_vanzare pt SSS 646, e=" + TRANSFORM(nId2)
|
|
|
|
nFailCompDoc = CompDoc('SSS', 645, 'SSS', 646, ALLTRIM(gcCaz))
|
|
DO Assert WITH nFailCompDoc >= 0, "CompDoc a rulat fara eroare Oracle, esecuri raportate=" + TRANSFORM(nFailCompDoc)
|
|
DO AfLog WITH "CompDoc a intors esecuri=" + TRANSFORM(nFailCompDoc) + ;
|
|
" (documentele nu sunt v1/v2 - esecuri legitime asteptate, vezi raport)"
|
|
|
|
DO VerificaLinii
|
|
DO VerificaAct
|
|
DO VerificaRul
|
|
ENDPROC
|
|
|
|
PROCEDURE VerificaLinii
|
|
LOCAL n1, n2
|
|
n1 = ValoareScalaraLocala([select count(*) as nr from vanzari_detalii where sters = 0 and id_vanzare = 1111])
|
|
n2 = ValoareScalaraLocala([select count(*) as nr from vanzari_detalii where sters = 0 and id_vanzare = 1112])
|
|
DO Assert WITH n1 = 2, "VANZARI_DETALII are 2 linii pe SSS 645 (id_vanzare 1111), e=" + TRANSFORM(n1)
|
|
DO Assert WITH n2 = 2, "VANZARI_DETALII are 2 linii pe SSS 646 (id_vanzare 1112), e=" + TRANSFORM(n2)
|
|
ENDPROC
|
|
|
|
PROCEDURE VerificaAct
|
|
LOCAL n1, n2
|
|
n1 = ValoareScalaraLocala([select count(*) as nr from act where sters = 0 and serie_act = 'SSS' and nract = 645])
|
|
n2 = ValoareScalaraLocala([select count(*) as nr from act where sters = 0 and serie_act = 'SSS' and nract = 646])
|
|
DO Assert WITH n1 = 4, "ACT are 4 randuri pe SSS 645, e=" + TRANSFORM(n1)
|
|
DO Assert WITH n2 = 4, "ACT are 4 randuri pe SSS 646, e=" + TRANSFORM(n2)
|
|
ENDPROC
|
|
|
|
PROCEDURE VerificaRul
|
|
LOCAL n1, n2
|
|
n1 = ValoareScalaraLocala([select count(*) as nr from rul where sters = 0 and serie_act = 'SSS' and nract = 645])
|
|
n2 = ValoareScalaraLocala([select count(*) as nr from rul where sters = 0 and serie_act = 'SSS' and nract = 646])
|
|
DO Assert WITH n1 = 0, "RUL gol pe SSS 645 (gnScadereStoc = 0), e=" + TRANSFORM(n1)
|
|
DO Assert WITH n2 = 0, "RUL gol pe SSS 646 (gnScadereStoc = 0), e=" + TRANSFORM(n2)
|
|
ENDPROC
|
|
|
|
FUNCTION ValoareScalaraLocala
|
|
LPARAMETERS tcSql
|
|
LOCAL lnRez, lnSucces
|
|
lnRez = -1
|
|
lnSucces = goExecutor.oExecute(tcSql, [crsverif])
|
|
IF lnSucces >= 0 AND USED('crsverif')
|
|
IF RECCOUNT('crsverif') > 0
|
|
SELECT crsverif
|
|
GO TOP
|
|
lnRez = NVL(crsverif.nr, 0)
|
|
ELSE
|
|
lnRez = 0
|
|
ENDIF
|
|
USE IN (SELECT('crsverif'))
|
|
ELSE
|
|
DO AfLog WITH "SQL ESEC: " + TRANSFORM(goExecutor.oPrelucrareEroare()) + " | " + tcSql
|
|
ENDIF
|
|
RETURN lnRez
|
|
ENDFUNC
|
|
|
|
PROCEDURE Assert
|
|
LPARAMETERS tlCond, tcMsg
|
|
IF tlCond
|
|
gnPass = gnPass + 1
|
|
ELSE
|
|
gnFail = gnFail + 1
|
|
DO AfLog WITH "FAIL: " + gcCaz + tcMsg
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE AfLog
|
|
LPARAMETERS tcMsg
|
|
STRTOFILE(tcMsg + CHR(13) + CHR(10), gcLog, 1)
|
|
ENDPROC
|
|
|
|
PROCEDURE AfErr
|
|
LPARAMETERS tnErr, tcMsg, tcProg, tnLine
|
|
gnFail = gnFail + 1
|
|
DO AfLog WITH "ERROR " + gcCaz + TRANSFORM(tnErr) + " [" + tcProg + ":" + TRANSFORM(tnLine) + "] " + tcMsg
|
|
ENDPROC
|
|
|
|
PROCEDURE Final
|
|
DO AfLog WITH "TOTAL pass=" + TRANSFORM(gnPass) + " fail=" + TRANSFORM(gnFail) + " sarit=" + TRANSFORM(gnSarit)
|
|
DO AfLog WITH "END " + TTOC(DATETIME())
|
|
QUIT
|
|
ENDPROC
|