* test_ui_grid_articole.prg - reproducere UI (formular real, nu headless) a grid-ului * grdArticoleFactura raportat gol pe pagina 3 (Articole factura) la frm_modific2024. * Flux real, identic cu do_editare_factura (ofacturare_comun.vc2:~3780-3796): IncarcaCursoareModificareNota * -> rebuild tact -> update_jtva_coloane -> IncarcaArticoleFactura(id_vanzare,'crsArticoleFactura') * -> Createobject(frm_modific2024)+Show() -> ActivePage=3. Captura de ecran via vfp_ui_harness.ps1 * (PrintWindow, off-screen, fara input real). Document: cod=1139934/an=2021/luna=12 (id_vanzare=882, * verificat in test_page3_articole.prg - PageCount=3) - ales in loc de 1140885 pentru ca are si * rulaje (trul/trul_obinv nevide), altfel Show() ascunde tot pgfArticole (deci si pagina 3), * indiferent de tvd - "Ascund pageframe rulaje daca nu am rulaje" (omodificari.vc2:14254). * Nu scrie in Oracle. QUIT la final. SET SAFETY OFF SET TALK OFF PUBLIC gcUILog, gcSyncDir gcSyncDir = 'D:\ROA\ROAFACTURARE\COMUN\utile\Teste\editare_factura\uisync\' gcUILog = 'D:\ROA\ROAFACTURARE\COMUN\utile\Teste\editare_factura\test_ui_grid_articole_log.txt' STRTOFILE('start' + CHR(13) + CHR(10), gcUILog) ON ERROR DO test_error_handler WITH ERROR(), MESSAGE(), PROGRAM(), LINENO() SET PROCEDURE TO D:\ROA\ROAFACTURARE\COMUN\utile\Teste\ui_harness.prg ADDITIVE DO HarnessInit 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), gcUILog, 1) DO HarnessDone WITH 'error' QUIT ENDIF SET PROCEDURE TO D:\ROA\ROAFACTURARE\COMUN\programe\ofacturare_editare.prg ADDITIVE *!* test_init_env_auto face Set Classlib To omodificari Additive dupa Set Path pe ROACONT - *!* se incarca intai copia ROACONT; o eliberam si reincarcam pe cea de sub test, cu cale completa. RELEASE CLASSLIB omodificari SET CLASSLIB TO D:\ROA\ROAFACTURARE\COMUN\clase\omodificari.vcx ADDITIVE LOCAL llOk, lnIdSet, loForm, lnReccountTvd, lcRecordSource, lnColumnCount llOk = IncarcaCursoareModificareNota(1139934, 2021, 12, .F.) IF !llOk OR !Used('tact') OR Reccount('tact') = 0 STRTOFILE('EROARE: IncarcaCursoareModificareNota a esuat pe cod=1139934' + CHR(13) + CHR(10), gcUILog, 1) DO HarnessDone WITH 'error' QUIT ENDIF 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 IF !Used('crsJtvaTemp') update_jtva_coloane("", "crsJtvaTemp", 6) ENDIF *!* replica exact do_editare_factura: articolele se incarca ACUM, inainte de Createobject IncarcaArticoleFactura(882, 'crsArticoleFactura') STRTOFILE('Reccount(crsArticoleFactura) inainte de Createobject = ' + TRANSFORM(Reccount('crsArticoleFactura')) + CHR(13) + CHR(10), gcUILog, 1) Select tact loForm = Createobject([frm_modific2024], lnIdSet) loForm.WindowType = 0 loForm.Show() *!* pagina 3 (Articole factura) apare doar daca lAreArticoleVanzari - navigheaza acolo din cod, *!* fara click real (masina partajata) *!* NU se mai cheama Refresh() manual aici - fixul din Show() (omodificari.vc2) trebuie sa fie suficient loForm.pgfArticole.ActivePage = 3 DOEVENTS FORCE lnReccountTvd = Reccount('tvd') lcRecordSource = loForm.pgfArticole.Page3.grdArticoleFactura.RecordSource lnColumnCount = loForm.pgfArticole.Page3.grdArticoleFactura.ColumnCount STRTOFILE('PageCount = ' + TRANSFORM(loForm.pgfArticole.PageCount) + CHR(13) + CHR(10) + ; 'pgfArticole.Visible = ' + TRANSFORM(loForm.pgfArticole.Visible) + CHR(13) + CHR(10) + ; 'lAreArticoleVanzari = ' + TRANSFORM(loForm.lAreArticoleVanzari) + CHR(13) + CHR(10) + ; 'Reccount(tvd) = ' + TRANSFORM(lnReccountTvd) + CHR(13) + CHR(10) + ; 'RecordSource grid = [' + lcRecordSource + ']' + CHR(13) + CHR(10) + ; 'ColumnCount grid = ' + TRANSFORM(lnColumnCount) + CHR(13) + CHR(10), gcUILog, 1) DO HarnessStep WITH 0, 'pagina3 articole - formular vizibil dupa Show+ActivePage=3', 25 loForm.Release() IF Used('crsArticoleFactura') Use In crsArticoleFactura ENDIF DO HarnessDone WITH 'done' QUIT PROCEDURE test_error_handler LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo STRTOFILE('EROARE ' + TRANSFORM(tnError) + ' [' + tcProgram + ':' + TRANSFORM(tnLineNo) + '] ' + tcMessage + CHR(13) + CHR(10), gcUILog, 1) ENDPROC