123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020 |
- $PBExportHeader$w_asset_clear.srw
- forward
- global type w_asset_clear from w_publ_1ton_share_detail
- end type
- type cb_credence from uo_imflatbutton within w_asset_clear
- end type
- end forward
- global type w_asset_clear from w_publ_1ton_share_detail
- string title = "固定资产减少"
- boolean maxbox = true
- windowstate windowstate = maximized!
- event insert_childrow ( )
- cb_credence cb_credence
- end type
- global w_asset_clear w_asset_clear
- type variables
- boolean if_credence=false
- int cur_editfocus=0//0:非编缉,1:新建,2:修改
- long new_astclearid=0
- long old_assetcardid[],old_mxt //原固定资产ID
- long new_assetcardid[],new_mxt //新固定资产ID
- long old_credid //原对应凭证ID
- long new_credid //新对应凭证ID
- uo_asset_clear uo_clear
- uo_credence uo_cred
- uo_asset uo_assettcard
- end variables
- event insert_childrow;long li_row
- li_row=dw_child.insertrow(0)
- dw_child.scrolltorow(li_row)
- dw_child.SetColumn ('cw_assetcard_assetcardcode')
- end event
- on w_asset_clear.create
- int iCurrent
- call super::create
- this.cb_credence=create cb_credence
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_credence
- end on
- on w_asset_clear.destroy
- call super::destroy
- destroy(this.cb_credence)
- end on
- event close;destroy uo_clear
- destroy uo_cred
- destroy uo_assettcard
- end event
- event open;call super::open;uc_column_int = 6 //uc dw前8列可以编辑
- child_column_int = 5 //子dw前4列可以编辑
- uo_clear = CREATE uo_asset_clear
- uo_cred = CREATE uo_credence
- uo_assettcard = CREATE uo_asset
- wf_refresh_interface()
- end event
- event refresh_interface;call super::refresh_interface;cb_credence.enabled=dw_edit_mode
- sle_usual_query.enabled =not dw_edit_mode
- end event
- event ue_before_open;call super::ue_before_open;dw_uc.settransobject(sqlca)
- datawindowchild childdw_incrdecid
- dw_child.getchild("cw_astclear_incrdecid",childdw_incrdecid)
- childdw_incrdecid.SetTransObject (sqlca)
- childdw_incrdecid.retrieve(sys_accsetid)
- if childdw_incrdecid.rowcount()<=0 then
- childdw_incrdecid.insertrow(0)
- end if
- end event
- event retrieve_pageretr;boolean cb_nextpage_enabled,cb_retrieveall_enabled
- boolean cb_retrieve_enabled
- cb_nextpage_enabled=cb_nextpage.enabled
- cb_retrieveall_enabled=cb_retrieveall.enabled
- cb_nextpage.enabled=false
- cb_retrieveall.enabled=false
- dw_pageretr.sharedataoff()
- dw_pageretr.retrieve(sys_accsetid)
- if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1)
- dw_pageretr.sharedata(dw_uc)
- this.triggerevent('retrieve_childdw')
- cb_nextpage.enabled=cb_nextpage_enabled
- cb_retrieveall.enabled=cb_retrieveall_enabled
- 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_astclear_bill.relcode like '%"+trim(sle_usual_query.text)+"%')"
- else
- ls_querystrpart="(cw_astclear_bill.relcode 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_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+'( relcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
- ELSE
- obj_expr=obj_expr+'( relcode 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_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
- IF NOT dw_edit_mode THEN RETURN
- Long child_row
- child_row = dw_child.GetRow()
- IF NOT IsValid(w_assetdef_ch) THEN
- 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 = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.if_select_all = TRUE
-
- Long chc = 1,ls_j
- dw_child.AcceptText()
- IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.cw_assetcard_assetcardcode[dw_child.GetRow()])
-
-
- OpenWithParm(w_assetdef_ch,s_ch_tran)
-
- s_assetcard_array S_INSCUST
- S_INSCUST = Message.PowerObjectParm
- FOR ls_j = 1 TO UpperBound(S_INSCUST.assetcardid)
- IF S_INSCUST.assetcardid[ls_j] > 0 THEN
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.cw_astclear_assetcardid[child_row] <> 0 THEN
- child_row = dw_child.InsertRow (0)
- ELSE
- child_row = dw_child.GetRow()
- END IF
- ELSE
- child_row = dw_child.InsertRow (0)
- END IF
-
- dw_child.Object.cw_assetcard_assetcardcode[child_row] = S_INSCUST.assetcardcode[ls_j]
- dw_child.Object.cw_assetcard_assetcardname[child_row] = S_INSCUST.assetcardname[ls_j]
- dw_child.Object.cw_astclear_assetcardid[child_row] = S_INSCUST.assetcardid[ls_j]
-
- dw_child.setcolumn('cw_astclear_incrdecid')
- END IF
- NEXT
- dw_child.SetFocus()
- END IF
- end event
- event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid
- row=dw_pageretr.getrow()
- if row>0 then
- uc_relid=dw_pageretr.object.astclearid[row]
- dw_child.SetRedraw (false)
- dw_child.retrieve(sys_accsetid,uc_relid)
- dw_child.SetRedraw (true)
- else
- dw_child.reset()
- end if
- end event
- type cb_func from w_publ_1ton_share_detail`cb_func within w_asset_clear
- end type
- type cb_exit from w_publ_1ton_share_detail`cb_exit within w_asset_clear
- integer x = 1362
- end type
- type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_asset_clear
- integer x = 334
- integer y = 188
- end type
- type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_asset_clear
- boolean visible = false
- integer x = 2441
- end type
- type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_asset_clear
- boolean visible = false
- integer x = 2085
- end type
- type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_asset_clear
- integer x = 1938
- integer width = 1609
- integer height = 772
- string dataobject = "dw_assetclear_bill_index"
- end type
- type st_1 from w_publ_1ton_share_detail`st_1 within w_asset_clear
- integer width = 315
- string text = "相关号码含:"
- end type
- type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_asset_clear
- boolean visible = false
- integer x = 2935
- end type
- type dw_uc from w_publ_1ton_share_detail`dw_uc within w_asset_clear
- integer width = 1938
- integer height = 772
- string dataobject = "dw_assetclear_bill_edit"
- boolean border = false
- borderstyle borderstyle = stylebox!
- end type
- event dw_uc::dwnkey;parent.triggerevent('user_key')
- if key = KeyDownArrow! then return 1
- if dw_edit_mode then
- if dw_uc.GetColumnName ( )='othersubid' and key = KeyEnter! then
- dw_child.setfocus()
- dw_child.scrolltorow(1)
- dw_child.SetColumn ('cw_assetcard_assetcardcode')
- 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 event
- event dw_uc::buttonclicked;IF NOT dw_edit_mode THEN RETURN
- Long uc_row
- s_subject s_rt_subject
- IF dwo.Name = 'b_subid' THEN
- 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
- dw_uc.SetRedraw(FALSE)
- dw_uc.Object.othersubid[uc_row] = s_rt_subject.subid
- dw_uc.SetRedraw(TRUE)
-
- END IF
- end event
- type gb_2 from w_publ_1ton_share_detail`gb_2 within w_asset_clear
- end type
- type dw_child from w_publ_1ton_share_detail`dw_child within w_asset_clear
- integer y = 1072
- integer width = 3547
- integer height = 1096
- string title = "资产减少明细"
- string dataobject = "dw_assetclear_index"
- end type
- event dw_child::dwnkey;PARENT.TriggerEvent('user_key')
- String ls_assetcardcode,ls_assetcardname
- Long ll_assetcardid
- Long child_row
- IF dw_edit_mode THEN
- IF KeyDown(Keydownarrow!) THEN
- Long li_row
- IF dw_child.GetRow() = dw_child.RowCount() THEN
- PARENT.TriggerEvent("insert_childrow")
- END IF
- ELSE
- IF KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
- IF dw_child.GetColumnName() = 'cw_assetcard_assetcardcode' THEN
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
-
- ls_assetcardcode = dw_child.Object.cw_assetcard_assetcardcode[child_row]
-
- SELECT assetcardname,assetcardid
- INTO :ls_assetcardname,:ll_assetcardid
- FROM cw_assetcard
- WHERE assetcardcode = :ls_assetcardcode
- AND accsetid = :sys_accsetid;
- IF sqlca.SQLCode <> 0 THEN
- PARENT.TriggerEvent('ue_f8')
- RETURN 1
- END IF
-
- dw_child.Object.cw_astclear_assetcardid[child_row] = ll_assetcardid
- dw_child.Object.cw_assetcard_assetcardname[child_row] = ls_assetcardname
- dw_child.Object.cw_assetcard_assetcardcode[child_row] = ls_assetcardcode
-
- IF Key = KeyEnter! THEN
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- ELSEIF dw_child.GetColumnName( ) = 'cw_astclear_dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
- PARENT.TriggerEvent("insert_childrow")
- 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 dw_child::doubleclicked;dw_child.accepttext()
- if dw_edit_mode and row > 0 then
- parent.triggerevent('ue_f8')
- end if
- end event
- type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_asset_clear
- boolean visible = false
- integer x = 2089
- integer y = 552
- boolean enabled = false
- end type
- type cb_print from w_publ_1ton_share_detail`cb_print within w_asset_clear
- boolean visible = false
- integer x = 2661
- boolean enabled = false
- end type
- type cb_add from w_publ_1ton_share_detail`cb_add within w_asset_clear
- end type
- event cb_add::clicked;IF Not f_power_ind(1942,sys_msg_pow) THEN
- MessageBox(publ_operator,'你没有使用权限!')
- RETURN
- END IF
- String arg_msg = ''
- Long uc_row,i
- IF dw_edit_mode THEN
- dw_uc.AcceptText()
- uc_row = dw_pageretr.GetRow()
-
- IF uc_row <= 0 THEN
- MessageBox('系统提示','请选定当前目标固定资产清理单据!')
- RETURN
- END IF
-
- IF NOT if_credence THEN
- MessageBox (publ_operator,"相应的记帐凭证还没有完成,请先单击'记帐凭证'将其完成")
- RETURN
- END IF
-
- IF cur_editfocus = 2 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
- END IF
-
-
- uo_clear.billdate = dw_uc.Object.billdate[uc_row]
- uo_clear.memo = Trim(dw_uc.Object.memo[uc_row])
- uo_clear.relcode = Trim(dw_uc.Object.relcode[uc_row])
- uo_clear.dscrp = Trim(dw_uc.Object.dscrp[uc_row])
- uo_clear.othersubid = Trim(dw_uc.Object.othersubid[uc_row])
-
- dw_uc.Object.credid[uc_row] = new_credid
-
- dw_uc.AcceptText()
- uo_clear.credid = dw_uc.Object.credid[uc_row]
-
- FOR i = 1 TO dw_child.RowCount()
- IF uo_clear.acceptmx(dw_child.Object.cw_astclear_assetcardid[i],&
- dw_child.Object.cw_astclear_incrdecid[i],&
- dw_child.Object.cw_astclear_earing[i],&
- dw_child.Object.cw_astclear_payout[i],&
- arg_msg,&
- dw_child.Object.cw_astclear_dscrp[i]) = 0 THEN
- MessageBox('Error!',arg_msg)
- RETURN
- END IF
- NEXT
-
- //2.更新清理标记
- FOR i = 1 TO dw_child.RowCount()
- IF uo_assettcard.update_clearflag(dw_child.Object.cw_astclear_assetcardid[i],1,arg_msg,FALSE) = 0 THEN
- MessageBox('Error!',arg_msg)
- RETURN
- END IF
- NEXT
-
- IF uo_clear.Save(new_astclearid,arg_msg,TRUE) = 0 THEN
- MessageBox(publ_operator,arg_msg)
- RETURN
- END IF
-
-
-
- MessageBox(publ_operator,'保存操作成功!')
-
- if_credence = FALSE
- new_astclearid = 0
- new_credid = 0
- old_credid = 0
-
-
-
- dw_uc.Object.accsetid[uc_row] = sys_accsetid
- dw_uc.Object.astclearid[uc_row] = uo_clear.astclearid
-
- dw_pageretr.SelectRow(0,FALSE)
- dw_pageretr.SelectRow(uc_row,TRUE)
- ELSE
- IF uo_clear.newbegin() = 0 THEN
- MessageBox('Error!','Error!')
- RETURN
- END IF
- END IF
- CALL SUPER::Clicked
- IF dw_edit_mode THEN
- cur_editfocus = 1
- ELSE
- cur_editfocus = 0
- END IF
- //read ini
- IF dw_edit_mode THEN
- PARENT.TriggerEvent("insert_childrow")
- dw_uc.SetRedraw(FALSE)
- datetime ls_creddate
- ls_creddate = f_rst_mon_1st(3,sys_curyearmon)
- dw_uc.Object.billdate[dw_uc.getrow()] = ls_creddate
- dw_uc.SetColumn("billdate")
- dw_uc.SetRedraw(TRUE)
- ELSE
- PARENT.TriggerEvent("retrieve_childdw")
- END IF
- //
- THIS.TriggerEvent('refresh_interface')
- end event
- type cb_edit from w_publ_1ton_share_detail`cb_edit within w_asset_clear
- end type
- event cb_edit::clicked;IF Not f_power_ind(1942,sys_msg_pow) THEN
- MessageBox(publ_operator,'你没有使用权限!')
- RETURN
- END IF
- String arg_msg = ''
- Long uc_row
- Long ls_astclearid
- Long ls_credid,ll_ref_credid
- Int ls_postflag
- Long ll_assetcardid,i
- Boolean if_modify = FALSE
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('系统提示','请选定当前目标固定资产!')
- RETURN
- END IF
- ls_astclearid = dw_uc.Object.astclearid[uc_row]
- ls_credid = dw_uc.Object.credid[uc_row]
- IF NOT dw_edit_mode THEN
-
- //查找相应凭证
- IF uo_cred.get_asset_credinfo(202,ls_astclearid,0,ll_ref_credid,ls_postflag,arg_msg) = 0 THEN
- MessageBox(publ_operator,arg_msg)
- RETURN
- END IF
-
- IF ls_postflag = 1 THEN
- IF MessageBox ("IF","该固定资产清理单据对应的记帐凭证已登帐,或已计提折旧,有关的折旧要素将不能修改,是否继续?",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- END IF
-
- MessageBox(String(ls_credid),ll_ref_credid)
-
- IF ls_credid <> ll_ref_credid THEN
- MessageBox(publ_operator,'该相关记帐凭证不正确,不能被修改!')
- RETURN
- END IF
-
-
- //清除标记
- FOR i = 1 TO dw_child.RowCount()
- ll_assetcardid = dw_child.Object.cw_astclear_assetcardid[i]
-
- old_mxt++
- old_assetcardid[old_mxt] = ll_assetcardid
-
- IF uo_assettcard.update_clearflag(ll_assetcardid,0,arg_msg,FALSE) = 0 THEN
- MessageBox('Error!',arg_msg)
- RETURN
- END IF
- NEXT
-
- old_credid = ls_credid
-
- IF uo_clear.updatebegin(dw_uc.Object.astclearid[uc_row],arg_msg) = 0 THEN
- MessageBox('Error!',arg_msg)
- RETURN
- END IF
- ELSE
- IF MessageBox ("IF","是否确定要放弃保存当前单据?",Question!,YesNo! ) = 2 THEN RETURN
-
-
- END IF
- dw_edit_mode = NOT dw_edit_mode
- wf_refresh_interface()
- IF dw_edit_mode THEN
-
- cur_editfocus = 2
- dw_uc.SetFocus()
- dw_uc.SetColumn("billdate")
- ELSE
- PARENT.TriggerEvent('retrieve_pageretr')
- cur_editfocus = 0
- if_credence = FALSE
-
- //更新原来标记
- IF cur_editfocus = 2 THEN
- FOR i = 1 TO old_mxt
- ll_assetcardid = old_assetcardid[i]
-
- IF uo_assettcard.update_clearflag(ll_assetcardid,1,arg_msg,FALSE) = 0 THEN
- MessageBox('Error!',arg_msg)
- RETURN
- END IF
-
- if_modify = TRUE
- NEXT
- END IF
-
- //如果放弃删除凭证
- IF new_credid > 0 THEN
- IF uo_cred.del(1,0,new_credid,arg_msg,FALSE) = 0 THEN
- MessageBox(publ_operator,arg_msg)
- RETURN
- END IF
- if_modify = TRUE
- END IF
-
- IF if_modify THEN
- COMMIT;
- END IF
-
- new_astclearid = 0
- old_credid = 0
- new_credid = 0
- old_mxt = 0
- END IF
- end event
- type cb_delet from w_publ_1ton_share_detail`cb_delet within w_asset_clear
- end type
- event cb_delet::clicked;call super::clicked;IF Not f_power_ind(1942,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_astclearid
- Long ls_credid,ll_ref_credid
- Int ls_postflag
- Long ll_assetcardid,i
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('系统提示','请先选择单据再删除!')
- RETURN
- END IF
- ls_astclearid = dw_uc.Object.astclearid[uc_row]
- ls_credid = dw_uc.Object.credid[uc_row]
- //1.检查对应凭证是否已登帐
- IF uo_cred.get_asset_credinfo(202,ls_astclearid,0,ll_ref_credid,ls_postflag,arg_msg) = 0 THEN
- IF sys_power_issuper AND sys_option_super_del_asset = 1 THEN
- GOTO del_
- END IF
-
- MessageBox('提示',arg_msg)
- RETURN
- END IF
- IF ll_ref_credid <> ll_ref_credid THEN
- MessageBox('提示','该相关记帐凭证不正确,不能被删除!')
- RETURN
- END IF
- IF ls_postflag = 1 THEN
- MessageBox('提示','该相关记帐凭证已登帐,不能被删除!')
- RETURN
- END IF
- //2.删除旧凭证
- IF uo_cred.del(1,0,ls_credid,arg_msg,FALSE) = 0 THEN
- MessageBox('提示',arg_msg)
- RETURN
- END IF
- del_:
- //3.更新清理标记
- FOR i = 1 TO dw_child.RowCount()
- ll_assetcardid = dw_child.Object.cw_astclear_assetcardid[i]
- IF uo_assettcard.update_clearflag(ll_assetcardid,0,arg_msg,FALSE) = 0 THEN
- MessageBox('提示',arg_msg)
- RETURN
- END IF
- NEXT
- IF uo_clear.del(ls_astclearid,arg_msg,TRUE) = 0 THEN
- MessageBox('提示',arg_msg)
- ELSE
- MessageBox('提示','删除清理资产单据'+String(dw_uc.Object.relcode[uc_row])+'成功!')
- dw_uc.DeleteRow(uc_row)
- dw_uc.PostEvent(RowFocusChanged!)
- END IF
- end event
- type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_asset_clear
- boolean visible = false
- integer x = 2807
- integer y = 488
- boolean enabled = false
- end type
- type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_asset_clear
- boolean visible = false
- integer x = 2583
- integer y = 688
- end type
- type cb_xm from w_publ_1ton_share_detail`cb_xm within w_asset_clear
- integer x = 1111
- end type
- type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_asset_clear
- end type
- type cb_xls from w_publ_1ton_share_detail`cb_xls within w_asset_clear
- boolean visible = false
- integer x = 2281
- integer y = 552
- end type
- type cb_help from w_publ_1ton_share_detail`cb_help within w_asset_clear
- boolean visible = false
- integer x = 2606
- integer y = 528
- end type
- type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_asset_clear
- boolean visible = false
- integer x = 2450
- integer y = 364
- boolean enabled = false
- end type
- type p_msg from w_publ_1ton_share_detail`p_msg within w_asset_clear
- end type
- type p_help from w_publ_1ton_share_detail`p_help within w_asset_clear
- end type
- type p_encl from w_publ_1ton_share_detail`p_encl within w_asset_clear
- end type
- type p_other from w_publ_1ton_share_detail`p_other within w_asset_clear
- end type
- type gb_3 from w_publ_1ton_share_detail`gb_3 within w_asset_clear
- end type
- type ln_bar from w_publ_1ton_share_detail`ln_bar within w_asset_clear
- end type
- type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_asset_clear
- end type
- type r_bar from w_publ_1ton_share_detail`r_bar within w_asset_clear
- end type
- type ln_1 from w_publ_1ton_share_detail`ln_1 within w_asset_clear
- end type
- type ln_2 from w_publ_1ton_share_detail`ln_2 within w_asset_clear
- end type
- type cb_credence from uo_imflatbutton within w_asset_clear
- integer x = 837
- integer width = 274
- integer height = 172
- integer taborder = 40
- boolean bringtotop = true
- 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,i
- Decimal ls_rawvalue,ls_sum_rawvalue
- Decimal ld_rawvalue,ld_usedvalue
- Decimal ls_usedvalue,ls_sum_usedvalue
- DateTime null_date,ldt_startdate
- datastore credencemx_ds
- Blob ds_blob
- Long ls_astclearid
- Long ls_credid
- Long ls_assetcardid
- Int ls_postflag
- String ls_assetcardcode
- String arg_msg
- String ls_assetsubid,ls_deprsubid
- SetNull(null_date)
- li_row = dw_uc.GetRow()
- IF li_row <= 0 THEN RETURN
- 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()
- dw_child.AcceptText()
- ls_astclearid = dw_uc.Object.astclearid[li_row]
- ls_credid = dw_uc.Object.credid[li_row]
- IF ls_astclearid = 0 THEN
- ls_astclearid = f_sys_scidentity(sys_accsetid,"cw_astclear","astclearid",arg_msg,TRUE,id_sqlca)
- IF ls_astclearid <= 0 THEN
- MessageBox(publ_operator,arg_msg)
- RETURN
- END IF
- END IF
- FOR i = 1 TO dw_child.RowCount()
- ls_assetcardid = dw_child.Object.cw_astclear_assetcardid[i]
- ls_assetcardcode = dw_child.Object.cw_assetcard_assetcardcode[i]
-
- IF ls_assetcardid = 0 THEN CONTINUE
-
-
- //查固定资产信息
- SELECT assetsubid,rawvalue,startdate,usedvalue,deprsubid
- INTO :ls_assetsubid,:ld_rawvalue,:ldt_startdate,:ld_usedvalue,:ls_deprsubid
- FROM cw_assetcard
- WHERE accsetid = :sys_accsetid
- AND assetcardid = :ls_assetcardid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox(publ_operator,'明细行:'+String(i)+',查询固定资产'+ls_assetcardcode+'对应固定资产科目失败,'+sqlca.SQLErrText)
- RETURN
- END IF
-
- IF ls_assetsubid = '' THEN
- MessageBox(publ_operator,'明细行:'+String(i)+',查询固定资产'+ls_assetcardcode+'未设置对应固定资产科目,请检查')
- RETURN
- END IF
-
- IF ls_deprsubid = '' THEN
- MessageBox(publ_operator,'明细行:'+String(i)+',查询固定资产'+ls_assetcardcode+'未设置对应累计折旧科目,请检查')
- RETURN
- END IF
-
- IF DaysAfter(Date(ldt_startdate),Today()) = 1 THEN
- ls_rawvalue = ld_rawvalue
- ls_usedvalue = ld_usedvalue
- ELSE
- //**查累计折旧
-
- SELECT bdprcredit + dprcredit,bastdebit INTO :ls_usedvalue,:ls_rawvalue
- FROM cw_astbalance
- WHERE accsetid = :sys_accsetid
- AND yearmon = :sys_curyearmon
- AND assetcardid = :ls_assetcardid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox(publ_operator,'查询固定资产'+ls_assetcardcode+'累计折旧失败')
- RETURN
- END IF
- END IF
- //************************
-
-
- IF ls_rawvalue > 0 THEN
- i_row = credencemx_ds.InsertRow(0)
- credencemx_ds.Object.fuluno[i_row] = i_row
- credencemx_ds.Object.subid[i_row] = ls_assetsubid
- credencemx_ds.Object.brief[i_row] = '清理' + ls_assetcardcode
- 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_rawvalue
- 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
-
- ls_sum_rawvalue = ls_sum_rawvalue + ls_rawvalue
- ls_sum_usedvalue = ls_sum_usedvalue + ls_usedvalue
-
- 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] = '累计折旧' + ls_assetcardcode
- 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_usedvalue
- 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
- NEXT
- String ls_othersubid,ls_dscrp
- Long cnt
- ls_othersubid = dw_uc.Object.othersubid[li_row]
- ls_dscrp = dw_uc.Object.dscrp[li_row]
- 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 = 202
- s_tran_mx.d_long = ls_astclearid
- s_tran_mx.b_datetime = dw_uc.Object.billdate[li_row]
- OpenWithParm(w_credence_edit,s_tran_mx)
- //**查对应凭证
- Long ll_ref_credid
- //用202,astclearid查找相应凭证
- IF uo_cred.get_asset_credinfo(202,ls_astclearid,ls_credid,ll_ref_credid,ls_postflag,arg_msg) = 0 THEN
- MessageBox(publ_operator,arg_msg)
- RETURN
- END IF
- IF ll_ref_credid = 0 THEN
- if_credence = FALSE
- ELSE
- if_credence = TRUE
- new_credid = ll_ref_credid
- new_astclearid = ls_astclearid
- END IF
- end event
|