* test_defect1_crsjtvatemp.prg * Verifica fix-ul din frm_facturi.do_editare_factura (ofacturare_comun.vc2:3799-3804): inainte de * Createobject('frm_modific2024',...), metoda precreeaza crsJtvaTemp cu update_jtva_coloane("", * "crsJtvaTemp", 0) - acelasi tipar folosit de ooperatii_comune.prg:113 (viz_act, calea ROACONT * "registru jurnal > modificare" care functiona deja corect). Fara aceasta linie, * Column63.ControlSource din grid (Seek(...,'crsJtvaTemp','id_jtva')) crapa la constructia * formularului, fiindca cursorul nu exista inca. * Nu scrie in Oracle - doar SELECT-uri prin goExecutor si citiri de proprietati. QUIT la final. SET SAFETY OFF SET TALK OFF LOCAL lcLog lcLog = 'D:\ROA\ROAFACTURARE\COMUN\utile\Teste\editare_factura\test_defect1_crsjtvatemp_log.txt' STRTOFILE('start' + CHR(13) + CHR(10), lcLog) PUBLIC gcErrLog gcErrLog = lcLog ON ERROR DO test_error_handler WITH ERROR(), MESSAGE(), PROGRAM(), LINENO() DO ('D:\ROA\ROAFACTURARE\COMUN\utile\Teste\test_init_env_auto.prg') WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT' IF gnHandle <= 0 STRTOFILE('EROARE: conectare esuata' + CHR(13) + CHR(10), lcLog, 1) QUIT ENDIF SET PROCEDURE TO D:\ROA\ROAFACTURARE\COMUN\programe\ofacturare_editare.prg ADDITIVE *!* test_init_env_auto:139 incarca omodificari din copia ROACONT (alt working copy) - o eliberam *!* si o reincarcam pe cea DE SUB TEST, cu cale completa RELEASE CLASSLIB omodificari SET CLASSLIB TO D:\ROA\ROAFACTURARE\COMUN\clase\omodificari.vcx ADDITIVE DO verifica_defect1 WITH 1139934, 2021, 12, lcLog, 3, .T., 882 STRTOFILE('done' + CHR(13) + CHR(10), lcLog, 1) QUIT PROCEDURE verifica_defect1 LPARAMETERS tnCod, tnAn, tnLuna, tcLog, tnPageCountAsteptat, tlAreArticoleAsteptat, tnIdVanzareAsteptat LOCAL llOk, lnIdSet, loForm, llCrsJtvaInchisInainte, llCrsJtvaCreatDupa, lnPageCount, llAreArticole, lnIdVanzare IF USED('crsJtvaTemp') USE IN crsJtvaTemp ENDIF llCrsJtvaInchisInainte = !USED('crsJtvaTemp') llOk = IncarcaCursoareModificareNota(tnCod, tnAn, tnLuna, .F.) lnPageCount = -1 llAreArticole = .F. lnIdVanzare = 0 llCrsJtvaCreatDupa = .F. IF llOk AND USED('tact') AND RECCOUNT('tact') > 0 SELECT a.*, IIF(NVL(id_jtva_coloana,0)=0,0,1) AS cu_Tva FROM tact a INTO CURSOR tact READWRITE GO TOP IN tact lnIdSet = tact.id_set *-- linia din fix (ofacturare_comun.vc2:3801) - fara ea, grid-ul din frm_modific2024 *-- crapa la constructie pe crsJtvaTemp lipsa update_jtva_coloane("", "crsJtvaTemp", 0) llCrsJtvaCreatDupa = USED('crsJtvaTemp') AND RECCOUNT('crsJtvaTemp') >= 0 SELECT tact TRY loForm = CREATEOBJECT([frm_modific2024], lnIdSet) loForm.WindowType = 0 loForm.Show() lnPageCount = loForm.pgfArticole.PageCount llAreArticole = loForm.lAreArticoleVanzari lnIdVanzare = loForm.nIdVanzare loForm.Release() CATCH TO loExc STRTOFILE(' EXCEPTIE la Createobject/Show frm_modific2024: ' + TRANSFORM(loExc.ErrorNo) + ; ' [' + loExc.Message + ']' + CHR(13) + CHR(10), tcLog, 1) ENDTRY ENDIF STRTOFILE('--- Defect 1 (crsJtvaTemp), cod=' + TRANSFORM(tnCod) + ' ---' + CHR(13) + CHR(10) + ; ' crsJtvaTemp inchis inainte de apel = ' + TRANSFORM(llCrsJtvaInchisInainte) + CHR(13) + CHR(10) + ; ' crsJtvaTemp creat de update_jtva_coloane (Used+Reccount>=0) = ' + TRANSFORM(llCrsJtvaCreatDupa) + CHR(13) + CHR(10) + ; ' PageCount = ' + TRANSFORM(lnPageCount) + ' (asteptat ' + TRANSFORM(tnPageCountAsteptat) + ')' + CHR(13) + CHR(10) + ; ' lAreArticoleVanzari = ' + TRANSFORM(llAreArticole) + ' (asteptat ' + TRANSFORM(tlAreArticoleAsteptat) + ')' + CHR(13) + CHR(10) + ; ' nIdVanzare = ' + TRANSFORM(lnIdVanzare) + ' (asteptat ' + TRANSFORM(tnIdVanzareAsteptat) + ')' + CHR(13) + CHR(10) + ; ' ' + IIF(llCrsJtvaInchisInainte AND llCrsJtvaCreatDupa AND lnPageCount == tnPageCountAsteptat AND llAreArticole == tlAreArticoleAsteptat AND lnIdVanzare == tnIdVanzareAsteptat, 'PASS', 'FAIL') + CHR(13) + CHR(10), tcLog, 1) IF USED('actactan') USE IN actactan ENDIF IF USED('tact') USE IN tact ENDIF IF USED('rul_temp') USE IN rul_temp ENDIF IF USED('trul') USE IN trul ENDIF IF USED('rul_temp_obinv') USE IN rul_temp_obinv ENDIF IF USED('trul_obinv') USE IN trul_obinv ENDIF IF USED('crsJtvaTemp') USE IN crsJtvaTemp ENDIF ENDPROC PROCEDURE test_error_handler LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo STRTOFILE('EROARE ' + TRANSFORM(tnError) + ' [' + tcProgram + ':' + TRANSFORM(tnLineNo) + '] ' + tcMessage + CHR(13) + CHR(10), gcErrLog, 1) ENDPROC