$PBExportHeader$w_assetdef_edit.srw forward global type w_assetdef_edit from w_publ_pageretr end type type cb_print from uo_imflatbutton within w_assetdef_edit end type type cb_retrieve from uo_imflatbutton within w_assetdef_edit end type type cb_addzy from uo_imflatbutton within w_assetdef_edit end type type cb_delet from uo_imflatbutton within w_assetdef_edit end type type cb_edit from uo_imflatbutton within w_assetdef_edit end type type cb_add from uo_imflatbutton within w_assetdef_edit end type type dw_uc from datawindow within w_assetdef_edit end type type cb_add_xm from uo_imflatbutton within w_assetdef_edit end type type cb_dele_xm from uo_imflatbutton within w_assetdef_edit end type type cb_showall from uo_imflatbutton within w_assetdef_edit end type type cb_auditing from uo_imflatbutton within w_assetdef_edit end type type dw_child from u_dw_rbtnfilter within w_assetdef_edit end type type cb_set_dft from uo_imflatbutton within w_assetdef_edit end type type st_dft from statictext within w_assetdef_edit end type type ddlb_1 from dropdownlistbox within w_assetdef_edit end type type st_2 from statictext within w_assetdef_edit end type type cb_credence from uo_imflatbutton within w_assetdef_edit end type type ln_1 from line within w_assetdef_edit end type type ln_2 from line within w_assetdef_edit end type type ln_3 from line within w_assetdef_edit end type type ln_4 from line within w_assetdef_edit end type type r_bar from rectangle within w_assetdef_edit end type end forward global type w_assetdef_edit from w_publ_pageretr integer width = 3611 integer height = 2380 string title = "固定资产增加" boolean maxbox = true windowstate windowstate = maximized! event retrieve_childdw ( ) event retrieve_uc ( ) event refresh_interface ( ) event ue_f7 ( ) event ue_f8 ( ) event ue_f9 ( ) event ue_f10 ( ) event ue_f6 ( ) event ue_f11 ( ) event ue_f12 ( ) event ue_setdft ( ) event ue_canceldft ( ) event ue_copy ( ) event ue_view_cred ( ) cb_print cb_print cb_retrieve cb_retrieve cb_addzy cb_addzy cb_delet cb_delet cb_edit cb_edit cb_add cb_add dw_uc dw_uc cb_add_xm cb_add_xm cb_dele_xm cb_dele_xm cb_showall cb_showall cb_auditing cb_auditing dw_child dw_child cb_set_dft cb_set_dft st_dft st_dft ddlb_1 ddlb_1 st_2 st_2 cb_credence cb_credence ln_1 ln_1 ln_2 ln_2 ln_3 ln_3 ln_4 ln_4 r_bar r_bar end type global w_assetdef_edit w_assetdef_edit type variables Int child_column_int = 1,uc_column_int = 1 uo_asset uo_asset_in Boolean if_credence = FALSE Boolean if_mod_init = FALSE Int cur_editfocus = 0 //0:非编缉,1:新建,2:修改 Long new_assetcardid = 0 Decimal old_rawvalue,old_usedvalue Long old_credid //固定资产原对应凭证ID Long new_credid //固定资产新对应凭证ID uo_credence uo_cred Boolean if_dft = FALSE s_assetcard s_dft Int cur_clearflag = 0 end variables forward prototypes public function integer wf_refresh_interface () public function integer wf_lock_child () public function integer wf_no_edit () public function integer wf_lock_uc () public function integer wf_del_credence () public subroutine wf_refresh_depr () public function integer wf_refresh_curuc (long arg_assetcardid) end prototypes event retrieve_childdw;long row,uc_relid row=dw_pageretr.getrow() if row>0 then uc_relid=dw_pageretr.object.assetcardid[row] dw_child.SetRedraw (false) dw_child.retrieve(sys_accsetid,uc_relid) dw_child.SetRedraw (true) else dw_child.reset() end if end event event refresh_interface();//被 wf_refresh_interface() 调用,用于界面刷新 //IF sys_accsetbegin THEN // cb_credence.Enabled = dw_edit_mode //ELSE // cb_credence.Enabled = FALSE //END IF sle_usual_query.Enabled = NOT dw_edit_mode ddlb_1.Enabled = NOT dw_edit_mode end event event ue_f7;//cb_add_xm.triggerevent(clicked!) end event event ue_f8;////用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用 //long child_row //if child_row=0 then // messagebox('系统提示','请选定目标明细行!') // return //end if // //s_edit_index_tran s_ch_tran //传递参数使用 //s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行 //s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式 //s_ch_tran.arg_pkid=0 //目标定位PKID (备用) ////查询列(物料编码)部分内容,用于初步筛选 //s_ch_tran.arg_string_code=trim(dw_child.object.u_mtrldef_mtrlcode[child_row]) // //OPENwithparm(W_materiel,s_ch_tran) //调用 // //S_materiel S_INSCUST //S_INSCUST=Message.PowerObjectParm //接受返回结构 //IF S_INSCUST.mtrlid>0 THEN //正常返回值则可以取以下值 // //dw_child.object.u_mtrldef_mtrlcode[child_row] //dw_child.object.u_mtrldef_unit[child_row] //dw_child.object.u_wasterinwaremx_mtrlid[child_row] //dw_child.object.u_wasterinwaremx_planprice[child_row] //dw_child.object.u_mtrldef_mtrlname[child_row] // ////S_INSCUST.mtrlid ////S_INSCUST.mtrlname ////S_INSCUST.mtrlcode ////S_INSCUST.unit ////S_INSCUST.mtrltype ////S_INSCUST.mtrlmode ////S_INSCUST.planprice // ////S_INSCUST.storageid ////S_INSCUST.cost ////S_INSCUST.price ////S_INSCUST.descrp ////S_INSCUST.source //END IF // end event event ue_setdft();if dw_edit_mode then return long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前固定资产!') RETURN END IF s_dft.assetcardcode = dw_uc.object.assetcardcode[uc_row] s_dft.assetcardname = dw_uc.object.assetcardname[uc_row] s_dft.assetypeid = dw_uc.object.assetypeid[uc_row] s_dft.spectype = dw_uc.object.spectype[uc_row] s_dft.deptid = dw_uc.object.deptid[uc_row] s_dft.incrdecrid = dw_uc.object.incrdecrid[uc_row] s_dft.usedtypeid = dw_uc.object.usedtypeid[uc_row] s_dft.rawvalue = dw_uc.object.rawvalue[uc_row] s_dft.usedvalue = dw_uc.object.usedvalue[uc_row] s_dft.startdate = dw_uc.object.startdate[uc_row] s_dft.remainrate = dw_uc.object.remainrate[uc_row] s_dft.remainvalue = dw_uc.object.remainvalue[uc_row] s_dft.deprediateid = dw_uc.object.deprediateid[uc_row] s_dft.workload = dw_uc.object.workload[uc_row] s_dft.usedall = dw_uc.object.usedall[uc_row] s_dft.unit = dw_uc.object.unit[uc_row] s_dft.subid = dw_uc.object.subid[uc_row] s_dft.location = dw_uc.object.location[uc_row] s_dft.dscrp = dw_uc.object.dscrp[uc_row] s_dft.othersubid = dw_uc.object.othersubid[uc_row] s_dft.assetsubid = dw_uc.object.assetsubid[uc_row] s_dft.deprsubid = dw_uc.object.deprsubid[uc_row] s_dft.deprrate = dw_uc.object.deprrate[uc_row] s_dft.deprvalue = dw_uc.object.deprvalue[uc_row] st_dft.text = '默认' if_dft = true end event event ue_canceldft;if_dft = false st_dft.text = '' end event event ue_copy;IF NOT sys_power_issuper THEN MessageBox('系统提示','不是帐套管理员,不能复制') RETURN END IF IF sys_accsetbegin THEN MessageBox('系统提示','帐套已启用,不能复制') RETURN END IF String msg msg = '注意:复制科目功能会将原帐套的所有固定资产删除,再加入要新的固定资产! ~n' msg = msg + '请确认帐套没有数据,是否确定要复制吗?' IF MessageBox ("IF",msg,Question!,YesNo! ) = 2 THEN RETURN OpenWithParm(w_accset_ch,sys_accsetid) Long ll_accsetid ll_accsetid = Message.DoubleParm IF ll_accsetid <= 0 THEN RETURN Long ll_copy_curyear,ll_copy_curmon,ll_yearmon SELECT curryear,currmon INTO :ll_copy_curyear,:ll_copy_curmon FROM cw_accset Where accsetid = :ll_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询复制帐套当前会计期间失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF ll_yearmon = ll_copy_curyear * 100 + ll_copy_curmon DELETE FROM cw_assettype Where accsetid = :sys_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','删除帐套原固定资产类别失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF INSERT INTO cw_assettype( accsetid, assettypeid, assettypename, deprediateid, remainrate) SELECT :sys_accsetid, assettypeid, assettypename, deprediateid, remainrate FROM cw_assettype Where accsetid = :ll_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','复制帐套固定资产类别失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF /////////////////////////////////////////////////////////////////////////////////////////////// DELETE FROM cw_usedtype Where accsetid = :sys_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','删除帐套原固定资产使用状况失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF INSERT INTO cw_usedtype( accsetid, usedtypeid, usedtypename, depr) SELECT :sys_accsetid, usedtypeid, usedtypename, depr FROM cw_usedtype Where accsetid = :ll_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','复制帐套固定资产使用状况失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF ////////////////////////////////////////////////// DELETE FROM cw_incrdecr Where accsetid = :sys_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','删除帐套原固定资产增减方式失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF INSERT INTO cw_incrdecr( accsetid, incrdecrid, incrdecrname, incrordecr, subid) SELECT :sys_accsetid, incrdecrid, incrdecrname, incrordecr, subid FROM cw_incrdecr Where accsetid = :ll_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','复制帐套固定资产增减方式失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF ////////////////////////////////////////////////////////////// DELETE FROM cw_assetcard Where accsetid = :sys_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','删除帐套原固定资产失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF IF ll_yearmon = 0 THEN INSERT INTO cw_assetcard( accsetid, assetcardid, assetcardcode, assetcardname, spectype, assetypeid, deptid, incrdecrid, location, usedtypeid, deprediateid, startdate, workload, usedall, unit, rawvalue, usedvalue, usedvalueago, remainrate, remainvalue, deprrate, deprvalue, subid, Initflag, clearflag) SELECT :sys_accsetid, cw_assetcard.assetcardid, cw_assetcard.assetcardcode, cw_assetcard.assetcardname, cw_assetcard.spectype, cw_assetcard.assetypeid, cw_assetcard.deptid, cw_assetcard.incrdecrid, cw_assetcard.location, cw_assetcard.usedtypeid, cw_assetcard.deprediateid, cw_assetcard.startdate, cw_assetcard.workload, //预计使用月份 cw_assetcard.usedall, //已计月份 cw_assetcard.unit, cw_assetcard.rawvalue, //原值 cw_assetcard.usedvalue, //累计折旧 cw_assetcard.usedvalueago, cw_assetcard.remainrate, cw_assetcard.remainvalue, cw_assetcard.deprrate, //折旧率 cw_assetcard.deprvalue,//折旧额 cw_assetcard.subid, 1, cw_assetcard.clearflag FROM cw_assetcard Where cw_assetcard.accsetid = :ll_accsetid; ELSE INSERT INTO cw_assetcard( accsetid, assetcardid, assetcardcode, assetcardname, spectype, assetypeid, deptid, incrdecrid, location, usedtypeid, deprediateid, startdate, workload, usedall, unit, rawvalue, usedvalue, usedvalueago, remainrate, remainvalue, deprrate, deprvalue, subid, Initflag, clearflag) SELECT :sys_accsetid, cw_assetcard.assetcardid, cw_assetcard.assetcardcode, cw_assetcard.assetcardname, cw_assetcard.spectype, cw_assetcard.assetypeid, cw_assetcard.deptid, cw_assetcard.incrdecrid, cw_assetcard.location, cw_assetcard.usedtypeid, cw_assetcard.deprediateid, cw_assetcard.startdate, cw_assetcard.workload + cw_assetcard.usedall - cw_astbalance.totalwl, //预计使用月份 cw_astbalance.totalwl, //已计月份 cw_assetcard.unit, cw_assetcard.rawvalue, //原值 cw_astbalance.bdprcredit, //累计折旧 cw_assetcard.usedvalueago, cw_assetcard.remainrate, cw_assetcard.remainvalue, case when cw_assetcard.workload + cw_assetcard.usedall - cw_astbalance.totalwl < 0 then 0 else cw_assetcard.deprrate END , //折旧率 case when cw_assetcard.workload + cw_assetcard.usedall - cw_astbalance.totalwl < 0 then 0 else cw_assetcard.deprvalue END ,//折旧额 cw_assetcard.subid, 1, cw_assetcard.clearflag FROM cw_assetcard,cw_astbalance WHERE cw_assetcard.accsetid = cw_astbalance.accsetid AND cw_assetcard.assetcardid = cw_astbalance.assetcardid AND cw_astbalance.yearmon = :ll_yearmon AND cw_astbalance.accsetid = :ll_accsetid; END IF IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','复制帐套固定资产失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF ////////////////////////////////////////////////////////////////////////// DELETE FROM cw_attachast Where accsetid = :sys_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','删除帐套原固定资产附属设备失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF INSERT INTO cw_attachast( accsetid, assetcardid, attachastname, spectype, unit, amount, sumcount, startdate, memo ) SELECT :sys_accsetid, assetcardid, attachastname, spectype, unit, amount, sumcount, startdate, memo FROM cw_attachast Where accsetid = :ll_accsetid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','复制帐套固定资产附属设备失败,原因:'+sqlca.SQLErrText) ROLLBACK; RETURN END IF /////////////////////////////////////////////////////////////////// COMMIT; MessageBox('系统提示','复制成功') THIS.TriggerEvent('retrieve_pageretr') end event event ue_view_cred;IF dw_edit_mode THEN MessageBox('系统提示','编辑状态下此功能不可用!') RETURN END IF Long uc_row,ll_assetcardid,ll_credid uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前固定资产!') RETURN END IF ll_assetcardid = dw_pageretr.object.assetcardid[uc_row] SELECT credid INTO :ll_credid FROM cw_credence WHERE relevantbillid = :ll_assetcardid AND readtype = 200 AND accsetid = :sys_accsetid; IF sqlca.sqlcode <> 0 THEN MessageBox('系统提示','查询当前固定资产对应凭证失败!') RETURN END IF s_edit_index_tran s_tran_open //翻页功能窗口 传递参数使用 s_tran_open.if_retrieve_all = TRUE //是否一次RETRIEVE所有行 s_tran_open.work_mode = 0 //0-单纯编辑模式, 1-选择模式 s_tran_open.arg_pkid = 0 //目标定位PKID (备用) s_tran_open.arg_string_code = '' //查询列部分内容,用于初步筛选 s_tran_open.e_long = ll_credid OpenWithParm(w_credence_edit,s_tran_open) end event public function integer wf_refresh_interface ();//wf_refresh_interface IF dw_edit_mode THEN cb_add_xm.Enabled = TRUE cb_dele_xm.Enabled = TRUE cb_addzy.Enabled = FALSE cb_retrieve.Enabled = FALSE cb_delet.Enabled = FALSE cb_print.Enabled = FALSE cb_showall.Enabled = FALSE cb_auditing.Enabled = FALSE dw_pageretr.RBUTTON_FILTER_USE = FALSE //右键查询功能开关 dw_pageretr.titleclick_sort_use = FALSE //单击标题排序功能开关 cb_edit.Enabled = TRUE cb_add.Enabled = TRUE cb_edit.Text = "放弃&E" cb_add.Text = "保存&S" cb_edit.normalpicname = 'Undo.bmp' cb_add.normalpicname = 'Save.bmp' ELSE cb_add_xm.Enabled = FALSE cb_dele_xm.Enabled = FALSE cb_addzy.Enabled = TRUE cb_retrieve.Enabled = TRUE cb_delet.Enabled = TRUE cb_print.Enabled = TRUE cb_showall.Enabled = TRUE cb_auditing.Enabled = TRUE cb_add.Enabled = TRUE cb_edit.Enabled = TRUE dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关 dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关 cb_edit.Text = "修改&E" cb_add.Text = "新建&S" cb_edit.normalpicname = 'OPEN.bmp' cb_add.normalpicname = 'new.bmp' IF dw_pageretr.GetRow() <= 0 THEN cb_edit.Enabled = FALSE cb_delet.Enabled = FALSE cb_addzy.Enabled = FALSE cb_auditing.Enabled = FALSE END IF END IF IF retrieve_all OR dw_edit_mode THEN cb_nextpage.Enabled = FALSE cb_retrieveall.Enabled = FALSE em_pagerowno.Enabled = FALSE sle_usual_query.Enabled = FALSE ELSE cb_nextpage.Enabled = TRUE cb_retrieveall.Enabled = TRUE em_pagerowno.Enabled = TRUE sle_usual_query.Enabled = TRUE END IF wf_lock_child() wf_lock_uc() cb_edit.of_init_draw() cb_add.of_init_draw() cb_edit.of_paint() cb_add.of_paint() cb_add.TriggerEvent('ue_textchange') cb_edit.TriggerEvent('ue_textchange') THIS.TriggerEvent('refresh_interface') RETURN 1 end function public function integer wf_lock_child ();//wf_lock_child INT LS_INT IF dw_edit_mode THEN FOR LS_INT=1 TO child_column_int dw_child.SetTabOrder (LS_INT,LS_INT*10 ) NEXT ELSE FOR LS_INT=1 TO child_column_int dw_child.SetTabOrder (LS_INT, 0) NEXT END IF RETURN 1 end function public function integer wf_no_edit ();//wf_no_edit IF dw_edit_mode THEN cb_edit.Enabled = TRUE ELSE cb_edit.Enabled = FALSE END IF RETURN 1 end function public function integer wf_lock_uc ();//wf_lock_uc INT LS_INT long ls_row ls_row=dw_uc.getrow() IF dw_edit_mode THEN FOR LS_INT=1 TO uc_column_int dw_uc.SetTabOrder (LS_INT,LS_INT*10 ) NEXT ELSE FOR LS_INT=1 TO uc_column_int dw_uc.SetTabOrder (LS_INT, 0) NEXT END IF if ls_row>0 then dw_uc.setrow(ls_row) RETURN 1 end function public function integer wf_del_credence ();//wf_del_credence() long ls_subaccsetid,ls_credid int ls_postflag string arg_msg uo_credence uo_asset_credence uo_asset_credence=create uo_credence if uo_asset_credence.get_asset_credinfo(200,new_assetcardid,ls_subaccsetid,ls_credid,ls_postflag,arg_msg)=0 then messagebox(publ_operator,arg_msg) return 0 end if if uo_asset_credence.del(1,ls_subaccsetid,ls_credid,arg_msg,true)=0 then messagebox(publ_operator,arg_msg) return 0 end if destroy uo_asset_credence return 1 end function public subroutine wf_refresh_depr ();Long li_row Decimal ls_rawvalue,ls_remainvalue,ls_remainrate,ls_usedvalue Long ls_workload li_row = dw_uc.GetRow() IF li_row <= 0 THEN RETURN dw_uc.AcceptText() dw_uc.SetRedraw(FALSE) IF dw_uc.GetColumnName ( ) = 'remainrate' OR dw_uc.GetColumnName ( ) = 'rawvalue' OR dw_uc.GetColumnName ( ) = 'usedvalue' THEN ls_remainrate = dw_uc.Object.remainrate[li_row] ls_rawvalue = dw_uc.Object.rawvalue[li_row] ls_workload = dw_uc.Object.workload[li_row] ls_usedvalue = dw_uc.Object.usedvalue[li_row] ls_remainvalue = Round(ls_rawvalue * ls_remainrate/100,2) dw_uc.Object.remainvalue[li_row] = ls_remainvalue IF ls_workload <> 0 THEN CHOOSE CASE dw_uc.Object.deprediateid[li_row] CASE 3,0 dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 CASE 1 IF ls_workload > 0 THEN IF ls_rawvalue = 0 THEN dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 ELSE dw_uc.Object.deprrate[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue) * 100/(ls_rawvalue * ls_workload) dw_uc.Object.deprvalue[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue)/ls_workload END IF ELSE dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 END IF END CHOOSE END IF ELSEIF dw_uc.GetColumnName ( ) = 'remainvalue' THEN ls_remainvalue = dw_uc.Object.remainvalue[li_row] ls_rawvalue = dw_uc.Object.rawvalue[li_row] ls_workload = dw_uc.Object.workload[li_row] ls_usedvalue = dw_uc.Object.usedvalue[li_row] IF ls_rawvalue = 0 THEN dw_uc.Object.remainrate[li_row] = 0 ELSE dw_uc.Object.remainrate[li_row] = Round(ls_remainvalue * 100/ls_rawvalue,4) END IF IF ls_workload <> 0 THEN CHOOSE CASE dw_uc.Object.deprediateid[li_row] CASE 3,0 dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 CASE 1 IF ls_workload > 0 THEN IF ls_rawvalue = 0 THEN dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 ELSE dw_uc.Object.deprrate[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue) * 100/(ls_rawvalue * ls_workload) dw_uc.Object.deprvalue[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue)/ls_workload END IF ELSE dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 END IF END CHOOSE END IF ELSEIF dw_uc.GetColumnName() = 'workload' THEN ls_remainvalue = dw_uc.Object.remainvalue[li_row] ls_rawvalue = dw_uc.Object.rawvalue[li_row] ls_workload = dw_uc.Object.workload[li_row] ls_usedvalue = dw_uc.Object.usedvalue[li_row] IF ls_workload <> 0 THEN CHOOSE CASE dw_uc.Object.deprediateid[li_row] CASE 3,0 dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 CASE 1 IF ls_workload > 0 THEN IF ls_rawvalue = 0 THEN dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 ELSE dw_uc.Object.deprrate[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue) * 100/(ls_rawvalue * ls_workload) dw_uc.Object.deprvalue[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue)/ls_workload END IF ELSE dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 END IF END CHOOSE END IF ELSEIF dw_uc.GetColumnName() = 'deprediateid' THEN ls_remainvalue = dw_uc.Object.remainvalue[li_row] ls_rawvalue = dw_uc.Object.rawvalue[li_row] ls_workload = dw_uc.Object.workload[li_row] ls_usedvalue = dw_uc.Object.usedvalue[li_row] IF ls_rawvalue = 0 THEN dw_uc.Object.remainrate[li_row] = 0 ELSE dw_uc.Object.remainrate[li_row] = Round(ls_remainvalue * 100/ls_rawvalue,4) END IF IF ls_workload <> 0 THEN CHOOSE CASE dw_uc.Object.deprediateid[li_row] CASE 3,0 dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 CASE 1 IF ls_workload > 0 THEN IF ls_rawvalue = 0 THEN dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 ELSE dw_uc.Object.deprrate[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue) * 100/(ls_rawvalue * ls_workload) dw_uc.Object.deprvalue[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue)/ls_workload END IF ELSE dw_uc.Object.deprrate[li_row] = 0 dw_uc.Object.deprvalue[li_row] = 0 END IF END CHOOSE END IF END IF dw_uc.SetRedraw(TRUE) end subroutine public function integer wf_refresh_curuc (long arg_assetcardid);//wf_refresh_curuc IF arg_assetcardid <= 0 OR IsNull(arg_assetcardid) THEN RETURN 0 Long uc_row Int initflag Long ll_credid String ls_assetcardcode String ls_assetcardname Long ll_assetypeid String ls_spectype Long ll_deptid Long ll_incrdecrid String ls_subid String ls_location String ls_dscrp String ls_othersubid uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN RETURN 0 SELECT cw_assetcard.initflag , cw_assetcard.credid, cw_assetcard.assetcardcode, cw_assetcard.assetcardname, cw_assetcard.assetypeid, cw_assetcard.spectype, cw_assetcard.deptid, cw_assetcard.incrdecrid, cw_assetcard.subid, cw_assetcard.location, cw_assetcard.dscrp, cw_assetcard.othersubid INTO :initflag, :ll_credid, :ls_assetcardcode, :ls_assetcardname, :ll_assetypeid, :ls_spectype, :ll_deptid, :ll_incrdecrid, :ls_subid, :ls_location, :ls_dscrp, :ls_othersubid FROM cw_assetcard WHERE accsetid = :sys_accsetid AND assetcardid = :arg_assetcardid; IF sqlca.SQLCode <> 0 THEN MessageBox(publ_operator,'查询固定资产失败') RETURN 0 END IF dw_uc.Object.assetcardid[uc_row] = arg_assetcardid dw_uc.Object.credid[uc_row] = ll_credid dw_uc.Object.initflag[uc_row] = initflag dw_uc.Object.assetcardcode[uc_row] = ls_assetcardcode dw_uc.Object.assetcardname[uc_row] = ls_assetcardname dw_uc.Object.assetypeid[uc_row] = ll_assetypeid dw_uc.Object.spectype[uc_row] = ls_spectype dw_uc.Object.deptid[uc_row] = ll_deptid dw_uc.Object.incrdecrid[uc_row] = ll_incrdecrid dw_uc.Object.subid[uc_row] = ls_subid dw_uc.Object.location[uc_row] = ls_location dw_uc.Object.dscrp[uc_row] = ls_dscrp dw_uc.Object.othersubid[uc_row] = ls_othersubid dw_uc.ResetUpdate() dw_uc.SetRedraw(TRUE) RETURN 1 end function on w_assetdef_edit.create int iCurrent call super::create this.cb_print=create cb_print this.cb_retrieve=create cb_retrieve this.cb_addzy=create cb_addzy this.cb_delet=create cb_delet this.cb_edit=create cb_edit this.cb_add=create cb_add this.dw_uc=create dw_uc this.cb_add_xm=create cb_add_xm this.cb_dele_xm=create cb_dele_xm this.cb_showall=create cb_showall this.cb_auditing=create cb_auditing this.dw_child=create dw_child this.cb_set_dft=create cb_set_dft this.st_dft=create st_dft this.ddlb_1=create ddlb_1 this.st_2=create st_2 this.cb_credence=create cb_credence this.ln_1=create ln_1 this.ln_2=create ln_2 this.ln_3=create ln_3 this.ln_4=create ln_4 this.r_bar=create r_bar iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cb_print this.Control[iCurrent+2]=this.cb_retrieve this.Control[iCurrent+3]=this.cb_addzy this.Control[iCurrent+4]=this.cb_delet this.Control[iCurrent+5]=this.cb_edit this.Control[iCurrent+6]=this.cb_add this.Control[iCurrent+7]=this.dw_uc this.Control[iCurrent+8]=this.cb_add_xm this.Control[iCurrent+9]=this.cb_dele_xm this.Control[iCurrent+10]=this.cb_showall this.Control[iCurrent+11]=this.cb_auditing this.Control[iCurrent+12]=this.dw_child this.Control[iCurrent+13]=this.cb_set_dft this.Control[iCurrent+14]=this.st_dft this.Control[iCurrent+15]=this.ddlb_1 this.Control[iCurrent+16]=this.st_2 this.Control[iCurrent+17]=this.cb_credence this.Control[iCurrent+18]=this.ln_1 this.Control[iCurrent+19]=this.ln_2 this.Control[iCurrent+20]=this.ln_3 this.Control[iCurrent+21]=this.ln_4 this.Control[iCurrent+22]=this.r_bar end on on w_assetdef_edit.destroy call super::destroy destroy(this.cb_print) destroy(this.cb_retrieve) destroy(this.cb_addzy) destroy(this.cb_delet) destroy(this.cb_edit) destroy(this.cb_add) destroy(this.dw_uc) destroy(this.cb_add_xm) destroy(this.cb_dele_xm) destroy(this.cb_showall) destroy(this.cb_auditing) destroy(this.dw_child) destroy(this.cb_set_dft) destroy(this.st_dft) destroy(this.ddlb_1) destroy(this.st_2) destroy(this.cb_credence) destroy(this.ln_1) destroy(this.ln_2) destroy(this.ln_3) destroy(this.ln_4) destroy(this.r_bar) end on event closequery;IF dw_edit_mode THEN Int ls_row = 0 dw_UC.AcceptText() ls_row = dw_UC.GetNextModified(0, Primary!)+& dw_UC.GetNextModified(0, Filter!)+dw_UC.DeletedCount() IF ls_row > 0 THEN IF MessageBox('是否保存','单据数据已经改变,是否确定要放弃保存?',Question!,YesNo!,2 ) = 2 THEN RETURN 1 END IF ELSE ls_row = dw_child.GetNextModified(0, Primary!)+& dw_child.GetNextModified(0, Filter!)+dw_child.DeletedCount() IF ls_row > 0 THEN IF MessageBox('是否保存','单据明细数据已经改变,是否确定要放弃保存?',Question!,YesNo!,2 ) = 2 THEN RETURN 1 END IF END IF END IF END IF end event event user_key;call super::user_key;IF KeyDown(KeyF6!) THEN this.TRIGGEREVENT('ue_f6') ELSEIF KeyDown(KeyF7!) THEN this.TRIGGEREVENT('ue_f7') ELSEIF KeyDown(KeyF8!) or KeyDown(KeyShift!) and KeyDown(KeyEnter!) THEN this.TRIGGEREVENT('ue_f8') ELSEIF KeyDown(KeyF9!) THEN this.TRIGGEREVENT('ue_f9') ELSEIF KeyDown(KeyF10!) THEN this.TRIGGEREVENT('ue_f10') ELSEIF KeyDown(KeyF11!) THEN this.TRIGGEREVENT('ue_f11') ELSEIF KeyDown(KeyF12!) THEN this.TRIGGEREVENT('ue_f12') ELSEIF KeyDown(KeyF4!) THEN if cb_add.enabled then cb_add.TRIGGEREVENT(CLICKED!) ELSEIF KeyDown(KeyF5!) THEN if cb_edit.enabled then cb_edit.TRIGGEREVENT(CLICKED!) end if end event event open;THIS.TriggerEvent('ue_before_open') wf_movetocenter() OLD_TITLE = THIS.Title s_tran = Message.PowerObjectParm IF NOT IsNull(s_tran) THEN retrieve_all = s_tran.if_retrieve_all mode = s_tran.work_mode arg_pkid = s_tran.arg_pkid arg_string_code = s_tran.arg_string_code END IF //CHOOSE CASE MODE // CASE 0 // THIS.TITLE=OLD_TITLE+' 编辑模式 [F4-新建/保存 F5-编辑/放弃]' // CASE 1 // THIS.TITLE=OLD_TITLE+' 选择模式 [F4-新建/保存 F5-编辑/放弃]' //END CHOOSE dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关 dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关 dw_pageretr.SetTransObject (sqlca) //pkcolumndbtname=dw_pageretr.Describe("#1.dbname") //取第一列为关键字 pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字 ori_oldselect = dw_pageretr.DESCRIBE("DataWindow.Table.Select") ls_newselect = ori_oldselect ds_curquery = CREATE DATASTORE ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) //if mode=1 then cb_mode_itfchg.TRIGGEREVENT(CLICKED!) wf_editindex_lockf() sle_usual_query.Text = Trim(arg_string_code) IF NOT retrieve_all THEN THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve ELSE IF if_sharedata THEN ds_share.ShareData(dw_pageretr) ELSE wf_retrieveuc(dw_pageretr,ls_newselect,1) THIS.TriggerEvent('RETRIEVE_pageretr') END IF END IF IF retrieve_all THEN THIS.TriggerEvent("ue_usual_query_filt") END IF uc_column_int = 23 //uc dw前22列可以编辑 child_column_int = 9 //子dw前9列可以编辑 uo_asset_in = CREATE uo_asset uo_cred = CREATE uo_credence end event event ue_before_open;dw_child.SetTransObject(sqlca) dw_uc.SetTransObject(sqlca) dw_pageretr.SetTransObject(sqlca) //1.类别 datawindowchild childdw_assetypeid,childdw_assetypeid_uc dw_pageretr.GetChild("assetypeid",childdw_assetypeid) dw_uc.GetChild("assetypeid",childdw_assetypeid_uc) childdw_assetypeid.SetTransObject (sqlca) childdw_assetypeid_uc.SetTransObject (sqlca) childdw_assetypeid.Retrieve(sys_accsetid) IF childdw_assetypeid.RowCount() <= 0 THEN childdw_assetypeid.InsertRow(0) END IF childdw_assetypeid.ShareData(childdw_assetypeid_uc) //2.部门 datawindowchild childdw_deptid,childdw_deptid_uc dw_pageretr.GetChild("deptid",childdw_deptid) dw_uc.GetChild("deptid",childdw_deptid_uc) childdw_deptid.SetTransObject (sqlca) childdw_deptid_uc.SetTransObject (sqlca) IF sys_system_mode = -1 THEN childdw_deptid.Retrieve(sys_accsetid) ELSE childdw_deptid.Retrieve(-1) END IF IF childdw_deptid.RowCount() <= 0 THEN childdw_deptid.InsertRow(0) END IF childdw_deptid.ShareData(childdw_deptid_uc) //3.增减方式 datawindowchild childdw_incrdecrid,childdw_incrdecrid_uc dw_pageretr.GetChild("incrdecrid",childdw_incrdecrid) dw_uc.GetChild("incrdecrid",childdw_incrdecrid_uc) childdw_incrdecrid.SetTransObject (sqlca) childdw_incrdecrid_uc.SetTransObject (sqlca) childdw_incrdecrid.Retrieve(sys_accsetid) IF childdw_incrdecrid.RowCount() <= 0 THEN childdw_incrdecrid.InsertRow(0) END IF childdw_incrdecrid.ShareData(childdw_incrdecrid_uc) //4.使用状况 datawindowchild childdw_usedtypeid,childdw_usedtypeid_uc dw_pageretr.GetChild("usedtypeid",childdw_usedtypeid) dw_uc.GetChild("usedtypeid",childdw_usedtypeid_uc) childdw_usedtypeid.SetTransObject (sqlca) childdw_usedtypeid_uc.SetTransObject (sqlca) childdw_usedtypeid.Retrieve(sys_accsetid) IF childdw_usedtypeid.RowCount() <= 0 THEN childdw_usedtypeid.InsertRow(0) END IF childdw_usedtypeid.ShareData(childdw_usedtypeid_uc) // assetypeid // deptid // incrdecrid // usedtypeid end event event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled Boolean cb_func_enabled cb_nextpage_enabled = cb_nextpage.Enabled cb_retrieveall_enabled = cb_retrieveall.Enabled cb_func_enabled = cb_func.Enabled cb_nextpage.Enabled = FALSE cb_retrieveall.Enabled = FALSE cb_func.Enabled = FALSE dw_pageretr.ShareDataOff() dw_pageretr.Retrieve(sys_accsetid,cur_clearflag) IF dw_pageretr.RowCount() > 0 AND dw_pageretr.GetRow() = 0 THEN dw_pageretr.SetRow(1) dw_pageretr.ShareData(dw_uc) THIS.TriggerEvent('retreve_childdw') cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event event key;this.triggerevent('user_key') end event event close;destroy uo_asset_in destroy uo_cred end event event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+'( assetcardcode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( assetcardcode LIKE "'+trim(sle_usual_query.text)+'" )' END IF end if dw_pageretr.setfilter(obj_expr) dw_pageretr.SetRedraw(False) dw_pageretr.filter() if dw_pageretr.rowcount()>=1 then dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(1,true) end if dw_pageretr.SetRedraw(TRUE) end event event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart="(cw_assetcard.assetcardcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(cw_assetcard.assetcardcode like '"+trim(sle_usual_query.text)+"')" end if if Pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if //wf_retrieveuc(1) //注意必须有此句 end event event ue_filter;OPENWITHPARM(w_filter_query,dw_uc) STRING LS_EXPR LS_EXPR=Message.StringParm if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return dw_uc.setfilter(LS_EXPR) dw_uc.SetRedraw (false) dw_uc.filter() dw_pageretr.triggerevent('ue_after_filter') dw_uc.SetRedraw (true) end event event ue_sort;OPENwithparm(w_sortrow,dw_uc) STRING LS_EXPR LS_EXPR=Message.StringParm IF ISNULL(LS_EXPR) THEN LS_EXPR=' ' if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return dw_uc.setsort(LS_EXPR) dw_uc.SetRedraw (false) dw_uc.sort() dw_uc.SetRedraw (true) end event event resize;call super::resize;ln_3.EndX = This.Width ln_4.EndX = This.Width ln_1.EndX = This.Width ln_2.EndX = This.Width r_bar.Width = This.Width Long w_width,w_height w_width = 3600 w_height = 2300 IF newwidth < w_width THEN This.Width = w_width IF newheight < w_height THEN This.Height = w_height dw_pageretr.Width = This.Width - dw_pageretr.X - 50 dw_pageretr.Height = This.Height - dw_pageretr.Y - 150 dw_child.Height = This.Height - dw_child.Y - 150 end event type cb_func from w_publ_pageretr`cb_func within w_assetdef_edit integer x = 160 integer width = 160 integer height = 164 end type type cb_exit from w_publ_pageretr`cb_exit within w_assetdef_edit integer x = 2327 integer y = 0 integer width = 160 integer height = 164 integer taborder = 280 integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type sle_usual_query from w_publ_pageretr`sle_usual_query within w_assetdef_edit integer x = 215 integer y = 180 integer width = 462 boolean bringtotop = true end type type cb_retrieveall from w_publ_pageretr`cb_retrieveall within w_assetdef_edit boolean visible = false integer x = 3131 integer y = 172 integer width = 146 integer taborder = 240 end type type em_pagerowno from w_publ_pageretr`em_pagerowno within w_assetdef_edit boolean visible = false integer x = 2647 integer y = 188 integer taborder = 220 boolean bringtotop = true end type type dw_pageretr from w_publ_pageretr`dw_pageretr within w_assetdef_edit integer x = 2071 integer y = 288 integer width = 1477 integer height = 1860 boolean bringtotop = true string title = "固定资产摘要内容" string dataobject = "dw_assetdef_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;DW_UC.SETROW(currentrow) DW_UC.ScrollToRow (currentrow) if not dw_edit_mode then parent.triggerevent('retrieve_childdw') end event event dw_pageretr::ue_after_filter;IF NOT dw_edit_mode THEN PARENT.TriggerEvent('retrieve_childdw') end event type st_1 from w_publ_pageretr`st_1 within w_assetdef_edit integer y = 200 integer width = 215 string text = "编号含:" alignment alignment = center! end type type cb_nextpage from w_publ_pageretr`cb_nextpage within w_assetdef_edit boolean visible = false integer x = 3291 integer y = 176 integer width = 146 integer taborder = 270 end type type cb_print from uo_imflatbutton within w_assetdef_edit integer x = 2053 integer width = 274 integer height = 164 integer taborder = 190 string text = "打印清单" string normalpicname = "print.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;open(w_rp_assetcard) end event type cb_retrieve from uo_imflatbutton within w_assetdef_edit integer width = 160 integer height = 164 integer taborder = 160 string text = "刷新" string normalpicname = "refresh.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;parent.triggerevent('retrieve_pageretr') end event type cb_addzy from uo_imflatbutton within w_assetdef_edit boolean visible = false integer x = 3122 integer y = 28 integer width = 256 integer height = 112 integer taborder = 210 boolean bringtotop = true string text = "补充备注" end type event clicked;//if dw_edit_mode then return // //string arg_msg='',LS_STR //long uc_row //s_inputbox S_SREU // //uc_row=dw_uc.getrow() //if uc_row<=0 then // messagebox('系统提示','请选定当前目标单据!') // return //end if //S_SREU.TITLE='请输入要补充到备注的内容' //S_SREU.OLD_TEXT='' //openwithparm(w_inputbox,S_SREU) //LS_STR=Message.StringParm //if trim(LS_STR)='' or isnull(LS_STR) then return // //if uo_ware.getinfo(dw_uc.object.inwareid[uc_row],arg_msg)=0 then // messagebox('Error!',arg_msg) // return //end if //if uo_ware.add_dscrp(LS_STR,arg_msg)=0 then // messagebox('Error!',arg_msg) // return //else // messagebox(publ_operator,'添加备注操作成功!') // wf_refresh_curuc(dw_uc.object.inwareid[uc_row]) //end if // end event type cb_delet from uo_imflatbutton within w_assetdef_edit integer x = 873 integer width = 160 integer height = 164 integer taborder = 200 string text = "删除" string normalpicname = "delete.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;IF Not (f_power_ind(1940,sys_msg_pow) or f_power_ind(1961,sys_msg_pow)) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN IF MessageBox ("IF","是否确定要删除当前固定资产吗?",Question!,YesNo! ) = 2 THEN RETURN String arg_msg = '' Long uc_row,cnt Long ls_assetcardid Long ls_credid Int ls_postflag uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前固定资产!') RETURN END IF ls_assetcardid = dw_uc.Object.assetcardid[uc_row] ////检查对应凭证是否已登帐 //IF dw_uc.Object.initflag[uc_row] = 0 THEN // IF uo_cred.get_asset_credinfo(200,ls_assetcardid,0,ls_credid,ls_postflag,arg_msg) = 0 THEN // IF sys_power_issuper AND sys_option_super_del_asset = 1 THEN // GOTO del_ // END IF // // MessageBox(publ_operator,arg_msg) // RETURN // END IF // // // IF ls_postflag = 1 THEN // MessageBox(publ_operator,'该固定资产对应的记帐凭证已登帐,不能被删除!') // RETURN // END IF // // //删除旧凭证 // IF uo_cred.del(1,0,ls_credid,arg_msg,FALSE) = 0 THEN // MessageBox(publ_operator,arg_msg) // RETURN // END IF //END IF //del_: //检查是否已计提折旧 SELECT count(*) INTO :cnt FROM cw_astbalance WHERE accsetid = :sys_accsetid AND assetcardid = :ls_assetcardid and yearmon <> :sys_curyearmon; IF sqlca.SQLCode <> 0 THEN MessageBox(publ_operator,'查询固定资产失败,不能被删除!') RETURN END IF IF cnt > 0 THEN MessageBox(publ_operator,'该固定资产已计提折旧,不能被删除!') RETURN END IF /////////////// IF uo_asset_in.del(dw_uc.Object.assetcardid[uc_row],arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'删除固定资产'+String(dw_uc.Object.assetcardcode[uc_row])+'成功!') dw_uc.DeleteRow(uc_row) dw_uc.PostEvent(RowFocusChanged!) END IF end event type cb_edit from uo_imflatbutton within w_assetdef_edit integer x = 681 integer width = 192 integer height = 164 integer taborder = 60 string text = "修改&E" string normalpicname = "open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;IF Not (f_power_ind(1940,sys_msg_pow) or f_power_ind(1961,sys_msg_pow)) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row Boolean if_postedit = FALSE Long ls_credid Int ls_postflag uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标固定资产!') RETURN END IF IF NOT dw_edit_mode THEN IF sys_accsetbegin THEN Long ll_assetcardid dw_uc.AcceptText() ll_assetcardid = dw_uc.Object.assetcardid[uc_row] IF NOT IsValid(w_assetdef_mod) THEN OpenWithParm(w_assetdef_mod,ll_assetcardid) wf_refresh_curuc(ll_assetcardid) RETURN END IF IF dw_pageretr.Object.initflag[uc_row] = 1 THEN if_mod_init = TRUE ELSE // IF uo_cred.get_asset_credinfo(200,Long(dw_uc.Object.assetcardid[uc_row]),0,ls_credid,ls_postflag,arg_msg) = 0 THEN // MessageBox(publ_operator,arg_msg) // RETURN // END IF // // old_credid = ls_credid // // IF ls_postflag = 1 THEN // IF MessageBox ("IF","该固定资产对应的记帐凭证已登帐,或已计提折旧,有关的折旧要素将不能修改,是否继续?",Question!,YesNo! ) = 2 THEN // RETURN // ELSE // if_postedit = TRUE // END IF // END IF END IF END IF IF uo_asset_in.updatebegin(dw_uc.Object.assetcardid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF old_rawvalue = dw_uc.GetItemDecimal ( uc_row, 'rawvalue') old_usedvalue = dw_uc.GetItemDecimal ( uc_row, 'usedvalue') ELSE IF MessageBox ("IF","是否确定要放弃保存当前单据?",Question!,YesNo! ) = 2 THEN RETURN // //如果放弃删除凭证 // IF sys_accsetbegin AND new_assetcardid <> 0 THEN // IF uo_cred.del(1,0,new_credid,arg_msg,TRUE) = 0 THEN // MessageBox(publ_operator,'不能放弃保存,原因:'+arg_msg) // RETURN // END IF // END IF // // END IF dw_edit_mode = NOT dw_edit_mode wf_refresh_interface() IF dw_edit_mode THEN cur_editfocus = 2 dw_uc.SetFocus() ELSE PARENT.TriggerEvent('retrieve_pageretr') cur_editfocus = 0 new_assetcardid = 0 old_credid = 0 new_credid = 0 if_credence = FALSE if_mod_init = FALSE END IF end event type cb_add from uo_imflatbutton within w_assetdef_edit integer x = 489 integer width = 192 integer height = 164 integer taborder = 50 string text = "新建&S" string normalpicname = "new.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;IF Not (f_power_ind(1940,sys_msg_pow) or f_power_ind(1961,sys_msg_pow)) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row,pagerert_row Long relid_pageretr,reld_uc Long i IF dw_edit_mode THEN uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标固定资产!') RETURN END IF dw_uc.AcceptText() dw_child.AcceptText() IF Trim(dw_uc.Object.assetcardcode[uc_row]) = '' THEN MessageBox('系统提示','请输入固定资产编号!') dw_uc.SetFocus() dw_uc.SetColumn('assetcardcode') RETURN END IF IF Trim(dw_uc.Object.assetcardname[uc_row]) = '' THEN MessageBox('系统提示','请输入固定资产名称!') dw_uc.SetFocus() dw_uc.SetColumn('assetcardname') RETURN END IF IF Trim(dw_uc.Object.assetsubid[uc_row]) = '' THEN MessageBox('系统提示','请输入固定资产科目!') dw_uc.SetFocus() dw_uc.SetColumn('assetsubid') RETURN END IF IF Trim(dw_uc.Object.deprsubid[uc_row]) = '' THEN MessageBox('系统提示','请输入累计折旧科目!') dw_uc.SetFocus() dw_uc.SetColumn('deprsubid') RETURN END IF uo_asset_in.assetcardid = dw_uc.Object.assetcardid[uc_row] uo_asset_in.assetcardcode = Trim(dw_uc.Object.assetcardcode[uc_row]) uo_asset_in.assetcardname = Trim(dw_uc.Object.assetcardname[uc_row]) uo_asset_in.spectype = dw_uc.Object.spectype[uc_row] uo_asset_in.assetypeid = dw_uc.Object.assetypeid[uc_row] uo_asset_in.deptid = dw_uc.Object.deptid[uc_row] uo_asset_in.incrdecrid = dw_uc.Object.incrdecrid[uc_row] uo_asset_in.Location = dw_uc.Object.Location[uc_row] uo_asset_in.usedtypeid = dw_uc.Object.usedtypeid[uc_row] uo_asset_in.deprediateid = dw_uc.Object.deprediateid[uc_row] uo_asset_in.startdate = dw_uc.Object.startdate[uc_row] uo_asset_in.workload = dw_uc.Object.workload[uc_row] uo_asset_in.usedall = dw_uc.Object.usedall[uc_row] uo_asset_in.unit = dw_uc.Object.unit[uc_row] uo_asset_in.rawvalue = dw_uc.Object.rawvalue[uc_row] uo_asset_in.usedvalue = dw_uc.Object.usedvalue[uc_row] uo_asset_in.remainrate = dw_uc.Object.remainrate[uc_row] uo_asset_in.remainvalue = dw_uc.Object.remainvalue[uc_row] uo_asset_in.deprrate = dw_uc.Object.deprrate[uc_row] uo_asset_in.deprvalue = dw_uc.Object.deprvalue[uc_row] uo_asset_in.subid = Trim(dw_uc.Object.subid[uc_row]) uo_asset_in.dscrp = Trim(dw_uc.Object.dscrp[uc_row]) uo_asset_in.othersubid = Trim(dw_uc.Object.othersubid[uc_row]) uo_asset_in.assetsubid = Trim(dw_uc.Object.assetsubid[uc_row]) uo_asset_in.deprsubid = Trim(dw_uc.Object.deprsubid[uc_row]) dw_uc.Object.credid[uc_row] = new_credid dw_uc.AcceptText() uo_asset_in.credid = dw_uc.Object.credid[uc_row] FOR i = 1 To dw_child.RowCount() IF Trim(dw_child.Object.attachastname[i]) <> '' THEN IF uo_asset_in.acceptmx(dw_child.Object.attachastname[i],& dw_child.Object.spectype[i],& dw_child.Object.unit[i],& dw_child.Object.amount[i],& dw_child.Object.sumcount[i],& dw_child.Object.startdate[i],& dw_child.Object.memo[i],& arg_msg) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF END IF NEXT //是否要建立记帐凭证,已启用帐套不建凭证 IF sys_accsetbegin THEN //已启用帐套 uo_asset_in.initflag = 0 //不是初始化固定资产 IF uo_asset_in.Save(new_assetcardid,arg_msg,True) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF // IF cur_editfocus = 1 THEN //新建 // IF NOT if_credence THEN // MessageBox (publ_operator,"相应的记帐凭证还没有完成,请先单击'记帐凭证'将其完成") // RETURN // END IF // // uo_asset_in.initflag = 0 //不是初始化固定资产 // IF uo_asset_in.Save(new_assetcardid,arg_msg,TRUE) = 0 THEN // MessageBox('error!',arg_msg) // RETURN // END IF // ELSEIF cur_editfocus = 2 THEN //修改 // IF NOT if_credence AND (old_rawvalue <> dw_uc.Object.rawvalue[uc_row] OR old_usedvalue <> dw_uc.Object.usedvalue[uc_row]) THEN // MessageBox (publ_operator,"资料已修改,相应的记帐凭证还没有完成,请先单击'记帐凭证'将其完成") // RETURN // END IF // // //删除旧凭证 // IF NOT if_mod_init THEN // IF new_credid > 0 THEN // IF uo_cred.del(1,0,old_credid,arg_msg,FALSE) = 0 THEN // MessageBox(publ_operator,arg_msg) // RETURN // END IF // END IF // // IF uo_asset_in.Save(new_assetcardid,arg_msg,TRUE) = 0 THEN // MessageBox(publ_operator,arg_msg) // RETURN // END IF // ELSE // IF uo_asset_in.Save(dw_uc.Object.assetcardid[uc_row],arg_msg,TRUE) = 0 THEN // MessageBox(publ_operator,arg_msg) // RETURN // END IF // END IF // END IF MessageBox(publ_operator,'保存操作成功!') ELSE //未启用帐套可以不建相应凭证 uo_asset_in.initflag = 1 //初始化固定资产 new_assetcardid = 0 IF uo_asset_in.Save(new_assetcardid,arg_msg,True) = 0 THEN MessageBox(publ_operator,arg_msg) RETURN END IF MessageBox(publ_operator,'保存操作成功!') END IF dw_pageretr.SelectRow(0,False) dw_pageretr.SelectRow(uc_row,True) wf_refresh_curuc(uo_asset_in.assetcardid) //刷新uc ELSE IF uo_asset_in.newbegin() = 0 THEN MessageBox('error!','error!') RETURN END IF END IF IF Not dw_edit_mode THEN Int li_row, li_cur_row li_cur_row = dw_pageretr.GetRow() li_row = dw_pageretr.InsertRow (li_cur_row) dw_pageretr.ScrollToRow (li_row) dw_child.Reset() dw_uc.SetFocus() END IF dw_edit_mode = Not dw_edit_mode wf_refresh_interface() IF dw_edit_mode THEN cur_editfocus = 1 ELSE cur_editfocus = 0 if_mod_init = False if_credence = False new_assetcardid = 0 new_credid = 0 old_credid = 0 END IF IF dw_edit_mode THEN //加dft IF if_dft THEN dw_uc.SetRedraw(False) dw_uc.Object.assetcardcode[li_row] = s_dft.assetcardcode dw_uc.Object.assetcardname[li_row] = s_dft.assetcardname dw_uc.Object.assetypeid[li_row] = s_dft.assetypeid dw_uc.Object.spectype[li_row] = s_dft.spectype dw_uc.Object.deptid[li_row] = s_dft.deptid dw_uc.Object.incrdecrid[li_row] = s_dft.incrdecrid dw_uc.Object.usedtypeid[li_row] = s_dft.usedtypeid dw_uc.Object.rawvalue[li_row] = s_dft.rawvalue dw_uc.Object.usedvalue[li_row] = s_dft.usedvalue dw_uc.Object.startdate[li_row] = s_dft.startdate dw_uc.Object.remainrate[li_row] = s_dft.remainrate dw_uc.Object.remainvalue[li_row] = s_dft.remainvalue dw_uc.Object.deprediateid[li_row] = s_dft.deprediateid dw_uc.Object.workload[li_row] = s_dft.workload dw_uc.Object.usedall[li_row] = s_dft.usedall dw_uc.Object.unit[li_row] = s_dft.unit dw_uc.Object.subid[li_row] = s_dft.subid dw_uc.Object.Location[li_row] = s_dft.Location dw_uc.Object.dscrp[li_row] = s_dft.dscrp dw_uc.Object.othersubid[li_row] = s_dft.othersubid dw_uc.Object.assetsubid[li_row] = s_dft.assetsubid dw_uc.Object.deprsubid[li_row] = s_dft.deprsubid dw_uc.Object.deprrate[li_row] = s_dft.deprrate dw_uc.Object.deprvalue[li_row] = s_dft.deprvalue dw_uc.SetColumn('assetcardcode') dw_uc.SetRedraw(True) END IF // END IF //string assetcardcode //固定资产编号 //string assetcardname//固定资产名称 //string spectype//规格型号 //long assetypeid//固定资产类别 //long deptid//所属部门 //long incrdecrid//增减方式 //string location//存放位置 //long usedtypeid//使用状况 //long deprediateid//折旧方法 //datetime startdate//入帐日期 //long workload//预计使用月份 //long usedall//已计提月份 //string unit//工作量单位 //decimal rawvalue//入帐原值 //decimal usedvalue//累计折旧 //decimal remainrate//预计残值率 //decimal remainvalue//预计剩残值 //decimal deprrate//月折旧率 //decimal deprvalue//月折旧额 //string subid //对应折旧科目 end event type dw_uc from datawindow within w_assetdef_edit event dwnkey pbm_dwnkey integer y = 288 integer width = 2071 integer height = 1384 integer taborder = 90 string dataobject = "dw_assetdef_edit" boolean border = false boolean livescroll = true end type event dwnkey;parent.triggerevent('user_key') if key = KeyDownArrow! then return 1 If key = KeyEnter! Then // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab Return 1 End If end event event rowfocuschanged; IF not dw_edit_mode then if currentrow >0 THEN dw_pageretr.SETROW(currentrow) dw_pageretr.ScrollToRow(currentrow) dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(currentrow,true) end if // parent.triggerevent('retrieve_childdw') end if //if currentrow>0 and not dw_edit_mode then // if dw_uc.object.flag[currentrow]=1 then // cb_auditing.enabled=false // cb_delet.enabled=false // cb_edit.enabled=false // cb_addzy.enabled=true // else // cb_auditing.enabled=true // cb_delet.enabled=true // cb_edit.enabled=true // cb_addzy.enabled=false // end if //else // cb_auditing.enabled=false // cb_delet.enabled=false // cb_edit.enabled=false // cb_addzy.enabled=false //end if end event event rowfocuschanging;if dw_edit_mode then return 1 end event event itemchanged;if not dw_edit_mode then return wf_refresh_depr() //deprrate //deprvalue end event event buttonclicked;IF NOT dw_edit_mode THEN RETURN Long uc_row s_subject s_rt_subject uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标固定资产!') RETURN END IF OPEN(w_subjectdef_edit) s_rt_subject = Message.PowerObjectParm IF s_rt_subject.subid = '' THEN RETURN IF dwo.Name = 'btn_subid' THEN dw_uc.SetRedraw(FALSE) dw_uc.Object.subid[uc_row] = s_rt_subject.subid dw_uc.SetRedraw(TRUE) dw_uc.SetColumn('location') ELSEIF dwo.Name = 'btn_othersubid' THEN dw_uc.SetRedraw(FALSE) dw_uc.Object.othersubid[uc_row] = s_rt_subject.subid dw_uc.SetRedraw(TRUE) dw_uc.SetColumn('location') ELSEIF dwo.Name = 'btn_assetsubid' THEN dw_uc.SetRedraw(FALSE) dw_uc.Object.assetsubid[uc_row] = s_rt_subject.subid dw_uc.SetRedraw(TRUE) dw_uc.SetColumn('location') ELSEIF dwo.Name = 'btn_deprsubid' THEN dw_uc.SetRedraw(FALSE) dw_uc.Object.deprsubid[uc_row] = s_rt_subject.subid dw_uc.SetRedraw(TRUE) dw_uc.SetColumn('location') END IF end event type cb_add_xm from uo_imflatbutton within w_assetdef_edit integer x = 1033 integer width = 407 integer height = 164 integer taborder = 70 boolean enabled = false string text = "增附属设备F8" string normalpicname = "mx.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;int li_row_1, li_cur_row_1 //li_cur_row_1 = dw_child.GetRow() //li_row_1 = dw_child.InsertRow (li_cur_row_1) li_row_1 = dw_child.InsertRow (0) dw_child.selectrow(0,false) dw_child.ScrollToRow (li_row_1) dw_child.selectrow(li_row_1,true) dw_child.setcolumn("attachastname") //parent.triggerevent('ue_f8') dw_child.SetFocus() end event type cb_dele_xm from uo_imflatbutton within w_assetdef_edit integer x = 1440 integer width = 334 integer height = 164 integer taborder = 80 boolean enabled = false string text = "删附属设备" string normalpicname = "mx1.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;IF MessageBox ("IF","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN IF dw_child.GETROW()=0 THEN MESSAGEBOX('NO','请选择删除的行对象!') RETURN END IF dw_child.DeleteRow (0) dw_child.TriggerEvent (rowfocuschanged!) end event type cb_showall from uo_imflatbutton within w_assetdef_edit integer x = 320 integer width = 160 integer height = 164 integer taborder = 180 string text = "所有" string normalpicname = "p2.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;dw_uc.setfilter('') dw_uc.SetRedraw (false) dw_uc.filter() dw_uc.SetRedraw (true) end event type cb_auditing from uo_imflatbutton within w_assetdef_edit boolean visible = false integer x = 2949 integer y = 28 integer width = 160 integer height = 112 integer taborder = 230 boolean bringtotop = true string text = "审核" end type event clicked;//if dw_edit_mode then return // //string arg_msg='' //long pagerert_row // //pagerert_row=dw_uc.getrow() //if pagerert_row<=0 then // messagebox('系统提示','请选定当前目标单据!') // return //end if //if uo_ware.getinfo(dw_uc.object.inwareid[pagerert_row],arg_msg)=0 then // messagebox('Error!',arg_msg) // return //end if // //if uo_ware.auditing(publ_operator,arg_msg)=0 then // messagebox('Error!',arg_msg) //ELSE // messagebox(publ_operator,'审核成功!') // wf_refresh_curuc(dw_uc.object.inwareid[pagerert_row]) //end if end event type dw_child from u_dw_rbtnfilter within w_assetdef_edit event dwnkey pbm_dwnkey integer y = 1688 integer width = 2071 integer height = 460 integer taborder = 30 boolean bringtotop = true boolean titlebar = true string title = "附属设备" string dataobject = "dw_assetdef_mx" boolean maxbox = true boolean hscrollbar = true boolean vscrollbar = true boolean resizable = true boolean hsplitscroll = true borderstyle borderstyle = stylebox! end type event dwnkey;//If key = KeyEnter! Then // // keybd_event ( 9, 0, 0 , 0 ) // 按下tab // keybd_event ( 9, 0, 2, 0 ) // 释放tab // return 1 //End If //parent.triggerevent('user_key') parent.triggerevent('user_key') if dw_edit_mode then if keydown(Keydownarrow!) Then long li_row if dw_child.getrow()=dw_child.rowcount() then cb_add_xm.triggerevent(clicked!) end if else if (keydown(KeyEnter!) or keydown(KeyTab!)) and not keydown(KeyControl!) then if dw_child.GetColumnName( )='memo' and dw_child.getrow()=dw_child.rowcount() then cb_add_xm.triggerevent(clicked!) return 1 else If key = KeyEnter! Then // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab return 1 end if end if end if end if end if end event event constructor;call super::constructor;titleclick_sort_use=true end event event clicked;call super::clicked;IF row>0 and dw_edit_mode THEN this.setrow(row) end if end event event doubleclicked;if dw_edit_mode and dwo.name='datawindow' then if keydown(KeyControl!) then if cb_dele_xm.enabled then cb_dele_xm.triggerevent(clicked!) else if cb_add_xm.enabled then cb_add_xm.triggerevent(clicked!) end if end if end event event rowfocuschanged;//IF dw_edit_mode THEN RETURN IF currentrow <=0 THEN RETURN this.selectrow(0,false) this.selectrow(currentrow,true) end event type cb_set_dft from uo_imflatbutton within w_assetdef_edit integer x = 1774 integer width = 279 integer height = 164 integer taborder = 120 boolean bringtotop = true string text = "其它功能" string normalpicname = "other.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=设默认值~tEvent=ue_setdft" menustr = menustr + "|" + "Text=取消默认值~tEvent=ue_canceldft" //menustr = menustr + "|" + "Text=-" //menustr = menustr + "|" + "Text=复制帐套固定资产~tEvent=ue_copy" //menustr = menustr + "|" + "Text=-" //menustr = menustr + "|" + "Text=查询凭证~tEvent=ue_view_cred" IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF end event type st_dft from statictext within w_assetdef_edit integer x = 1376 integer y = 200 integer width = 699 integer height = 52 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 boolean enabled = false boolean focusrectangle = false end type type ddlb_1 from dropdownlistbox within w_assetdef_edit integer x = 891 integer y = 188 integer width = 462 integer height = 708 integer taborder = 110 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "正常" boolean sorted = false boolean vscrollbar = true string item[] = {"正常","已清理","全部"} borderstyle borderstyle = stylelowered! end type event selectionchanged;IF Index = 1 THEN cur_clearflag = 0 ELSEIF Index = 2 THEN cur_clearflag = 1 ELSEIF Index = 3 THEN cur_clearflag = -1 END IF PARENT.TriggerEvent('retrieve_pageretr') end event type st_2 from statictext within w_assetdef_edit integer x = 690 integer y = 200 integer width = 215 integer height = 52 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 boolean enabled = false string text = "状 态:" boolean focusrectangle = false end type type cb_credence from uo_imflatbutton within w_assetdef_edit boolean visible = false integer x = 2523 integer width = 279 integer height = 164 integer taborder = 80 boolean bringtotop = true boolean enabled = false string text = "记帐凭证" string normalpicname = "update.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;IF NOT dw_edit_mode THEN RETURN Long li_row,i_row Decimal ls_rawvalue,ls_usedvalue DateTime null_date datastore credencemx_ds Blob ds_blob Long ls_assetcardid,ll_credid String arg_msg String ls_othersubid,ls_dscrp,ls_assetsubid,ls_deprsubid Long cnt SetNull(null_date) li_row = dw_uc.GetRow() IF li_row <= 0 THEN RETURN dw_uc.AcceptText() IF Trim(dw_uc.Object.assetsubid[li_row]) = '' THEN MessageBox('系统提示','请输入固定资产科目!') RETURN END IF IF Trim(dw_uc.Object.deprsubid[li_row]) = '' THEN MessageBox('系统提示','请输入累计折旧科目!') RETURN END IF ls_assetsubid = Trim(dw_uc.Object.assetsubid[li_row]) ls_deprsubid = Trim(dw_uc.Object.deprsubid[li_row]) ls_rawvalue = dw_uc.Object.rawvalue[li_row] ls_usedvalue = dw_uc.Object.usedvalue[li_row] ls_othersubid = Trim(dw_uc.Object.othersubid[li_row]) ls_dscrp = Trim(dw_uc.Object.dscrp[li_row]) ll_credid = dw_uc.Object.credid[li_row] s_edit_index_tran s_tran_mx //翻页功能窗口 传递参数使用 s_tran_mx.if_retrieve_all = FALSE //是否一次RETRIEVE所有行 s_tran_mx.work_mode = 0 //0-单纯编辑模式, 1-选择模式 s_tran_mx.arg_pkid = 0 //目标定位PKID (备用) s_tran_mx.arg_string_code = String(sys_curyearmon) //查询列部分内容,用于初步筛选 credencemx_ds = CREATE datastore credencemx_ds.DataObject = "ds_credencemx" credencemx_ds.SetTransObject(sqlca) dw_uc.AcceptText() uo_asset_in.assetcardid = dw_uc.Object.assetcardid[li_row] uo_asset_in.assetcardcode = dw_uc.Object.assetcardcode[li_row] uo_asset_in.assetcardname = dw_uc.Object.assetcardname[li_row] uo_asset_in.spectype = dw_uc.Object.spectype[li_row] uo_asset_in.assetypeid = dw_uc.Object.assetypeid[li_row] uo_asset_in.deptid = dw_uc.Object.deptid[li_row] uo_asset_in.incrdecrid = dw_uc.Object.incrdecrid[li_row] uo_asset_in.Location = dw_uc.Object.Location[li_row] uo_asset_in.usedtypeid = dw_uc.Object.usedtypeid[li_row] uo_asset_in.deprediateid = dw_uc.Object.deprediateid[li_row] uo_asset_in.startdate = dw_uc.Object.startdate[li_row] uo_asset_in.workload = dw_uc.Object.workload[li_row] uo_asset_in.usedall = dw_uc.Object.usedall[li_row] uo_asset_in.unit = dw_uc.Object.unit[li_row] uo_asset_in.rawvalue = dw_uc.Object.rawvalue[li_row] uo_asset_in.usedvalue = dw_uc.Object.usedvalue[li_row] uo_asset_in.remainrate = dw_uc.Object.remainrate[li_row] uo_asset_in.remainvalue = dw_uc.Object.remainvalue[li_row] uo_asset_in.deprrate = dw_uc.Object.deprrate[li_row] uo_asset_in.deprvalue = dw_uc.Object.deprvalue[li_row] uo_asset_in.subid = dw_uc.Object.subid[li_row] IF uo_asset_in.check_data(arg_msg) = 0 THEN MessageBox(publ_operator,arg_msg) RETURN END IF ls_assetcardid = dw_uc.Object.assetcardid[li_row] IF ls_assetcardid = 0 THEN ls_assetcardid = f_sys_scidentity(sys_accsetid,"cw_assetcard","assetcardid",arg_msg,TRUE,id_sqlca) IF ls_assetcardid <= 0 THEN MessageBox(publ_operator,arg_msg) RETURN END IF ELSE Long ls_subaccsetid,ls_credid Int ls_postflag ls_subaccsetid = 0 ls_postflag = 0 ls_credid = 0 IF uo_cred.get_asset_credinfo(200,ls_assetcardid,ll_credid,ls_credid,ls_postflag,arg_msg) = 0 THEN MessageBox(publ_operator,arg_msg) RETURN END IF old_credid = ls_credid END IF IF ls_rawvalue > 0 THEN i_row = credencemx_ds.InsertRow(0) String ls_subid_asset ls_subid_asset = ls_assetsubid credencemx_ds.Object.fuluno[i_row] = i_row credencemx_ds.Object.subid[i_row] = ls_subid_asset credencemx_ds.Object.brief[i_row] = '固定资产' credencemx_ds.Object.rate[i_row] = 0.00 credencemx_ds.Object.rawdebit[i_row] = 0.00 credencemx_ds.Object.rawcredit[i_row] = 0.00 credencemx_ds.Object.debit[i_row] = ls_rawvalue credencemx_ds.Object.credit[i_row] = 0.00 credencemx_ds.Object.amount[i_row] = 0.00 credencemx_ds.Object.price[i_row] = 0.00 credencemx_ds.Object.deptid[i_row] = 0 credencemx_ds.Object.itemid[i_row] = 0 credencemx_ds.Object.READONLY[i_row] = 1 credencemx_ds.Object.billdate[i_row] = null_date credencemx_ds.Object.billid[i_row] = 0 credencemx_ds.Object.billno[i_row] = '' credencemx_ds.Object.cropbillid[i_row] = 0 END IF IF ls_usedvalue > 0 THEN i_row = credencemx_ds.InsertRow(0) credencemx_ds.Object.fuluno[i_row] = i_row credencemx_ds.Object.subid[i_row] = ls_deprsubid credencemx_ds.Object.brief[i_row] = '累计折旧' credencemx_ds.Object.rate[i_row] = 0.00 credencemx_ds.Object.rawdebit[i_row] = 0.00 credencemx_ds.Object.rawcredit[i_row] = 0.00 credencemx_ds.Object.debit[i_row] = 0.00 credencemx_ds.Object.credit[i_row] = ls_usedvalue credencemx_ds.Object.amount[i_row] = 0.00 credencemx_ds.Object.price[i_row] = 0.00 credencemx_ds.Object.deptid[i_row] = 0 credencemx_ds.Object.itemid[i_row] = 0 credencemx_ds.Object.READONLY[i_row] = 1 credencemx_ds.Object.billdate[i_row] = null_date credencemx_ds.Object.billid[i_row] = 0 credencemx_ds.Object.billno[i_row] = '' credencemx_ds.Object.cropbillid[i_row] = 0 END IF IF ls_othersubid <> '' THEN SELECT count(*) INTO :cnt FROM cw_subject WHERE accsetid = :sys_accsetid AND subid = :ls_othersubid; IF sqlca.SQLCode <> 0 OR cnt <> 1 THEN MessageBox(publ_operator,'查询对方科目:'+ls_othersubid+'资料失败,可能资料不存在') RETURN END IF i_row = credencemx_ds.InsertRow(0) credencemx_ds.Object.fuluno[i_row] = i_row credencemx_ds.Object.subid[i_row] = ls_othersubid credencemx_ds.Object.brief[i_row] = ls_dscrp credencemx_ds.Object.rate[i_row] = 0.00 credencemx_ds.Object.rawdebit[i_row] = 0.00 credencemx_ds.Object.rawcredit[i_row] = 0.00 credencemx_ds.Object.debit[i_row] = 0.00 credencemx_ds.Object.credit[i_row] = 0.00 credencemx_ds.Object.amount[i_row] = 0.00 credencemx_ds.Object.price[i_row] = 0.00 credencemx_ds.Object.deptid[i_row] = 0 credencemx_ds.Object.itemid[i_row] = 0 credencemx_ds.Object.READONLY[i_row] = 0 credencemx_ds.Object.billdate[i_row] = null_date credencemx_ds.Object.billid[i_row] = 0 credencemx_ds.Object.billno[i_row] = '' credencemx_ds.Object.cropbillid[i_row] = 0 END IF credencemx_ds.GetFullState ( ds_blob ) s_tran_mx.arg_blobds = ds_blob s_tran_mx.c_long = 200 s_tran_mx.d_long = ls_assetcardid s_tran_mx.b_datetime = dw_uc.Object.startdate[li_row] s_tran_mx.f_long = Long(String(dw_uc.Object.startdate[li_row],'yyyymm')) OpenWithParm(w_credence_edit,s_tran_mx) Long rst_credid IF uo_cred.get_asset_credinfo(200,ls_assetcardid,ll_credid,rst_credid,ls_postflag,arg_msg ) = 0 THEN IF NOT Pos(arg_msg,'查询相关凭证失败') > 0 THEN MessageBox(publ_operator,arg_msg) END IF RETURN END IF IF rst_credid = 0 THEN if_credence = FALSE ELSE if_credence = TRUE new_credid = rst_credid new_assetcardid = ls_assetcardid END IF // fuluno // subid // brief // rate // rawdebit // rawcredit // debit // credit // amount // price // deptid // itemid // readonly // billdate // billid // billno // cropbillid end event event constructor;call super::constructor;THIS.Visible = sys_accsetbegin end event type ln_1 from line within w_assetdef_edit long linecolor = 33554432 integer linethickness = 4 integer beginy = 168 integer endx = 1001 integer endy = 168 end type type ln_2 from line within w_assetdef_edit long linecolor = 16777215 integer linethickness = 4 integer beginy = 172 integer endx = 1001 integer endy = 172 end type type ln_3 from line within w_assetdef_edit long linecolor = 33554432 integer linethickness = 4 integer beginy = 280 integer endx = 1001 integer endy = 280 end type type ln_4 from line within w_assetdef_edit long linecolor = 16777215 integer linethickness = 4 integer beginy = 284 integer endx = 1001 integer endy = 284 end type type r_bar from rectangle within w_assetdef_edit long linecolor = 16777215 long fillcolor = 1073741824 integer x = 3497 integer width = 73 integer height = 172 end type event constructor;this.fillcolor = 14215660 this.linecolor = 14215660 this.x = -1 this.y = -1 this.height = ln_1.beginy - 5 end event