Rezolvat: grid registratura decuplat de cursor la intrarea pe firma fara inregistrari
do_initializeaza_cursor detaseaza/reataseaza gridul (save/restore_grid_tag) in jurul recrearii cursorului, ca in actualizeaza_grid1. .pj2: versiune 2.0.5 + chatbot.bmp (din rebuild IDE). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018H9za5A9Tk6wcLFof6seds
This commit is contained in:
@@ -1226,7 +1226,9 @@ DEFINE CLASS ct_registratura AS _ctfrmbase OF "..\comun\clase\_ct_base.vcx"
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
PROCEDURE do_initializeaza_cursor
|
PROCEDURE do_initializeaza_cursor
|
||||||
|
save_grid_tag(This.grid_registratura)
|
||||||
Do viz_registratura In oproceduri_roaregistratura.prg
|
Do viz_registratura In oproceduri_roaregistratura.prg
|
||||||
|
restore_grid_tag(This.grid_registratura)
|
||||||
Select cRegistratura
|
Select cRegistratura
|
||||||
Go Top
|
Go Top
|
||||||
Scatter Name goRegistratura Blank
|
Scatter Name goRegistratura Blank
|
||||||
|
|||||||
79
Teste/test_repro_grid_firma_goala.prg
Normal file
79
Teste/test_repro_grid_firma_goala.prg
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
* test_repro_grid_firma_goala.prg - repro headless: cursor cRegistratura pe firma goala
|
||||||
|
* Rulare: vfp9.exe -A -T "D:\ROA\ROAREGISTRATURA\Teste\test_repro_grid_firma_goala.prg"
|
||||||
|
LPARAMETERS tcParam
|
||||||
|
PUBLIC gcLog
|
||||||
|
gcLog = 'D:\ROA\ROAREGISTRATURA\Teste\log_repro_grid.txt'
|
||||||
|
STRTOFILE('=== repro grid firma goala ' + TTOC(DATETIME()) + CHR(13)+CHR(10), gcLog)
|
||||||
|
|
||||||
|
ON ERROR DO tlog WITH '*** EROARE ' + TRANSFORM(ERROR()) + ': ' + MESSAGE() + ;
|
||||||
|
' | prg=' + PROGRAM() + ' lin=' + TRANSFORM(LINENO())
|
||||||
|
|
||||||
|
DO D:\ROA\ROAREGISTRATURA\Teste\test_init_env_registratura.prg
|
||||||
|
IF TYPE('gnHandle') <> 'N' OR gnHandle <= 0
|
||||||
|
DO tlog WITH 'FAIL conectare'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
DO tlog WITH 'Conectat, handle=' + TRANSFORM(gnHandle)
|
||||||
|
|
||||||
|
* faza 1: exact filtrul initial din viz_registratura, dar fortat GOL (simulare firma fara inregistrari)
|
||||||
|
DO fa_cursor WITH [1=0], 'FAZA1(gol)'
|
||||||
|
|
||||||
|
* faza 2: firma cu inregistrari (filtrul real initial)
|
||||||
|
DO fa_cursor WITH [sters=0 and id_reg=(select max(id_reg) from vregistratura where sters=0)], 'FAZA2(plin)'
|
||||||
|
|
||||||
|
* faza 3: din nou gol, apoi iar plin - stabilitate
|
||||||
|
DO fa_cursor WITH [1=0], 'FAZA3(gol)'
|
||||||
|
DO fa_cursor WITH [sters=0], 'FAZA4(toate)'
|
||||||
|
|
||||||
|
ON ERROR
|
||||||
|
QUIT
|
||||||
|
|
||||||
|
PROCEDURE fa_cursor
|
||||||
|
LPARAMETERS tcFiltru, tcEticheta
|
||||||
|
DO tlog WITH '--- ' + tcEticheta + ' filtru: ' + tcFiltru
|
||||||
|
DO viz_registratura_test WITH tcFiltru
|
||||||
|
DO tlog WITH tcEticheta + ' USED=' + TRANSFORM(USED('cRegistratura')) + ;
|
||||||
|
' RECC=' + TRANSFORM(IIF(USED('cRegistratura'), RECCOUNT('cRegistratura'), -1)) + ;
|
||||||
|
' DBF=' + IIF(USED('cRegistratura'), DBF('cRegistratura'), '<inchis>')
|
||||||
|
IF USED('cRegistratura')
|
||||||
|
* capcana USE DBF() AGAIN pe cursor gol (folosita in decabaza.afisare)
|
||||||
|
LOCAL lcTmp
|
||||||
|
lcTmp = SYS(2015)
|
||||||
|
USE DBF('cRegistratura') IN 0 AGAIN SHARED ALIAS (lcTmp)
|
||||||
|
DO tlog WITH tcEticheta + ' USE-AGAIN=' + TRANSFORM(USED(lcTmp))
|
||||||
|
IF USED(lcTmp)
|
||||||
|
USE IN (lcTmp)
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
DO tlog WITH tcEticheta + ' poReg=' + TYPE('poReg')
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
PROCEDURE viz_registratura_test
|
||||||
|
* copia lui viz_registratura cu filtru parametrizat
|
||||||
|
LPARAMETERS tcFiltru
|
||||||
|
LOCAL lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfiseaza, lcgroup, llModParam
|
||||||
|
lcSchema = [id_reg n(8), id_part n(10), denumire c(70), id_pers n(10), pers_contact c(70), data d, numar c(20), numar_intern c(20), data_intern d, ]+;
|
||||||
|
[descriere c(100), ie N(1), observatii M, ]+;
|
||||||
|
[id_fdoc n(5), fel_document c(30), id_mediu n(5), mediu_transmisie c(30), avizat n(1), ]+;
|
||||||
|
[util c(30), dataora t , ]+;
|
||||||
|
[utils c(30), dataoras t , ]+;
|
||||||
|
[util_avizat c(30), dataora_avizat t, are_obs N(1), are_link n(1), ]+;
|
||||||
|
[id_responsabil n(10), nresp c(70), nr_pag N(4), sters n(1),id_proiect n(10),proiect v(200)]
|
||||||
|
lcSelect = [select id_reg, id_part, denumire, id_pers, pers_contact, data, numar, numar_intern, data_intern, ]+;
|
||||||
|
[ descriere, ie, observatii, id_fdoc, fel_document, id_mediu, mediu_transmisie, avizat, ]+;
|
||||||
|
[ util, dataora, utils, dataoras, util_avizat, dataora_avizat, are_obs, are_link, id_responsabil, nresp, nr_pag, sters,id_proiect,proiect ]+;
|
||||||
|
[from vregistratura]
|
||||||
|
lcOrder = []
|
||||||
|
lcgroup = []
|
||||||
|
lcFiltru = tcFiltru
|
||||||
|
lcFiltruOriginal = []
|
||||||
|
llModParam = .T.
|
||||||
|
llAfiseaza = .F.
|
||||||
|
gencursor('poReg','cRegistratura', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcgroup, llModParam, lcFiltruOriginal)
|
||||||
|
poReg.ca_baza1.afisare()
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
PROCEDURE tlog
|
||||||
|
LPARAMETERS tcMsg
|
||||||
|
STRTOFILE(TRANSFORM(tcMsg) + CHR(13)+CHR(10), gcLog, 1)
|
||||||
|
ENDPROC
|
||||||
@@ -25,7 +25,7 @@ _LegalTrademark = ""
|
|||||||
_ProductName = " ROA - Registratura"
|
_ProductName = " ROA - Registratura"
|
||||||
_MajorVer = "2"
|
_MajorVer = "2"
|
||||||
_MinorVer = "0"
|
_MinorVer = "0"
|
||||||
_Revision = "4"
|
_Revision = "5"
|
||||||
_LanguageID = "Romana"
|
_LanguageID = "Romana"
|
||||||
_AutoIncrement = "0"
|
_AutoIncrement = "0"
|
||||||
*</DevInfo>
|
*</DevInfo>
|
||||||
@@ -125,6 +125,7 @@ WITH loProject.FILES
|
|||||||
.ADD('comun\clase\caut_ora.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
.ADD('comun\clase\caut_ora.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
||||||
.ADD('comun\clase\cauta_alfa_forms.vcx') && *< FileMetadata: Type="V" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" />
|
.ADD('comun\clase\cauta_alfa_forms.vcx') && *< FileMetadata: Type="V" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" />
|
||||||
.ADD('comun\clase\cautare.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
.ADD('comun\clase\cautare.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
||||||
|
.ADD('comun\clase\chatbot.bmp') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('comun\clase\cmd_butoane.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
.ADD('comun\clase\cmd_butoane.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
||||||
.ADD('comun\clase\crypto.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
.ADD('comun\clase\crypto.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
||||||
.ADD('comun\clase\decabaza.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
.ADD('comun\clase\decabaza.vcx') && *< FileMetadata: Type="V" Cpid="0" Timestamp="0" ID="0" ObjRev="544" User="" />
|
||||||
|
|||||||
Reference in New Issue
Block a user