$PBExportHeader$w_inititembala.srw forward global type w_inititembala from w_publ_base end type type dw_1 from datawindow within w_inititembala end type type ddlb_1 from dropdownlistbox within w_inititembala end type type gb_1 from groupbox within w_inititembala end type type cb_save from commandbutton within w_inititembala end type end forward global type w_inititembala from w_publ_base int Width=3502 int Height=2200 boolean TitleBar=true string Title="核算项目期初数据" long BackColor=80269524 boolean MaxBox=true WindowState WindowState=maximized! dw_1 dw_1 ddlb_1 ddlb_1 gb_1 gb_1 cb_save cb_save end type global w_inititembala w_inititembala type variables string subid int hswb[] boolean if_hswb=false uo_init uo_inititembala end variables on w_inititembala.create int iCurrent call super::create this.dw_1=create dw_1 this.ddlb_1=create ddlb_1 this.gb_1=create gb_1 this.cb_save=create cb_save iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_1 this.Control[iCurrent+2]=this.ddlb_1 this.Control[iCurrent+3]=this.gb_1 this.Control[iCurrent+4]=this.cb_save end on on w_inititembala.destroy call super::destroy destroy(this.dw_1) destroy(this.ddlb_1) destroy(this.gb_1) destroy(this.cb_save) end on event open;call super::open;dw_1.settransobject(sqlca) string ls_subid,ls_name,ins_subid,ins_name int itmx=0,ls_hswb DECLARE subid_cur CURSOR FOR SELECT cw_subject.subid, cw_subject.name,cw_subject.hswb FROM cw_subject WHERE cw_subject.accsetid = :sys_accsetid AND cw_subject.detailflag=1 AND cw_subject.hsitem=1 ORDER BY cw_subject.subid; open subid_cur; fetch subid_cur into :ls_subid,:ls_name,:ls_hswb; ins_subid=ls_subid ins_name=ls_name do while sqlca.sqlcode=0 itmx++ hswb[itmx]=ls_hswb ddlb_1.additem('['+ls_subid+']'+ls_name) fetch subid_cur into :ls_subid,:ls_name,:ls_hswb; loop close subid_cur; ddlb_1.selectitem('['+ins_subid+']'+ins_name,1) //ddlb_1.text='['+ins_subid+']'+ins_name ddlb_1.triggerevent(selectionchanged!) uo_inititembala = create uo_init end event event resize;dw_1.width=this.width - dw_1.x - 40 dw_1.height=this.height - dw_1.y - 115 end event event close;destroy uo_inititembala end event type cb_exit from w_publ_base`cb_exit within w_inititembala int X=2208 int Y=36 int Width=265 end type type dw_1 from datawindow within w_inititembala int X=9 int Y=152 int Width=2473 int Height=1492 int TabOrder=30 boolean BringToTop=true string DataObject="dw_inititembala" BorderStyle BorderStyle=StyleLowered! boolean HScrollBar=true boolean VScrollBar=true boolean LiveScroll=true end type type ddlb_1 from dropdownlistbox within w_inititembala int X=411 int Y=44 int Width=928 int Height=960 int TabOrder=40 boolean BringToTop=true BorderStyle BorderStyle=StyleLowered! boolean VScrollBar=true long TextColor=33554432 int TextSize=-9 int Weight=400 string FaceName="宋体" FontCharSet FontCharSet=GB2312CharSet! FontPitch FontPitch=Variable! end type event selectionchanged;subid= Mid ( ddlb_1.text,pos(ddlb_1.text,'[') + 1,pos(ddlb_1.text,']') - pos(ddlb_1.text,'[') - 1 ) dw_1.retrieve(sys_accsetid,subid) string mod_str='' long ls_sit if isnull(index) then index=ddlb_1.FindItem (ddlb_1.text, 0 ) end if if index<=0 then return if hswb[index]=0 then if_hswb=false mod_str='yrawbalance.visible=0 ~n ' mod_str=mod_str + 'cw_inititembala_rawdebit.visible=0 ~n ' mod_str=mod_str + 'cw_inititembala_rawcredit.visible=0 ~n' mod_str=mod_str + 'cw_inititembala_rawbalance.visible=0 ~n' dw_1.modify(mod_str) else if_hswb=true mod_str='yrawbalance.visible=1 ~n ' mod_str=mod_str + 'cw_inititembala_rawdebit.visible=1 ~n ' mod_str=mod_str + 'cw_inititembala_rawcredit.visible=1 ~n' mod_str=mod_str + 'cw_inititembala_rawbalance.visible=1 ~n' dw_1.modify(mod_str) ls_sit=long(dw_1.Describe('cw_subject_dcflag.X'))+long(dw_1.Describe('cw_subject_dcflag.width')) dw_1.modify('yrawbalance.x='+string(ls_sit)) ls_sit=long(dw_1.Describe('yrawbalance.X'))+long(dw_1.Describe('yrawbalance.width')) dw_1.modify('ybalance.x='+string(ls_sit)) ls_sit=long(dw_1.Describe('ybalance.X'))+long(dw_1.Describe('ybalance.width')) dw_1.modify('cw_inititembala_rawdebit.x='+string(ls_sit)) ls_sit=long(dw_1.Describe('cw_inititembala_rawdebit.X'))+long(dw_1.Describe('cw_inititembala_rawdebit.width')) dw_1.modify('cw_inititembala_debit.x='+string(ls_sit)) ls_sit=long(dw_1.Describe('cw_inititembala_debit.X'))+long(dw_1.Describe('cw_inititembala_debit.width')) dw_1.modify('cw_inititembala_rawcredit.x='+string(ls_sit)) ls_sit=long(dw_1.Describe('cw_inititembala_rawcredit.X'))+long(dw_1.Describe('cw_inititembala_rawcredit.width')) dw_1.modify('cw_inititembala_credit.x='+string(ls_sit)) ls_sit=long(dw_1.Describe('cw_inititembala_credit.X'))+long(dw_1.Describe('cw_inititembala_credit.width')) dw_1.modify('cw_inititembala_rawbalance.x='+string(ls_sit)) ls_sit=long(dw_1.Describe('cw_inititembala_rawbalance.X'))+long(dw_1.Describe('cw_inititembala_rawbalance.width')) dw_1.modify('cw_inititembala_balance.x='+string(ls_sit)) end if //cw_subject_dcflag //yrawbalance //cw_inititembala_rawdebit //cw_inititembala_rawcredit //cw_inititembala_rawbalance //ybalance //cw_inititembala_debit //cw_inititembala_credit //cw_inititembala_balance end event type gb_1 from groupbox within w_inititembala int X=9 int Width=1650 int Height=148 int TabOrder=20 BorderStyle BorderStyle=StyleLowered! long TextColor=33554432 long BackColor=67108864 int TextSize=-9 int Weight=400 string FaceName="宋体" FontCharSet FontCharSet=GB2312CharSet! FontPitch FontPitch=Variable! end type type cb_save from commandbutton within w_inititembala int X=1353 int Y=36 int Width=274 int Height=96 int TabOrder=20 boolean BringToTop=true string Text="保存数据" int TextSize=-9 int Weight=400 string FaceName="宋体" FontCharSet FontCharSet=GB2312CharSet! FontPitch FontPitch=Variable! end type event clicked;IF MessageBox ("IF","是否确定要保存当前初始化吗?",Question!,YesNo! ) = 2 THEN RETURN long i,cnt,ls_itemid decimal ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance string arg_msg dw_1.accepttext() cnt=dw_1.rowcount() if cnt<=0 then messagebox(publ_operator,'没有可保存的数据') return end if if not if_hswb then for i=1 to cnt ls_itemid=dw_1.object.cw_hsitem_hsitemid[i] ls_debit=dw_1.object.cw_inititembala_debit[i] ls_credit=dw_1.object.cw_inititembala_credit[i] ls_balance=dw_1.object.cw_inititembala_balance[i] if i=cnt then if uo_inititembala.inititembala(subid,ls_itemid,ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance,arg_msg,true)=0 then messagebox(publ_operator,arg_msg) return end if else if uo_inititembala.inititembala(subid,ls_itemid,ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance,arg_msg,false)=0 then messagebox(publ_operator,arg_msg) return end if end if next else for i=1 to cnt ls_itemid=dw_1.object.cw_hsitem_hsitemid[i] ls_rawdebit=dw_1.object.cw_inititembala_rawdebit[i] ls_rawcredit=dw_1.object.cw_inititembala_rawcredit[i] ls_rawbalance=dw_1.object.cw_inititembala_rawbalance[i] ls_debit=dw_1.object.cw_inititembala_debit[i] ls_credit=dw_1.object.cw_inititembala_credit[i] ls_balance=dw_1.object.cw_inititembala_balance[i] if i=cnt then if uo_inititembala.inititembala(subid,ls_itemid,ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance,arg_msg,true)=0 then messagebox(publ_operator,arg_msg) return end if else if uo_inititembala.inititembala(subid,ls_itemid,ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance,arg_msg,false)=0 then messagebox(publ_operator,arg_msg) return end if end if next end if commit; //cw_inititembala_rawdebit //cw_inititembala_rawcredit //cw_inititembala_rawbalance //cw_inititembala_debit //cw_inititembala_credit //cw_inititembala_balance end event