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
163 lines
5.5 KiB
Plaintext
163 lines
5.5 KiB
Plaintext
* test_s3_neregresie_vechi.prg <CURENT|BACKUP>
|
|
* Headless: amprenta antetului dupa Init NUMAI pe calea veche (frm_date_factura / frm_date_aviz),
|
|
* pe toate tipurile, scrisa intr-un fisier text; rulat o data pe binarul curent (CURENT) si o data
|
|
* pe backup-ul ofacturare.pre_s3_1.bak.vcx (BACKUP), in lansari separate. Asteptat: cele doua
|
|
* fisiere de amprenta sunt IDENTICE (diff gol) - clasele-sursa nu au fost atinse.
|
|
*
|
|
* Amprenta per caz: controale prezente (colectia Objects), etichetele altele/client, nid_tip,
|
|
* clb_serie_act.nid_tipdoc, Height.
|
|
*
|
|
* Rulare (cate o lansare per apel):
|
|
* vfp9.exe -A -T "...\test_s3_neregresie_vechi.prg" CURENT
|
|
* vfp9.exe -A -T "...\test_s3_neregresie_vechi.prg" BACKUP
|
|
* Iesire: ...\out\neregresie_vechi_CURENT.txt / neregresie_vechi_BACKUP.txt, log neregresie_vechi_<mod>.log
|
|
|
|
LPARAMETERS tcMod
|
|
SET SAFETY OFF
|
|
SET TALK OFF
|
|
SET NOTIFY OFF
|
|
tcMod = UPPER(ALLTRIM(IIF(EMPTY(tcMod), "CURENT", tcMod)))
|
|
PUBLIC gcLog, gcOut, gnFail
|
|
gcLog = "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out\neregresie_vechi_" + tcMod + ".log"
|
|
gcOut = "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out\neregresie_vechi_" + tcMod + ".txt"
|
|
IF !DIRECTORY("D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out")
|
|
MD "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out"
|
|
ENDIF
|
|
STRTOFILE("START " + tcMod + " " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcLog)
|
|
STRTOFILE("", gcOut)
|
|
gnFail = 0
|
|
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
|
|
SET PROCEDURE TO "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\mock_amessagebox.prg" ADDITIVE
|
|
IF !actualizeaza_optiuni_program()
|
|
DO AfLog WITH "FAIL: actualizeaza_optiuni_program()"
|
|
DO Final
|
|
ENDIF
|
|
gnIdUtil = 8
|
|
goExecutor.oExecuta([begin pack_sesiune.set_Id_Util(?gnIdUtil); end;])
|
|
|
|
IF tcMod = "BACKUP"
|
|
RELEASE CLASSLIB "D:\ROA\ROAFACTURARE\COMUN\clase\ofacturare.vcx"
|
|
SET CLASSLIB TO "D:\ROA\ROAFACTURARE\COMUN\clase\ofacturare.pre_s3_1.bak.vcx" ADDITIVE
|
|
ENDIF
|
|
DO AfLog WITH "CLASSLIB ofacturare: " + IIF("OFACTURARE.PRE_S3_1.BAK.VCX" $ UPPER(SET("CLASSLIB")), "BACKUP", "CURENT")
|
|
|
|
PRIVATE poDate, poGeneratorNumere, plVizibil
|
|
plVizibil = .F.
|
|
poGeneratorNumere = CREATEOBJECT("oGeneratorNumere")
|
|
|
|
LOCAL laFact[13], laAviz[11], lnStoc, i, lnSerii, lcSerii
|
|
laFact[1] = 1
|
|
laFact[2] = 2
|
|
laFact[3] = 3
|
|
laFact[4] = 4
|
|
laFact[5] = 5
|
|
laFact[6] = 7
|
|
laFact[7] = 8
|
|
laFact[8] = 9
|
|
laFact[9] = 10
|
|
laFact[10] = 45
|
|
laFact[11] = 48
|
|
laFact[12] = 49
|
|
laFact[13] = 52
|
|
laAviz[1] = 21
|
|
laAviz[2] = 22
|
|
laAviz[3] = 23
|
|
laAviz[4] = 24
|
|
laAviz[5] = 25
|
|
laAviz[6] = 26
|
|
laAviz[7] = 28
|
|
laAviz[8] = 29
|
|
laAviz[9] = 41
|
|
laAviz[10] = 42
|
|
laAviz[11] = 47
|
|
|
|
FOR lnStoc = 0 TO 1
|
|
gnScadereStoc = lnStoc
|
|
FOR lnSerii = 1 TO 2
|
|
lcSerii = IIF(lnSerii = 1, "real", "0")
|
|
FOR i = 1 TO 13
|
|
DO Caz WITH laFact[i], .F., lcSerii
|
|
ENDFOR
|
|
FOR i = 1 TO 11
|
|
DO Caz WITH laAviz[i], .T., lcSerii
|
|
ENDFOR
|
|
ENDFOR
|
|
ENDFOR
|
|
DO Final
|
|
|
|
PROCEDURE Caz
|
|
LPARAMETERS tnTip, tlAviz, tcSerii
|
|
LOCAL loVechi, lcVechi, lcAmprenta, i, lcCaz
|
|
lcCaz = "[tip=" + TRANSFORM(tnTip) + " stoc=" + TRANSFORM(gnScadereStoc) + " serii=" + tcSerii + "]"
|
|
poDate = NULL
|
|
poDate = CREATEOBJECT("oDateFactura", 25000 + tnTip - 1 + gnScadereStoc * 10, tnTip)
|
|
poDate.nIdTipDoc = IIF(tlAviz, 6, 5)
|
|
poGeneratorNumere.ResetNumere()
|
|
IF tcSerii = "real"
|
|
poDate.rezultat_serii = poGeneratorNumere.creeaza_cursor_serii(poDate.nIdTipDoc)
|
|
ELSE
|
|
poDate.rezultat_serii = 0
|
|
ENDIF
|
|
lcVechi = IIF(tlAviz, 'frm_date_aviz', 'frm_date_factura')
|
|
loVechi = CREATEOBJECT(lcVechi)
|
|
IF VARTYPE(loVechi) <> 'O'
|
|
gnFail = gnFail + 1
|
|
DO AfLog WITH "FAIL " + lcCaz + " Createobject " + lcVechi
|
|
RETURN
|
|
ENDIF
|
|
lcAmprenta = lcCaz + " in_valuta=" + TRANSFORM(poDate.in_valuta) + " rezultat_serii=" + TRANSFORM(poDate.rezultat_serii) + " obj="
|
|
FOR i = 1 TO loVechi.Objects.Count
|
|
lcAmprenta = lcAmprenta + loVechi.Objects(i).Name + ","
|
|
ENDFOR
|
|
IF ObjExists(loVechi, "Ct_clb_altele")
|
|
lcAmprenta = lcAmprenta + " altele=[" + loVechi.Ct_clb_altele.clb_tx_cautare.Lb_simplu1.Caption + "]"
|
|
ENDIF
|
|
IF ObjExists(loVechi, "Ct_clb_nume_client")
|
|
lcAmprenta = lcAmprenta + " client=[" + loVechi.Ct_clb_nume_client.clb_tx_cautare.Lb_simplu1.Caption + "]"
|
|
ENDIF
|
|
IF ObjExists(loVechi, "Clb_serie_act")
|
|
lcAmprenta = lcAmprenta + " serie.nid_tipdoc=" + TRANSFORM(loVechi.Clb_serie_act.nid_tipdoc)
|
|
ENDIF
|
|
lcAmprenta = lcAmprenta + " nid_tip=" + TRANSFORM(loVechi.nid_tip) + " Height=" + TRANSFORM(loVechi.Height)
|
|
STRTOFILE(lcAmprenta + CHR(13) + CHR(10), gcOut, 1)
|
|
loVechi.Release()
|
|
RELEASE loVechi
|
|
IF poDate.rezultat_serii <> 0
|
|
poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
FUNCTION ObjExists
|
|
LPARAMETERS toForm, tcName
|
|
LOCAL i
|
|
FOR i = 1 TO toForm.Objects.Count
|
|
IF UPPER(toForm.Objects(i).Name) == UPPER(tcName)
|
|
RETURN .T.
|
|
ENDIF
|
|
ENDFOR
|
|
RETURN .F.
|
|
ENDFUNC
|
|
|
|
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 " + TRANSFORM(tnErr) + " [" + tcProg + ":" + TRANSFORM(tnLine) + "] " + tcMsg
|
|
ENDPROC
|
|
|
|
PROCEDURE Final
|
|
DO AfLog WITH "TOTAL fail=" + TRANSFORM(gnFail) + " randuri amprenta=" + TRANSFORM(ALINES(laX, FILETOSTR(gcOut)))
|
|
DO AfLog WITH "END " + TTOC(DATETIME())
|
|
QUIT
|
|
ENDPROC
|