502 lines
22 KiB
Plaintext
502 lines
22 KiB
Plaintext
* test_todo21_grid_dblclick.prg
|
|
* TODO #21, benzile A (coloanele de perioada in grid-ul de verificare coduri fiscale, inclusiv
|
|
* coloana calculata cPerioadaTva) si D (meniul unic de dublu-click, vederi de grid, coloana Ales
|
|
* conditionata). Instantiaza DIRECT frm_verificare_parteneri (COMUN\clase\overificari.vc2), fara
|
|
* Show(1) modal - cursorul crsVerificareParteneri e construit ca in oproceduri_comune.prg
|
|
* (verificare_parteneri), fara sa treaca prin acea procedura (care ar deschide formularul modal).
|
|
*
|
|
* Reproiectare: TOATE coloanele grid-ului cheama acum meniu_dblclick (nu mai exista rutare directa
|
|
* pe Column2/3 vs Column5/6); prima optiune a meniului ("MODIFICARE PARTENER - <denumire>") vine
|
|
* prin optiuni_meniu_ante, deci prin VerificaCodFiscal, care ar deschide XMENU (agata headless-ul) -
|
|
* de-asta VerificaCodFiscal e mock-uita (mock_meniu_dblclick_deps.prg), nu apelata real.
|
|
*
|
|
* Mock-uri (fisiere DIFERITE de overificari.vc2 - rezolutia "primul incarcat" e sigura):
|
|
* mock_amessagebox.prg - dialogul "partener neidentificat"
|
|
* mock_meniu_dblclick_deps.prg - nom_parteneri_modifica, VerificaCodFiscal (numara apelurile,
|
|
* captureaza optiuni_meniu_ante, controleaza @lnOptiune intors)
|
|
*
|
|
* Banda G (continutul coloanei atentie): do_verifica face verificare ANAF reala (nu se poate
|
|
* controla ce raspunde ANAF), deci nu se pot fabrica exact cele 4 texte pe randurile reale - se
|
|
* verifica doar BUCATA care umple atentie (COMUN\clase\overificari.vc2:2992-2996), copiata LITERAL
|
|
* si rulata pe randuri fabricate distincte, fara alt apel la do_verifica.
|
|
*
|
|
* Banda H: chkANAF si chkExperimental au disparut ca obiecte din formular (do_verifica are acum
|
|
* llServiciuWebANAF constant .T.; modul experimental e citit din proprietatea lExperimental, nu
|
|
* dintr-un control) - se verifica ca lExperimental reflecta al 5-lea parametru la Init, nu o
|
|
* valoare hardcodata (regresie deja prinsa o data). chkMFIN ramane ca obiect (doar Visible=.F.).
|
|
*
|
|
* Coduri de test: un cod fiscal REAL cu perioada ANAF (ales dinamic din istoric_coduri_fiscale,
|
|
* ca in test_todo21_perioade_anaf.prg) si un partener REAL din NOM_PARTENERI (ales dinamic, cel
|
|
* mai nou activ), plus randuri fabricate pentru meniu_dblclick/atentie.
|
|
*
|
|
* Rulare: vfp9.exe -A -T "D:\ROA\ROACONT\COMUN\utile\Teste\todo21\test_todo21_grid_dblclick.prg"
|
|
* Verdict in log: TOTAL OK / TOTAL FAIL: n pas(i).
|
|
|
|
SET SAFETY OFF
|
|
SET TALK OFF
|
|
SET DELETED ON
|
|
SET EXACT ON
|
|
SET CENTURY ON
|
|
SET DATE DMY
|
|
SET NULLDISPLAY TO ''
|
|
CLOSE DATABASES
|
|
|
|
PUBLIC gcLog
|
|
gcLog = "D:\ROA\ROACONT\COMUN\utile\Teste\todo21\test_todo21_grid_dblclick_log.txt"
|
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcLog)
|
|
|
|
PUBLIC gnEsecuri
|
|
gnEsecuri = 0
|
|
|
|
ON ERROR DO PrErr WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
|
ON SHUTDOWN QUIT
|
|
|
|
PUBLIC gcMockUltimMesaj, gnMockUltimTip, gnMockRaspuns
|
|
gcMockUltimMesaj = ''
|
|
gnMockUltimTip = 0
|
|
gnMockRaspuns = 6
|
|
|
|
PUBLIC gnMockNomModCount, gnMockNomModId, gnMockVerifCodCount, gcMockVerifCodOptiuniAnte, gnMockVerifCodLnOptiune
|
|
gnMockNomModCount = 0
|
|
gnMockNomModId = 0
|
|
gnMockVerifCodCount = 0
|
|
gcMockVerifCodOptiuniAnte = ''
|
|
gnMockVerifCodLnOptiune = 0
|
|
|
|
TRY
|
|
SET PROCEDURE TO "D:\ROA\ROACONT\COMUN\utile\Teste\mock_amessagebox.prg" ADDITIVE
|
|
SET PROCEDURE TO "D:\ROA\ROACONT\COMUN\utile\Teste\todo21\mock_meniu_dblclick_deps.prg" ADDITIVE
|
|
DO PrLog WITH 'mock-uri incarcate'
|
|
|
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
|
IF gnHandle <= 0
|
|
DO PrLog WITH 'FAIL: conectare Oracle esuata (gnHandle=' + TRANSFORM(gnHandle) + ')'
|
|
gnEsecuri = gnEsecuri + 1
|
|
DO PrLog WITH 'TOTAL FAIL: ' + TRANSFORM(gnEsecuri) + ' pas(i)'
|
|
QUIT
|
|
ENDIF
|
|
DO PrLog WITH 'mediu OK, schema=' + gcS
|
|
|
|
*-- cod fiscal real cu perioada ANAF, pentru banda A2 (do_verifica)
|
|
LOCAL lcSql, lcCodAnaf
|
|
TEXT TO lcSql NOSHOW
|
|
select cod_fiscal_n from (
|
|
select cod_fiscal_n from istoric_coduri_fiscale
|
|
where (data_inceput_tvainc is not null or data_inactivare is not null) and cod_fiscal_n is not null
|
|
order by dataorav_anaf desc) where rownum <= 1
|
|
ENDTEXT
|
|
lcCodAnaf = ''
|
|
IF goExecutor.oExecuta(lcSql, 'crsGD1') AND USED('crsGD1') AND RECCOUNT('crsGD1') > 0
|
|
lcCodAnaf = ALLTRIM(TRANSFORM(NVL(crsGD1.cod_fiscal_n, 0)))
|
|
ENDIF
|
|
USE IN (SELECT('crsGD1'))
|
|
DO PrLog WITH 'cod fiscal ANAF de test: [' + lcCodAnaf + ']'
|
|
|
|
*-- partener real activ, pentru banda D (meniu_dblclick -> editare partener)
|
|
LOCAL lnIdPartTest, lcCodFiscalPart, lcDenumirePart
|
|
TEXT TO lcSql NOSHOW
|
|
select id_part, cod_fiscal, denumire from (
|
|
select id_part, cod_fiscal, denumire from nom_parteneri
|
|
where nvl(inactiv,0) = 0 and nvl(sters,0) = 0 and not cod_fiscal is null
|
|
order by id_part desc) where rownum <= 1
|
|
ENDTEXT
|
|
lnIdPartTest = 0
|
|
lcCodFiscalPart = ''
|
|
lcDenumirePart = ''
|
|
IF goExecutor.oExecuta(lcSql, 'crsGD2') AND USED('crsGD2') AND RECCOUNT('crsGD2') > 0
|
|
lnIdPartTest = NVL(crsGD2.id_part, 0)
|
|
lcCodFiscalPart = ALLTRIM(NVL(crsGD2.cod_fiscal, ''))
|
|
lcDenumirePart = ALLTRIM(NVL(crsGD2.denumire, ''))
|
|
ENDIF
|
|
USE IN (SELECT('crsGD2'))
|
|
DO PrLog WITH 'partener de test: id_part=' + TRANSFORM(lnIdPartTest) + ' cod=[' + lcCodFiscalPart + '] denumire=[' + lcDenumirePart + ']'
|
|
|
|
IF EMPTY(lcCodAnaf) OR lnIdPartTest = 0
|
|
DO PrLog WITH 'FAIL: nu s-au gasit date de test (cod fiscal ANAF sau partener activ)'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- cursorul EXACT ca in oproceduri_comune.prg:4584 (verificare_parteneri), fara sa apelam
|
|
*-- acea procedura (Show(1) modal) - Load-ul formularului adauga singur cele 7 campuri noi
|
|
CREATE CURSOR crsVerificareParteneri (ales L, denumire C(100) NULL, cod_fiscal C(30) NULL, Valid L NULL, ;
|
|
firma C(100) NULL, cod C(100) NULL, adresa_roa C(250) NULL, adresa C(250) NULL, ;
|
|
judet C(100) NULL, regcom C(30) NULL, codpostal C(20) NULL, telefon C(30) NULL, fax C(30) NULL, ;
|
|
datatvamfin C(30) NULL, platitortvamfin L NULL, VIES L NULL, PlatitorTVA L NULL, eroare C(250) NULL, ;
|
|
IsCIF L NULL, duplicat L, atribut_fiscal C(2), stare C(100), atentie C(100), cod_fiscalfro C(30) NULL, ;
|
|
id_part N(16), tvaincasare L, splittva L, inactiv L, Data D)
|
|
|
|
INSERT INTO crsVerificareParteneri (denumire, cod_fiscal, id_part) VALUES ('TEST ANAF PERIOADA', lcCodAnaf, 0)
|
|
INSERT INTO crsVerificareParteneri (denumire, cod_fiscal, id_part) VALUES (lcDenumirePart, lcCodFiscalPart, lnIdPartTest)
|
|
INSERT INTO crsVerificareParteneri (denumire, cod_fiscal, id_part) VALUES ('TEST FARA ID_PART', 'RO9999999', 0)
|
|
*-- randul D1c: denumire cu ';' - trebuie inlocuit cu ',' ca sa nu sparga sirul XMENU
|
|
INSERT INTO crsVerificareParteneri (denumire, cod_fiscal, id_part) VALUES ('TEST; CU PUNCT VIRGULA', 'RO8888888', 777)
|
|
UPDATE crsVerificareParteneri SET IsCIF = .T.
|
|
GO TOP
|
|
|
|
*=====================================================================
|
|
* Banda F: coloana Ales (Column1) - conditionata de al 7-lea parametru la Init
|
|
*=====================================================================
|
|
LOCAL loFormAles
|
|
loFormAles = CREATEOBJECT('frm_verificare_parteneri', .F., .T., .F., .F., .F., .T.)
|
|
loFormAles.WindowType = 0
|
|
IF !loFormAles._grdbase1.Column1.Visible
|
|
DO PrLog WITH 'OK F1: Column1 (Ales) ascunsa cu 6 parametri (implicit, fara al 7-lea)'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL F1: Column1 (Ales) vizibila desi formularul a primit doar 6 parametri'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
loFormAles.Release()
|
|
|
|
loFormAles = CREATEOBJECT('frm_verificare_parteneri', .F., .T., .F., .F., .F., .T., .T.)
|
|
loFormAles.WindowType = 0
|
|
IF loFormAles._grdbase1.Column1.Visible
|
|
DO PrLog WITH 'OK F2: Column1 (Ales) vizibila cu al 7-lea parametru .T.'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL F2: Column1 (Ales) ramane ascunsa desi al 7-lea parametru e .T.'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
loFormAles.Release()
|
|
|
|
PUBLIC goFormGD
|
|
goFormGD = CREATEOBJECT('frm_verificare_parteneri', .F., .T., .F., .F., .F., .T.)
|
|
goFormGD.WindowType = 0
|
|
goFormGD.Show()
|
|
DOEVENTS FORCE
|
|
DO PrLog WITH 'formular instantiat, lMFIN=' + TRANSFORM(goFormGD.lMFIN)
|
|
|
|
*=====================================================================
|
|
* Banda H: chkANAF/chkExperimental/chkMFIN au disparut ca obiecte; lExperimental (proprietate) trebuie
|
|
*-- sa reflecte al 5-lea parametru la Init, nu o valoare hardcodata
|
|
*=====================================================================
|
|
IF goFormGD.lExperimental = .F.
|
|
DO PrLog WITH 'OK H1: tlExperimental=.F. (al 5-lea parametru) -> lExperimental=.F.'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL H1: lExperimental=' + TRANSFORM(goFormGD.lExperimental) + ' asteptat .F.'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
LOCAL loFormExp
|
|
loFormExp = CREATEOBJECT('frm_verificare_parteneri', .F., .T., .F., .F., .T., .T.)
|
|
loFormExp.WindowType = 0
|
|
IF loFormExp.lExperimental = .T.
|
|
DO PrLog WITH 'OK H2: tlExperimental=.T. (al 5-lea parametru) -> lExperimental=.T.'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL H2: lExperimental=' + TRANSFORM(loFormExp.lExperimental) + ' asteptat .T. (nu mai e hardcodat pe .F.)'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
loFormExp.Release()
|
|
|
|
*=====================================================================
|
|
* Banda A: cele 7 coloane de perioada ANAF din grid (34 in total; coloana calculata
|
|
* cPerioadaTva a fost scoasa - vederea Esential arata doua coloane de date, nu un text lung)
|
|
*=====================================================================
|
|
IF goFormGD._grdbase1.ColumnCount = 34
|
|
DO PrLog WITH 'OK A1: _grdbase1.ColumnCount = 34'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL A1: ColumnCount = ' + TRANSFORM(goFormGD._grdbase1.ColumnCount) + ' (asteptat 34)'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
IF !PEMSTATUS(goFormGD._grdbase1, 'cPerioadaTva', 5)
|
|
DO PrLog WITH 'OK A1b: coloana calculata cPerioadaTva a fost scoasa din grid'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL A1b: cPerioadaTva inca exista in grid'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- coloanele redenumite sunt membri ai grid-ului dupa Name (cDataInceputScpTva...), nu dupa
|
|
*-- pozitia Column28..Column34 - VFP adreseaza obiectul din container dupa Name, nu dupa pozitie
|
|
LOCAL laCol[7,2], lnI, lcNume, lcSrc, llColOk
|
|
laCol[1,1] = 'cDataInceputScpTva'
|
|
laCol[1,2] = 'data_inceput_scptva'
|
|
laCol[2,1] = 'cDataSfarsitScpTva'
|
|
laCol[2,2] = 'data_sfarsit_scptva'
|
|
laCol[3,1] = 'cDataAnulImpScpTva'
|
|
laCol[3,2] = 'data_anul_imp_scptva'
|
|
laCol[4,1] = 'cDataInceputTvaInc'
|
|
laCol[4,2] = 'data_inceput_tvainc'
|
|
laCol[5,1] = 'cDataSfarsitTvaInc'
|
|
laCol[5,2] = 'data_sfarsit_tvainc'
|
|
laCol[6,1] = 'cDataInactivare'
|
|
laCol[6,2] = 'data_inactivare'
|
|
laCol[7,1] = 'cDataReactivare'
|
|
laCol[7,2] = 'data_reactivare'
|
|
llColOk = .T.
|
|
FOR lnI = 1 TO 7
|
|
lcNume = laCol[lnI, 1]
|
|
IF !PEMSTATUS(goFormGD._grdbase1, lcNume, 5)
|
|
llColOk = .F.
|
|
DO PrLog WITH 'FAIL A3: coloana ' + lcNume + ' nu exista ca membru al _grdbase1'
|
|
LOOP
|
|
ENDIF
|
|
lcSrc = LOWER(EVALUATE('goFormGD._grdbase1.' + lcNume + '.ControlSource'))
|
|
IF !('crsverificareparteneri.' + laCol[lnI, 2] $ lcSrc)
|
|
llColOk = .F.
|
|
DO PrLog WITH 'FAIL A3: ' + lcNume + ' ControlSource=[' + lcSrc + '] asteptat crsverificareparteneri.' + laCol[lnI, 2]
|
|
ENDIF
|
|
ENDFOR
|
|
IF llColOk
|
|
DO PrLog WITH 'OK A3: cele 7 coloane noi exista pe binarul curent, cu ControlSource corect'
|
|
ELSE
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- do_verifica: llServiciuWebANAF e acum constanta .T. in cod (overificari.vc2:2808) -> ramura serviciu web ANAF (banda A2)
|
|
goFormGD.do_verifica(.F., .T., .F.)
|
|
DO PrLog WITH 'do_verifica rulat (tlValidare=.F. tlMFIN=.T. tlVIES=.F.)'
|
|
|
|
SELECT crsVerificareParteneri
|
|
LOCATE FOR cod_fiscal = lcCodAnaf
|
|
IF FOUND()
|
|
LOCAL llArePerioada
|
|
llArePerioada = !EMPTY(crsVerificareParteneri.data_inceput_scptva) OR ;
|
|
!EMPTY(crsVerificareParteneri.data_inceput_tvainc) OR ;
|
|
!EMPTY(crsVerificareParteneri.data_inactivare)
|
|
IF llArePerioada
|
|
DO PrLog WITH 'OK A2: do_verifica a completat cel putin o perioada pentru ' + lcCodAnaf
|
|
ELSE
|
|
DO PrLog WITH 'FAIL A2: nicio perioada completata pentru ' + lcCodAnaf + ' dupa do_verifica'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
DO PrLog WITH ' scpTVA ' + DTOC(crsVerificareParteneri.data_inceput_scptva) + '-' + DTOC(crsVerificareParteneri.data_sfarsit_scptva) + ;
|
|
' tvaInc ' + DTOC(crsVerificareParteneri.data_inceput_tvainc) + '-' + DTOC(crsVerificareParteneri.data_sfarsit_tvainc) + ;
|
|
' inactiv ' + DTOC(crsVerificareParteneri.data_inactivare) + ' reactivat ' + DTOC(crsVerificareParteneri.data_reactivare)
|
|
ELSE
|
|
DO PrLog WITH 'FAIL A2: randul de test ' + lcCodAnaf + ' nu mai exista in cursor'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*=====================================================================
|
|
* Banda D: meniu_dblclick unic pe toate coloanele (nu mai exista rutare directa pe coloana)
|
|
*=====================================================================
|
|
|
|
*-- D1a: partener cu id_part - prima optiune activa, cu denumirea lui
|
|
SELECT crsVerificareParteneri
|
|
LOCATE FOR id_part = lnIdPartTest
|
|
gcMockVerifCodOptiuniAnte = ''
|
|
gnMockVerifCodLnOptiune = 0
|
|
goFormGD._grdbase1.Column2.Text1.DblClick()
|
|
IF gcMockVerifCodOptiuniAnte == "MODIFICARE PARTENER - " + lcDenumirePart + ";\-;"
|
|
DO PrLog WITH 'OK D1a: Column2 DblClick -> optiuni_meniu_ante = [MODIFICARE PARTENER - <denumire>;\-;]'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL D1a: optiuni_meniu_ante=[' + gcMockVerifCodOptiuniAnte + ']'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- coloana ANAF (firma) cheama ACELASI meniu_dblclick - nu mai exista rutare separata
|
|
gcMockVerifCodOptiuniAnte = ''
|
|
goFormGD._grdbase1.Column5.Text1.DblClick()
|
|
IF gcMockVerifCodOptiuniAnte == "MODIFICARE PARTENER - " + lcDenumirePart + ";\-;"
|
|
DO PrLog WITH 'OK D1a2: Column5 (firma ANAF) DblClick -> acelasi meniu_dblclick unificat'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL D1a2: optiuni_meniu_ante=[' + gcMockVerifCodOptiuniAnte + '] - coloana ANAF nu mai e unificata cu restul'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- D1b: fara id_part - prima optiune dezactivata (prefix \)
|
|
SELECT crsVerificareParteneri
|
|
LOCATE FOR cod_fiscal = 'RO9999999'
|
|
gcMockVerifCodOptiuniAnte = ''
|
|
goFormGD._grdbase1.Column2.Text1.DblClick()
|
|
IF gcMockVerifCodOptiuniAnte == "\MODIFICARE PARTENER - TEST FARA ID_PART;\-;"
|
|
DO PrLog WITH 'OK D1b: fara id_part -> prima optiune dezactivata cu \'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL D1b: optiuni_meniu_ante=[' + gcMockVerifCodOptiuniAnte + ']'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- D1c: ';' din denumire devine ',' - altfel ar sparge sirul XMENU
|
|
SELECT crsVerificareParteneri
|
|
LOCATE FOR cod_fiscal = 'RO8888888'
|
|
gcMockVerifCodOptiuniAnte = ''
|
|
goFormGD._grdbase1.Column2.Text1.DblClick()
|
|
IF gcMockVerifCodOptiuniAnte == "MODIFICARE PARTENER - TEST, CU PUNCT VIRGULA;\-;"
|
|
DO PrLog WITH 'OK D1c: ";" din denumire e inlocuit cu "," in optiuni_meniu_ante'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL D1c: optiuni_meniu_ante=[' + gcMockVerifCodOptiuniAnte + ']'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- D2: lnOptiune = 1 (prima optiune aleasa) -> meniu_dblclick_partener -> nom_parteneri_modifica
|
|
SELECT crsVerificareParteneri
|
|
LOCATE FOR id_part = lnIdPartTest
|
|
gnMockVerifCodLnOptiune = 1
|
|
gnMockNomModCount = 0
|
|
gnMockNomModId = 0
|
|
goFormGD._grdbase1.Column2.Text1.DblClick()
|
|
IF gnMockNomModCount = 1 AND gnMockNomModId = lnIdPartTest
|
|
DO PrLog WITH 'OK D2: lnOptiune=1 -> meniu_dblclick_partener -> nom_parteneri_modifica(' + TRANSFORM(lnIdPartTest) + ')'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL D2: nom_mod count=' + TRANSFORM(gnMockNomModCount) + ' id=' + TRANSFORM(gnMockNomModId)
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- D2b: orice alta optiune (ex. 7 = anulat/alta actiune din meniul de verificare) -> NU editeaza partenerul
|
|
gnMockVerifCodLnOptiune = 7
|
|
gnMockNomModCount = 0
|
|
goFormGD._grdbase1.Column2.Text1.DblClick()
|
|
IF gnMockNomModCount = 0
|
|
DO PrLog WITH 'OK D2b: lnOptiune<>1 -> nu se cheama meniu_dblclick_partener'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL D2b: nom_mod count=' + TRANSFORM(gnMockNomModCount) + ' desi lnOptiune=7'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- D3: id_part gol + lnOptiune=1 -> mesaj de avertizare, fara editare partener (fostul C5)
|
|
SELECT crsVerificareParteneri
|
|
LOCATE FOR cod_fiscal = 'RO9999999'
|
|
gnMockVerifCodLnOptiune = 1
|
|
gnMockNomModCount = 0
|
|
gcMockUltimMesaj = ''
|
|
goFormGD._grdbase1.Column2.Text1.DblClick()
|
|
IF gnMockNomModCount = 0 AND 'nu poate fi identificat' $ LOWER(gcMockUltimMesaj)
|
|
DO PrLog WITH 'OK D3: id_part gol -> mesaj de avertizare, fara editare partener'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL D3: nom_mod count=' + TRANSFORM(gnMockNomModCount) + ' mesaj=[' + gcMockUltimMesaj + ']'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*=====================================================================
|
|
* Banda E: SetVedere(1/2/3) - coloane vizibile si suma latimilor
|
|
*=====================================================================
|
|
LOCAL lnV, lnC, lnSuma, lcVizibile
|
|
FOR lnV = 1 TO 3
|
|
goFormGD.SetVedere(m.lnV)
|
|
lnSuma = 0
|
|
lcVizibile = ''
|
|
FOR lnC = 1 TO goFormGD._grdbase1.ColumnCount
|
|
IF goFormGD._grdbase1.Columns(m.lnC).Visible
|
|
lnSuma = lnSuma + goFormGD._grdbase1.Columns(m.lnC).Width
|
|
lcVizibile = lcVizibile + goFormGD._grdbase1.Columns(m.lnC).Name + '(' + TRANSFORM(goFormGD._grdbase1.Columns(m.lnC).Width) + ') '
|
|
ENDIF
|
|
ENDFOR
|
|
DO PrLog WITH 'Vedere ' + TRANSFORM(m.lnV) + ': suma latimi=' + TRANSFORM(m.lnSuma) + ' px, coloane vizibile: ' + m.lcVizibile
|
|
IF m.lnV = 1
|
|
IF m.lnSuma <= goFormGD._grdbase1.Width
|
|
DO PrLog WITH 'OK E1: vedere Esential, suma latimilor (' + TRANSFORM(m.lnSuma) + ') <= ' + TRANSFORM(goFormGD._grdbase1.Width) + ' px (latimea reala a gridului)'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL E1: vedere Esential depaseste latimea gridului - suma=' + TRANSFORM(m.lnSuma) + ' px > ' + TRANSFORM(goFormGD._grdbase1.Width) + ' px'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
*-- E2: in vederea Esential perioada de TVA se vede pe doua coloane de data, nu ca text lung
|
|
goFormGD.SetVedere(1)
|
|
IF goFormGD._grdbase1.cDataInceputScpTva.Visible AND goFormGD._grdbase1.cDataSfarsitScpTva.Visible ;
|
|
AND goFormGD._grdbase1.cDataAnulImpScpTva.Visible
|
|
DO PrLog WITH 'OK E2: vederea Esential arata Inceput / Sfarsit / Anulare TVA ca trei coloane'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL E2: vederea Esential nu arata cele trei coloane de perioada TVA'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*=====================================================================
|
|
* Banda I: AsazaFiltre - butoanele de filtru au caption cu numar, deci latime variabila;
|
|
* trebuie asezate unul dupa altul, fara suprapunere, oricat de lung ar fi textul
|
|
*=====================================================================
|
|
LOCAL laFil[4], lnF, llSupra, lcPoz
|
|
goFormGD.chkInvalid.Caption = 'Coduri invalide (12345)'
|
|
goFormGD.chkDuplicat.Caption = 'Duplicate (12345)'
|
|
goFormGD.chkInactiv.Caption = 'Inactivi (12345)'
|
|
goFormGD.chkPlatitor.Caption = 'Atribut RO (12345)'
|
|
goFormGD.chkInvalid.Visible = .T.
|
|
goFormGD.chkDuplicat.Visible = .T.
|
|
goFormGD.chkInactiv.Visible = .T.
|
|
goFormGD.chkPlatitor.Visible = .T.
|
|
goFormGD.AsazaFiltre()
|
|
laFil[1] = goFormGD.chkInvalid
|
|
laFil[2] = goFormGD.chkDuplicat
|
|
laFil[3] = goFormGD.chkInactiv
|
|
laFil[4] = goFormGD.chkPlatitor
|
|
llSupra = .F.
|
|
lcPoz = ''
|
|
FOR lnF = 1 TO 4
|
|
lcPoz = lcPoz + ALLTRIM(laFil[m.lnF].Caption) + ' [' + TRANSFORM(laFil[m.lnF].Left) + '..' + ;
|
|
TRANSFORM(laFil[m.lnF].Left + laFil[m.lnF].Width) + '] '
|
|
IF m.lnF > 1 AND laFil[m.lnF].Left < laFil[m.lnF - 1].Left + laFil[m.lnF - 1].Width
|
|
llSupra = .T.
|
|
ENDIF
|
|
ENDFOR
|
|
DO PrLog WITH ' filtre: ' + m.lcPoz
|
|
IF !llSupra
|
|
DO PrLog WITH 'OK I1: butoanele de filtru nu se suprapun dupa AsazaFiltre'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL I1: butoanele de filtru se suprapun'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*-- I2: chkMFIN a disparut ca obiect; ramane proprietatea lMFIN, setata din al 2-lea parametru
|
|
IF !PEMSTATUS(goFormGD, 'chkMFIN', 5) AND goFormGD.lMFIN = .T.
|
|
DO PrLog WITH 'OK I2: chkMFIN a fost scos, lMFIN = .T. (al 2-lea parametru la Init)'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL I2: chkMFIN inca exista sau lMFIN=' + TRANSFORM(goFormGD.lMFIN) + ' (asteptat .T.)'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
|
|
*=====================================================================
|
|
* Banda G: continutul coloanei atentie - metoda reala ConstruiesteAtentie (COMUN\clase\overificari.vc2),
|
|
* apelata real, pe randuri fabricate, fara ANAF
|
|
*=====================================================================
|
|
INSERT INTO crsVerificareParteneri (denumire, Valid, duplicat, inactiv, firma, atribut_fiscal, platitortvamfin) ;
|
|
VALUES ('ATN INVALID', .F., .F., .F., '', '', .F.)
|
|
INSERT INTO crsVerificareParteneri (denumire, Valid, duplicat, inactiv, firma, atribut_fiscal, platitortvamfin) ;
|
|
VALUES ('ATN DUPLICAT', .T., .T., .F., '', '', .F.)
|
|
INSERT INTO crsVerificareParteneri (denumire, Valid, duplicat, inactiv, firma, atribut_fiscal, platitortvamfin) ;
|
|
VALUES ('ATN INACTIV', .T., .F., .T., '', '', .F.)
|
|
INSERT INTO crsVerificareParteneri (denumire, Valid, duplicat, inactiv, firma, atribut_fiscal, platitortvamfin) ;
|
|
VALUES ('ATN FARARO', .T., .F., .F., 'FIRMA TEST SRL', 'RO', .F.)
|
|
INSERT INTO crsVerificareParteneri (denumire, Valid, duplicat, inactiv, firma, atribut_fiscal, platitortvamfin) ;
|
|
VALUES ('ATN COMBO', .T., .T., .T., 'FIRMA COMBO SRL', '', .T.)
|
|
|
|
goFormGD.ConstruiesteAtentie()
|
|
|
|
LOCAL laAtn[5,2]
|
|
laAtn[1,1] = 'ATN INVALID'
|
|
laAtn[1,2] = 'INVALID'
|
|
laAtn[2,1] = 'ATN DUPLICAT'
|
|
laAtn[2,2] = 'DUPLICAT'
|
|
laAtn[3,1] = 'ATN INACTIV'
|
|
laAtn[3,2] = 'INACTIV'
|
|
laAtn[4,1] = 'ATN FARARO'
|
|
laAtn[4,2] = 'FARA RO'
|
|
laAtn[5,1] = 'ATN COMBO'
|
|
laAtn[5,2] = 'DUPLICAT INACTIV FARA RO'
|
|
|
|
LOCAL lnG
|
|
FOR lnG = 1 TO 5
|
|
SELECT crsVerificareParteneri
|
|
LOCATE FOR denumire = laAtn[m.lnG, 1]
|
|
IF FOUND() AND ALLTRIM(crsVerificareParteneri.atentie) == laAtn[m.lnG, 2]
|
|
DO PrLog WITH 'OK G' + TRANSFORM(m.lnG) + ': ' + laAtn[m.lnG, 1] + ' -> atentie=[' + laAtn[m.lnG, 2] + ']'
|
|
ELSE
|
|
DO PrLog WITH 'FAIL G' + TRANSFORM(m.lnG) + ': ' + laAtn[m.lnG, 1] + ' -> atentie=[' + ALLTRIM(crsVerificareParteneri.atentie) + '] asteptat [' + laAtn[m.lnG, 2] + ']'
|
|
gnEsecuri = gnEsecuri + 1
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
goFormGD.Release()
|
|
|
|
DO PrLog WITH IIF(gnEsecuri = 0, 'TOTAL OK', 'TOTAL FAIL: ' + TRANSFORM(gnEsecuri) + ' pas(i)')
|
|
CATCH TO loEx
|
|
DO PrLog WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
|
|
DO PrLog WITH 'TOTAL FAIL: exceptie neasteptata'
|
|
ENDTRY
|
|
|
|
QUIT
|
|
|
|
**********************************************************
|
|
PROCEDURE PrLog
|
|
LPARAMETERS tcMsg
|
|
LOCAL lcL
|
|
SET SAFETY OFF
|
|
lcL = IIF(FILE(gcLog), FILETOSTR(gcLog), '')
|
|
STRTOFILE(lcL + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcLog)
|
|
ENDPROC
|
|
|
|
**********************************************************
|
|
PROCEDURE PrErr
|
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
|
DO PrLog WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
|
|
ENDPROC
|