local ldatamaster,ldataslave,llink,lmasterlink ldatamaster=thisform.datamaster ldataslave=thisform.dataslave llink=thisform.datalink lmasterlink=thisform.datamaster+'.'+thisform.datalink if dpageform::new() if cursorgetprop('SourceType',ldataslave)=3 if this.autoitem insert into (ldataslave) (&llink) values (&lmasterlink) endif thisform.refreshform() else =requery(ldataslave) endif endifproc newgrid - adds a record to child
local ldatamaster,ldataslave,llink,lmasterlink ldatamaster=thisform.datamaster ldataslave=thisform.dataslave llink=thisform.datalink lmasterlink=thisform.datamaster+'.'+thisform.datalink sele (ldataslave) delete for empty(&llink) append blank replace &llink with &lmasterlink thisform.refreshform() thisform.pageframe1.page1.gridslave.setfocus() thisform.pageframe1.page1.gridslave.activatecell(thisform.pageframe1.page1.gridslave.activerow,1)proc save - save all data
local ldatamaster,ldataslave,llink,lmasterlink,lerror ldatamaster=thisform.datamaster ldataslave=thisform.dataslave llink=thisform.datalink lmasterlink=thisform.datamaster+'.'+thisform.datalink thisform.activarecimp && sets a focus on first textbox sele (ldatamaster) if thisform.writebuffer() begin transaction lerror=(txnlevel()=0) if !lerror if getfldstate(-1)=replicate("1",fcount()+1) =setfldstate(2,2) endif =reccount() lerror=!tableupdate(.T.) sele (ldatamaster) FLUSH if !lerror select (ldataslave) =reccount() lerror=!tableupdate(.T.) endif if !lerror end transaction FLUSH sele (ldatamaster) GO (RECNO()) wait window nowait 'Informatii salvate!' ??chr(7) else thisform.lockscreen=.t. rollback thisform.refreshform() thisform.lockscreen=.f. =aerror(laerror) thisform.error(laerror[1],laerror[2],0) endif endif endif sele (ldatamaster) thisform.refreshform() return !lerror=reccount(), flush was addeded in try to resolve the problem