Borderoul tine per factura ce mai are de completat si daca are articole de gestiune (camp gest, coloana si filtru), coada contabilizeaza in serie facturile bifate si incheie cu un rezumat, iar contul de furnizor/client se alege din planul de conturi. Cheia normalizata de articol, rezolvarea automata a partenerului si anularea in bloc intra tot aici. Pozitia in lista se pastreaza peste reaplicarea filtrului. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Aroafxp4z8bmM5oVECZRXY
342 lines
16 KiB
Plaintext
342 lines
16 KiB
Plaintext
* test_cablare_partener_ef.prg
|
|
* Verifica prin formularul real (frm_import_efactura, COMUN\clase\anaf_efactura.vc2) cele patru
|
|
* ramuri ale rezolvarii partenerului asa cum le foloseste Thisform.CompleteazaFactura(): un
|
|
* singur activ, doar inactiv, niciunul (creare automata), doi+ activi (ambiguu, nu alege automat).
|
|
* Pentru ramura ambigua verifica si MarcheazaEligibilitate (CoadaContabilizareEF) - randul ramane
|
|
* neeligibil/nebifat - si alegerea manuala (replica logica din cauta_partener, anaf_efactura.vc2
|
|
* linia 11977) care recalculeaza eligibilitatea. Verifica separat garda din do_executa: cu
|
|
* IdPartROA gol, do_executa(1) (apel numeric, ca din coada) se intoarce fara AMESSAGEBOX.
|
|
* Verifica si garda de facturi duplicate din do_executa (mock_facturi_duplicate.prg): in lot
|
|
* refuza fara AMESSAGEBOX si scrie motivul in motiv_lot, interactiv intrebarea ramane neschimbata.
|
|
* Fixtura proprie NOM_PARTENERI (CIF 9995000x) si crsFacturi construit manual (nu prin
|
|
* gencursor/Oracle), ca sa poata injecta CIF-uri ambigue/inexistente. Pe schema
|
|
* MARIUSM_AUTO@ROA_CENTRAL.
|
|
*
|
|
* Rulare: vfp9.exe -A -T "D:\ROA\ROACONT\COMUN\utile\Teste\efactura_import\test_cablare_partener_ef.prg"
|
|
* Iesire in D:\ROA\ROACONT\COMUN\utile\Teste\efactura_import\test_cablare_partener_ef_log.txt
|
|
|
|
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, gnPass, gnFail
|
|
gcUILog = "D:\ROA\ROACONT\COMUN\utile\Teste\efactura_import\test_cablare_partener_ef_log.txt"
|
|
gnPass = 0
|
|
gnFail = 0
|
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
|
|
|
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
|
ON SHUTDOWN QUIT
|
|
|
|
TRY
|
|
SET PROCEDURE TO 'D:\ROA\ROACONT\COMUN\utile\Teste\mock_amessagebox.prg' ADDITIVE
|
|
SET PROCEDURE TO 'D:\ROA\ROACONT\COMUN\utile\Teste\efactura_import\mock_facturi_duplicate.prg' ADDITIVE
|
|
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
|
|
SET PROCEDURE TO import_efactura.prg ADDITIVE
|
|
SET PROCEDURE TO recunoastere_articol_ef.prg ADDITIVE
|
|
SET PROCEDURE TO coada_contabilizare_ef.prg ADDITIVE
|
|
DO PrLogLocal WITH 'mediu initializat, gnHandle=' + TRANSFORM(gnHandle)
|
|
|
|
DO StergeFixtura
|
|
|
|
*-- ramura 1: un singur partener activ (RO99950001)
|
|
goExecutor.oExecute("INSERT INTO NOM_PARTENERI (cod_fiscal, denumire, inactiv) VALUES ('RO99950001', 'FIXTURA CABLARE T1', 0)", 'crsInsCB1')
|
|
*-- ramura 2: doar un partener inactiv (99950002)
|
|
goExecutor.oExecute("INSERT INTO NOM_PARTENERI (cod_fiscal, denumire, inactiv) VALUES ('99950002', 'FIXTURA CABLARE T2', 1)", 'crsInsCB2')
|
|
*-- ramura 4: doi parteneri activi pe acelasi CIF (99950003), unul cu RO si unul fara
|
|
goExecutor.oExecute("INSERT INTO NOM_PARTENERI (cod_fiscal, denumire, inactiv) VALUES ('RO99950003', 'FIXTURA CABLARE T3 RO', 0)", 'crsInsCB3a')
|
|
goExecutor.oExecute("INSERT INTO NOM_PARTENERI (cod_fiscal, denumire, inactiv) VALUES ('99950003', 'FIXTURA CABLARE T3 FARA RO', 0)", 'crsInsCB3b')
|
|
*-- ramura 3 (99950004): niciun partener - se creeaza automat de CompleteazaFactura
|
|
goExecutor.oExecute('COMMIT', 'crsCommitFixtura')
|
|
|
|
LOCAL lnIdPart1, lnIdPart2, lnIdPart3a
|
|
goExecutor.oSelecteaza2Value("select id_part from nom_parteneri where cod_fiscal = 'RO99950001'", @lnIdPart1)
|
|
goExecutor.oSelecteaza2Value("select id_part from nom_parteneri where cod_fiscal = '99950002'", @lnIdPart2)
|
|
goExecutor.oSelecteaza2Value("select id_part from nom_parteneri where cod_fiscal = 'RO99950003'", @lnIdPart3a)
|
|
DO PrLogLocal WITH 'id partener fixtura: T1=' + TRANSFORM(m.lnIdPart1) + ' T2=' + TRANSFORM(m.lnIdPart2) + ' T3RO=' + TRANSFORM(m.lnIdPart3a)
|
|
|
|
*-- crsFacturi/crsDetaliiFacturi si cursoarele ajutatoare cerute de Init, copie din import_efactura.prg
|
|
TEXT TO lcSchemaFacturi NOSHOW
|
|
ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
|
|
ENDTEXT
|
|
|
|
IF USED('crsFacturi')
|
|
USE IN crsFacturi
|
|
ENDIF
|
|
CREATE CURSOR crsFacturi (&lcSchemaFacturi)
|
|
|
|
INSERT INTO crsFacturi (ales, id, id_fact, data_act, numar_act, xfurnizor, partener, cod_fiscal, ;
|
|
total_cu_tva, nume_valuta, procesat, completat, completatdet, creditnote, detalii, ;
|
|
eligibil_lot, motiv_lot, eroare_lot) ;
|
|
VALUES (0, 999500001, 0, DATE(), 'TEST-CAB-1', 'FIXTURA CABLARE T1', 'FIXTURA CABLARE T1', 'RO99950001', ;
|
|
100, 'RON', 0, 0, 0, 0, 'x', 1, '', 0)
|
|
INSERT INTO crsFacturi (ales, id, id_fact, data_act, numar_act, xfurnizor, partener, cod_fiscal, ;
|
|
total_cu_tva, nume_valuta, procesat, completat, completatdet, creditnote, detalii, ;
|
|
eligibil_lot, motiv_lot, eroare_lot) ;
|
|
VALUES (0, 999500002, 0, DATE(), 'TEST-CAB-2', 'FIXTURA CABLARE T2', 'FIXTURA CABLARE T2', '99950002', ;
|
|
100, 'RON', 0, 0, 0, 0, 'x', 1, '', 0)
|
|
INSERT INTO crsFacturi (ales, id, id_fact, data_act, numar_act, xfurnizor, partener, cod_fiscal, ;
|
|
total_cu_tva, nume_valuta, procesat, completat, completatdet, creditnote, detalii, ;
|
|
eligibil_lot, motiv_lot, eroare_lot) ;
|
|
VALUES (0, 999500003, 0, DATE(), 'TEST-CAB-3', 'FIXTURA CABLARE T3 NOU', 'FIXTURA CABLARE T3 NOU', '99950004', ;
|
|
100, 'RON', 0, 0, 0, 0, 'x', 1, '', 0)
|
|
INSERT INTO crsFacturi (ales, id, id_fact, data_act, numar_act, xfurnizor, partener, cod_fiscal, ;
|
|
total_cu_tva, nume_valuta, procesat, completat, completatdet, creditnote, detalii, ;
|
|
eligibil_lot, motiv_lot, eroare_lot) ;
|
|
VALUES (0, 999500004, 0, DATE(), 'TEST-CAB-4', 'FIXTURA CABLARE T4 AMBIGUU', 'FIXTURA CABLARE T4 AMBIGUU', '99950003', ;
|
|
100, 'RON', 0, 0, 0, 0, 'x', 1, '', 0)
|
|
|
|
TEXT TO lcSchemaDetalii NOSHOW
|
|
distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6)
|
|
ENDTEXT
|
|
IF USED('crsDetaliiFacturi')
|
|
USE IN crsDetaliiFacturi
|
|
ENDIF
|
|
CREATE CURSOR crsDetaliiFacturi (&lcSchemaDetalii)
|
|
|
|
CREATE CURSOR cTipArticoleP (id I, in_stoc N(1), tip V(50), cont V(4), ordine I)
|
|
INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (0, 'Nedefinit','', 0, 0)
|
|
INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (12, 'Terti','628', 0, 12)
|
|
SELECT cTipArticoleP
|
|
GO TOP IN cTipArticoleP
|
|
INDEX ON ordine TAG ordine
|
|
|
|
CREATE CURSOR cTipArticoleE (id I, in_stoc N(1), tip V(50), cont V(4), ordine I)
|
|
INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (0, 'Nedefinit','', 0, 0)
|
|
INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (34, 'Servicii vandute','704', 0, 6)
|
|
SELECT cTipArticoleE
|
|
GO TOP IN cTipArticoleE
|
|
INDEX ON ordine TAG ordine
|
|
|
|
SELECT id, tip, cont, in_stoc, ordine FROM cTipArticoleP ORDER BY ordine INTO CURSOR cTip
|
|
SELECT cTip
|
|
INDEX ON id TAG id
|
|
|
|
goExecutor.oExecuta([select distinct nume_gestiune,cgest,id_gestiune,nr_pag,cont from vgest_gestiuni_util where inactiv = 0 and id_util = ] + ALLTRIM(STR(m.gnIdUtil)), 'cGestiuni')
|
|
SELECT cGestiuni
|
|
APPEND BLANK
|
|
INDEX ON id_gestiune TAG id_gest
|
|
SELECT CAST(ALLTRIM(nume_gestiune) + '-' + ALLTRIM(NVL(cgest, '')) AS V(50)) AS nume_gestiune, id_gestiune FROM cGestiuni ORDER BY nume_gestiune INTO CURSOR cGestiuni2
|
|
|
|
goExecutor.oExecuta("select cod_um_iso, um_iso from syn_vnom_um_iso", 'cUMISO')
|
|
SELECT cUMISO
|
|
INDEX ON cod_um_iso TAG cod_um_iso
|
|
|
|
goExecutor.oExecuta("select id, um, cod_um_iso, um_iso from vnom_um", 'cUM')
|
|
SELECT cUM
|
|
INDEX ON id TAG id
|
|
|
|
LOCAL loForm
|
|
SELECT crsFacturi
|
|
loForm = CREATEOBJECT('frm_import_efactura', .T.)
|
|
loForm.WindowType = 0
|
|
DO PrTest WITH 'formular instantiat', TYPE('loForm') == 'O'
|
|
|
|
*=== ramura 1: un singur partener activ -> IdPartROA corect, motiv_lot ramane gol ===
|
|
LOCAL lnRecno1
|
|
SELECT crsFacturi
|
|
LOCATE FOR id = 999500001
|
|
lnRecno1 = RECNO()
|
|
TRY
|
|
GO m.lnRecno1
|
|
CATCH
|
|
GO TOP
|
|
ENDTRY
|
|
loForm.CompleteazaFactura()
|
|
DO PrTest WITH 'ramura1 IdPartROA = partener activ', NVL(crsFacturi.IdPartROA, 0) = m.lnIdPart1
|
|
DO PrTest WITH 'ramura1 motiv_lot ramane gol (fara zgomot)', EMPTY(NVL(crsFacturi.motiv_lot, ''))
|
|
|
|
*=== ramura 2: doar inactiv -> IdPartROA pe cel inactiv, motiv_lot atentioneaza ===
|
|
LOCAL lnRecno2
|
|
SELECT crsFacturi
|
|
LOCATE FOR id = 999500002
|
|
lnRecno2 = RECNO()
|
|
TRY
|
|
GO m.lnRecno2
|
|
CATCH
|
|
GO TOP
|
|
ENDTRY
|
|
loForm.CompleteazaFactura()
|
|
DO PrTest WITH 'ramura2 IdPartROA = partener inactiv', NVL(crsFacturi.IdPartROA, 0) = m.lnIdPart2
|
|
DO PrTest WITH 'ramura2 motiv_lot atentioneaza', !EMPTY(NVL(crsFacturi.motiv_lot, ''))
|
|
|
|
*=== ramura 3: niciun partener -> se creeaza in NOM_PARTENERI, IdPartROA pe noul id ===
|
|
LOCAL lnRecno3, lnIdNouCreat
|
|
SELECT crsFacturi
|
|
LOCATE FOR id = 999500003
|
|
lnRecno3 = RECNO()
|
|
TRY
|
|
GO m.lnRecno3
|
|
CATCH
|
|
GO TOP
|
|
ENDTRY
|
|
loForm.CompleteazaFactura()
|
|
lnIdNouCreat = NVL(crsFacturi.IdPartROA, 0)
|
|
DO PrTest WITH 'ramura3 IdPartROA > 0 (partener creat)', m.lnIdNouCreat > 0
|
|
DO PrTest WITH 'ramura3 motiv_lot atentioneaza', !EMPTY(NVL(crsFacturi.motiv_lot, ''))
|
|
IF m.lnIdNouCreat > 0
|
|
LOCAL llGasitNou
|
|
llGasitNou = goExecutor.oExecuta("select id_part, cod_fiscal from nom_parteneri where id_part = " + TRANSFORM(m.lnIdNouCreat), 'cVerifCB3')
|
|
IF m.llGasitNou
|
|
DO PrTest WITH 'ramura3 scris in Oracle cu CIF exact 99950004', RECCOUNT('cVerifCB3') = 1 AND ALLTRIM(cVerifCB3.cod_fiscal) == '99950004'
|
|
USE IN (SELECT('cVerifCB3'))
|
|
ENDIF
|
|
ENDIF
|
|
|
|
*=== ramura 4: doi+ activi -> CompleteazaFactura NU seteaza IdPartROA ===
|
|
LOCAL lnRecno4
|
|
SELECT crsFacturi
|
|
LOCATE FOR id = 999500004
|
|
lnRecno4 = RECNO()
|
|
TRY
|
|
GO m.lnRecno4
|
|
CATCH
|
|
GO TOP
|
|
ENDTRY
|
|
loForm.CompleteazaFactura()
|
|
DO PrTest WITH 'ramura4 IdPartROA ramane gol (ambiguu, nu alege automat)', EMPTY(NVL(crsFacturi.IdPartROA, 0))
|
|
|
|
*=== ramura 4: MarcheazaEligibilitate lasa randul neeligibil si nebifat ===
|
|
LOCAL loCoada
|
|
loCoada = CREATEOBJECT('CoadaContabilizareEF')
|
|
loCoada.MarcheazaEligibilitate('crsFacturi', .F.)
|
|
SELECT crsFacturi
|
|
LOCATE FOR id = 999500004
|
|
DO PrTest WITH 'ramura4 dupa MarcheazaEligibilitate: eligibil_lot=0', eligibil_lot = 0
|
|
DO PrTest WITH 'ramura4 dupa MarcheazaEligibilitate: ales=0 (nu intra in lot)', ales = 0
|
|
|
|
*=== garda do_executa: cu IdPartROA gol, apel numeric (ca din coada) se intoarce fara AMESSAGEBOX ===
|
|
TRY
|
|
GO m.lnRecno4
|
|
CATCH
|
|
GO TOP
|
|
ENDTRY
|
|
DO PrLogLocal WITH 'inainte de do_executa(1) pe randul ambiguu (IdPartROA gol)'
|
|
loForm.do_executa(1)
|
|
DO PrTest WITH 'do_executa(1) revine fara sa blocheze (nicio deschidere de AMESSAGEBOX)', .T.
|
|
|
|
*=== garda do_executa: factura duplicata - in lot refuza fara AMESSAGEBOX, motiv in motiv_lot ===
|
|
PUBLIC gcMockDuplicat, gcMockUltimMesaj, gnMockUltimTip, gnMockRaspuns
|
|
gcMockDuplicat = 'Factura TEST-DUP, 100.00 lei, mai exista inregistrata in perioada test.'
|
|
LOCAL lnRecnoDup
|
|
SELECT crsFacturi
|
|
LOCATE FOR id = 999500001
|
|
lnRecnoDup = RECNO()
|
|
TRY
|
|
GO m.lnRecnoDup
|
|
CATCH
|
|
GO TOP
|
|
ENDTRY
|
|
REPLACE cont WITH '401' IN crsFacturi
|
|
GO m.lnRecnoDup
|
|
gcMockUltimMesaj = ''
|
|
loForm.do_executa(1)
|
|
DO PrTest WITH 'duplicat in lot: nu deschide AMESSAGEBOX', EMPTY(m.gcMockUltimMesaj)
|
|
DO PrTest WITH 'duplicat in lot: motiv_lot primeste textul de duplicate', ALLTRIM(NVL(crsFacturi.motiv_lot, '')) == ALLTRIM(m.gcMockDuplicat)
|
|
|
|
*=== garda do_executa: aceeasi factura duplicata, interactiv - intrebarea ramane neschimbata ===
|
|
GO m.lnRecnoDup
|
|
gcMockUltimMesaj = ''
|
|
gnMockRaspuns = 7
|
|
loForm.do_executa()
|
|
DO PrTest WITH 'duplicat interactiv: AMESSAGEBOX intrebat cu textul de duplicate', 'Doriti sa continuati?' $ m.gcMockUltimMesaj AND m.gcMockDuplicat $ m.gcMockUltimMesaj
|
|
gnMockRaspuns = 6
|
|
|
|
*=== ramura 4: alegere manuala (replica cauta_partener, anaf_efactura.vc2:11985-11991) ===
|
|
TRY
|
|
GO m.lnRecno4
|
|
CATCH
|
|
GO TOP
|
|
ENDTRY
|
|
REPLACE PartenerROA WITH 'FIXTURA CABLARE T3 RO', IdPartROA WITH m.lnIdPart3a, codfiscalROA WITH 'RO99950003' IN crsFacturi
|
|
LOCAL loCoadaElig, lcMotivLot
|
|
loCoadaElig = CREATEOBJECT('CoadaContabilizareEF')
|
|
lcMotivLot = loCoadaElig.EligibilRand(crsFacturi.id_fact, crsFacturi.cod_fiscal, 1, 0, .F., crsFacturi.numar_act)
|
|
REPLACE eligibil_lot WITH IIF(EMPTY(m.lcMotivLot), 1, 0), motiv_lot WITH m.lcMotivLot IN crsFacturi
|
|
loForm.grdFacturi.Refresh()
|
|
loForm.ActualizeazaContoare()
|
|
DO PrTest WITH 'ramura4 dupa alegere manuala: eligibil_lot=1', crsFacturi.eligibil_lot = 1
|
|
|
|
loForm.Release()
|
|
IF USED('crsFacturi')
|
|
USE IN crsFacturi
|
|
ENDIF
|
|
IF USED('crsDetaliiFacturi')
|
|
USE IN crsDetaliiFacturi
|
|
ENDIF
|
|
IF USED('cMockFactDbl')
|
|
USE IN cMockFactDbl
|
|
ENDIF
|
|
|
|
DO StergeFixtura
|
|
LOCAL lnLeftover
|
|
goExecutor.oSelecteaza2Value("select count(*) from nom_parteneri where cod_fiscal in ('RO99950001','99950002','RO99950003','99950003','99950004') or id_part = " + TRANSFORM(m.lnIdNouCreat), @lnLeftover)
|
|
DO PrTest WITH 'cleanup: 0 leftover in NOM_PARTENERI', NVL(m.lnLeftover, -1) = 0
|
|
|
|
DO PrLogLocal WITH 'REZULTAT FINAL: PASS=' + TRANSFORM(gnPass) + ' FAIL=' + TRANSFORM(gnFail)
|
|
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
|
|
CATCH TO loEx
|
|
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
|
|
TRY
|
|
IF USED('crsFacturi')
|
|
USE IN crsFacturi
|
|
ENDIF
|
|
IF USED('crsDetaliiFacturi')
|
|
USE IN crsDetaliiFacturi
|
|
ENDIF
|
|
DO StergeFixtura
|
|
CATCH
|
|
ENDTRY
|
|
ENDTRY
|
|
|
|
QUIT
|
|
|
|
**********************************************************
|
|
PROCEDURE StergeFixtura
|
|
goExecutor.oExecute("DELETE FROM CORESP_TIP_PART WHERE id_part IN (SELECT id_part FROM NOM_PARTENERI WHERE cod_fiscal IN ('RO99950001','99950002','RO99950003','99950003','99950004'))", 'crsDelCorespTipCB')
|
|
goExecutor.oExecute("DELETE FROM NOM_PARTENERI WHERE cod_fiscal IN ('RO99950001','99950002','RO99950003','99950003','99950004')", 'crsDelPartCB')
|
|
goExecutor.oExecute('COMMIT', 'crsCommitDelCB')
|
|
ENDPROC
|
|
|
|
**********************************************************
|
|
PROCEDURE PrTest
|
|
LPARAMETERS tcEticheta, tlOk
|
|
IF tlOk
|
|
gnPass = gnPass + 1
|
|
ELSE
|
|
gnFail = gnFail + 1
|
|
ENDIF
|
|
DO PrLogLocal WITH ' ' + tcEticheta + ': ' + IIF(tlOk, 'OK', 'FAIL')
|
|
ENDPROC
|
|
|
|
**********************************************************
|
|
PROCEDURE PrLogLocal
|
|
LPARAMETERS tcMsg
|
|
LOCAL lcL
|
|
SET SAFETY OFF
|
|
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
|
|
STRTOFILE(lcL + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
|
|
ENDPROC
|
|
|
|
**********************************************************
|
|
* mock_amessagebox.prg cere HarnessLog (definit normal in ui_harness.prg, neincarcat aici)
|
|
PROCEDURE HarnessLog
|
|
LPARAMETERS tcMsg
|
|
DO PrLogLocal WITH tcMsg
|
|
ENDPROC
|
|
|
|
**********************************************************
|
|
PROCEDURE PrErrLocal
|
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
|
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
|
|
ENDPROC
|