$PBExportHeader$w_bmstamt_spt_edit.srw forward global type w_bmstamt_spt_edit from w_publ_1ton_share_detail end type type ddlb_status from dropdownlistbox within w_bmstamt_spt_edit end type type ddlb_scid from uo_ddlb_scid within w_bmstamt_spt_edit end type type st_3 from statictext within w_bmstamt_spt_edit end type type st_2 from statictext within w_bmstamt_spt_edit end type type cbx_1 from checkbox within w_bmstamt_spt_edit end type end forward global type w_bmstamt_spt_edit from w_publ_1ton_share_detail string title = "供应商付款结算单" boolean maxbox = true windowstate windowstate = maximized! event ue_update_spt ( ) event insert_childrow ( ) event ue_confirm ( ) event ue_confirm_cancel ( ) event ue_p_ttakeamt ( ) event ue_p_tzqamt ( ) event ue_set_zqamt ( ) event ue_p_cmpl ( ) event ue_fj_view ( ) event ue_fj_edit ( ) event ue_p_auditing ( ) event ue_c_p_auditing ( ) event ue_p_secauditing ( ) event ue_c_p_secauditing ( ) event ue_p_confirm ( ) event ue_c_p_confirm ( ) ddlb_status ddlb_status ddlb_scid ddlb_scid st_3 st_3 st_2 st_2 cbx_1 cbx_1 end type global w_bmstamt_spt_edit w_bmstamt_spt_edit type variables uo_bmstamt uo_take Int cur_flag = -1 int cur_secflag = -1 Int cur_confirmflag = -1 Long cur_scid end variables forward prototypes public function integer wf_refresh_curuc (long arg_billid) public function integer wf_flagstatus_rf () public subroutine wf_ue_f7 (s_inwarebuy_ch s_inware) public subroutine wf_ue_f7_getmx (integer arg_scid, integer arg_takeid, string arg_msg) end prototypes event ue_update_spt();//用于选择明细内容,被F9[默认] IF dw_edit_mode THEN RETURN IF Not f_power_ind(1514) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long uc_row,ll_Baid String arg_msg dw_uc.AcceptText() uc_row = dw_uc.GetRow() IF uc_row = 0 THEN MessageBox('系统提示','请选定单据!') RETURN END IF ll_Baid = dw_uc.Object.u_Bmstamt_Baid[uc_row] IF Not IsValid(w_spt_edit) 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 (备用) //查询列(物料编码)部分内容,用于初步筛选 dw_uc.AcceptText() OpenWithParm(w_spt_edit,s_ch_tran) //调用 s_spt S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值 IF uo_take.uof_update_cust(ll_Baid,S_INSCUST.sptid,arg_msg,True) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF MessageBox('提示','更新成功') wf_refresh_curuc(ll_Baid) END IF END IF end event event insert_childrow();long li_row li_row=dw_child.insertrow(0) dw_child.scrolltorow(li_row) dw_child.SetColumn ('ttakeamt') end event event ue_confirm();//确认 IF NOT f_power_ind(1754) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF MessageBox ("询问","是否确定要确认当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_take.confirm(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) ELSE MessageBox('提示','确认成功!',information!,ok!) wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row]) END IF end event event ue_confirm_cancel();//反确认 IF NOT f_power_ind(1755) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF MessageBox ("询问","是否确定要反确认当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_take.cconfirm(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) ELSE MessageBox('提示','反确认成功!',information!,ok!) wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row]) END IF end event event ue_p_ttakeamt();Long i, ll_row Decimal lde_takeamt, lde_not_takeamt , lde_ttakeamt_add dw_uc.AcceptText() ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择目标单据') RETURN END IF IF MessageBox('确定','是否确定批计算本次应收金额?',question!, yesno!) = 2 THEN RETURN lde_takeamt = dw_uc.Object.bmstamt[ll_row] FOR i = 1 To dw_child.RowCount() lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i] IF lde_not_takeamt < 0 THEN lde_takeamt -= lde_not_takeamt END IF NEXT IF lde_takeamt < 0 THEN lde_takeamt = 0 FOR i = 1 To dw_child.RowCount() lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i] IF lde_not_takeamt < 0 THEN lde_ttakeamt_add = lde_not_takeamt // lde_takeamt -= lde_ttakeamt_add ELSE lde_ttakeamt_add = Min(lde_takeamt, lde_not_takeamt) lde_takeamt -= lde_ttakeamt_add END IF dw_child.Object.ttakeamt[i] = lde_ttakeamt_add NEXT end event event ue_p_tzqamt();Long i, ll_row Decimal lde_zqamt, lde_not_takeamt , lde_tzqamt_add dw_uc.AcceptText() ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择目标单据') RETURN END IF IF MessageBox('确定','是否确定批计算本次应收金额?',question!, yesno!) = 2 THEN RETURN lde_zqamt = dw_uc.Object.u_bmstamt_zqamt[ll_row] IF lde_zqamt < 0 THEN lde_zqamt = 0 FOR i = 1 To dw_child.RowCount() lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i] IF lde_not_takeamt < 0 THEN lde_tzqamt_add = 0 ELSE lde_tzqamt_add = Min(lde_zqamt, lde_not_takeamt) lde_zqamt -= lde_tzqamt_add END IF dw_child.Object.tzqamt[i] = lde_tzqamt_add NEXT end event event ue_set_zqamt();Long i, ll_row Decimal lde_zqamt, lde_not_takeamt , lde_ttakeamt_add, lde_tzqamt_add, lde_zqamt_add dw_uc.AcceptText() dw_child.AcceptText() ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择目标单据') RETURN END IF IF MessageBox('确定','是否确定计算余额作为折扣金额?',question!, yesno!) = 2 THEN RETURN FOR i = 1 To dw_child.RowCount() lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i] lde_ttakeamt_add = dw_child.Object.ttakeamt[i] IF lde_ttakeamt_add >= lde_not_takeamt THEN lde_tzqamt_add = 0 ELSE lde_tzqamt_add = lde_not_takeamt - lde_ttakeamt_add lde_zqamt_add += lde_tzqamt_add END IF dw_child.Object.tzqamt[i] = lde_tzqamt_add NEXT dw_uc.Object.u_bmstamt_zqamt[ll_row] = lde_zqamt_add end event event ue_p_cmpl();Long i, ll_row Decimal lde_takeamt, lde_not_takeamt , lde_ttakeamt_add Decimal lde_zqamt, lde_tzqamt_add, lde_zqamt_add dw_uc.AcceptText() ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择目标单据') RETURN END IF IF MessageBox('确定','是否确定分配收款且余款作为折扣金额?',question!, yesno!) = 2 THEN RETURN lde_takeamt = dw_uc.Object.bmstamt[ll_row] FOR i = 1 To dw_child.RowCount() lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i] IF lde_not_takeamt < 0 THEN lde_takeamt -= lde_not_takeamt END IF NEXT IF lde_takeamt < 0 THEN lde_takeamt = 0 FOR i = 1 To dw_child.RowCount() lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i] IF lde_not_takeamt < 0 THEN lde_ttakeamt_add = lde_not_takeamt // lde_takeamt -= lde_ttakeamt_add ELSE lde_ttakeamt_add = Min(lde_takeamt, lde_not_takeamt) lde_takeamt -= lde_ttakeamt_add END IF dw_child.Object.ttakeamt[i] = lde_ttakeamt_add NEXT FOR i = 1 To dw_child.RowCount() lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i] IF lde_not_takeamt < 0 THEN dw_child.Object.tzqamt[i] = 0 CONTINUE END IF lde_ttakeamt_add = dw_child.Object.ttakeamt[i] IF lde_ttakeamt_add >= lde_not_takeamt THEN lde_tzqamt_add = 0 ELSE lde_tzqamt_add = lde_not_takeamt - lde_ttakeamt_add lde_zqamt_add += lde_tzqamt_add END IF dw_child.Object.tzqamt[i] = lde_tzqamt_add NEXT dw_uc.Object.u_bmstamt_zqamt[ll_row] = lde_zqamt_add end event event ue_fj_view();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用',information!,OK!) RETURN END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!) RETURN END IF s_pic.f_long = 561 // s_pic.f_string = dw_pageretr.Object.u_bmstamt_bacode[ls_row] s_pic.g_long = dw_pageretr.Object.u_bmstamt_baid[ls_row] s_pic.e_long = dw_pageretr.Object.u_bmstamt_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event event ue_fj_edit();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用',information!,OK!) RETURN END IF //IF NOT f_power_ind(1098) THEN // MessageBox(publ_operator,sys_msg_pow) // RETURN //END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!) RETURN END IF s_pic.f_long = 561 // s_pic.f_string = dw_pageretr.Object.u_bmstamt_bacode[ls_row] s_pic.g_long = dw_pageretr.Object.u_bmstamt_baid[ls_row] s_pic.e_long = dw_pageretr.Object.u_bmstamt_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) end event event ue_p_auditing();//批初审 Long i String arg_msg,ls_msg2 String ls_taskcode IF dw_edit_mode THEN RETURN IF Not f_power_ind(1756) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN MessageBox('系统提示','请先勾选要批初审的单据!') RETURN END IF IF MessageBox ("询问","是否确定要对已选择的单据批初审核?",Question!,YesNo! ) = 2 THEN RETURN Close(w_sys_wait) Open(w_sys_wait) FOR i = 1 To dw_pageretr.RowCount() ls_taskcode = '' arg_msg = '' ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i] IF dw_pageretr.Object.ch[i] = 1 THEN IF dw_pageretr.Object.u_bmstamt_flag[i] = 1 THEN arg_msg = ls_taskcode + ',已经初审' +'~r~n' ls_msg2 = ls_msg2 + arg_msg CONTINUE END IF IF uo_take.auditing(dw_pageretr.Object.u_Bmstamt_Baid[i],publ_operator,arg_msg,True) = 0 THEN arg_msg = ls_taskcode + ',初审失败,' +arg_msg +'~r~n' ls_msg2 = ls_msg2 + arg_msg END IF END IF NEXT Close(w_sys_wait) IF ls_msg2 <> '' THEN OpenWithParm(w_message_err,ls_msg2) ELSE MessageBox('提示','全部初审成功!') END IF cb_retrieve.TriggerEvent('clicked') end event event ue_c_p_auditing();// 批初撤审 Long i String arg_msg,ls_msg2 String ls_taskcode IF dw_edit_mode THEN RETURN IF Not f_power_ind(1757) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN MessageBox('系统提示','请先勾选要批初审的单据!') RETURN END IF IF MessageBox ("询问","是否确定要对已选择的单据批初审核?",Question!,YesNo! ) = 2 THEN RETURN Close(w_sys_wait) Open(w_sys_wait) FOR i = 1 To dw_pageretr.RowCount() ls_taskcode = '' arg_msg = '' ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i] IF dw_pageretr.Object.ch[i] = 1 THEN IF dw_pageretr.Object.u_bmstamt_flag[i] = 0 THEN arg_msg = ls_taskcode + ',未初审,不能初撤' +'~r~n' ls_msg2 = ls_msg2 + arg_msg CONTINUE END IF IF dw_pageretr.Object.u_bmstamt_secflag[i] = 1 THEN arg_msg = ls_taskcode + ',已终审,不能初撤' +'~r~n' ls_msg2 = ls_msg2 + arg_msg CONTINUE END IF IF uo_take.auditing_cancel(dw_pageretr.Object.u_Bmstamt_Baid[i],arg_msg,True) = 0 THEN arg_msg = ls_taskcode + ',初撤审失败,' +arg_msg +'~r~n' ls_msg2 = ls_msg2 + arg_msg END IF END IF NEXT Close(w_sys_wait) IF ls_msg2 <> '' THEN OpenWithParm(w_message_err,ls_msg2) ELSE MessageBox('提示','全部初撤审成功!') END IF cb_retrieve.TriggerEvent('clicked') end event event ue_p_secauditing();//批终审 Long i String arg_msg,ls_msg2 String ls_taskcode IF dw_edit_mode THEN RETURN IF Not f_power_ind(1758) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN MessageBox('系统提示','请先勾选要批终审的单据!') RETURN END IF IF MessageBox ("询问","是否确定要对已选择的单据批终审核?",Question!,YesNo! ) = 2 THEN RETURN Close(w_sys_wait) Open(w_sys_wait) FOR i = 1 To dw_pageretr.RowCount() ls_taskcode = '' arg_msg = '' ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i] IF dw_pageretr.Object.ch[i] = 1 THEN IF dw_pageretr.Object.u_bmstamt_secflag[i] = 1 THEN arg_msg = ls_taskcode + ',已经终审' +'~r~n' ls_msg2 = ls_msg2 + arg_msg CONTINUE END IF IF uo_take.secauditing(dw_pageretr.Object.u_Bmstamt_Baid[i],publ_operator,arg_msg,True) = 0 THEN arg_msg = ls_taskcode + ',终审失败,' +arg_msg +'~r~n' ls_msg2 = ls_msg2 + arg_msg END IF END IF NEXT Close(w_sys_wait) IF ls_msg2 <> '' THEN OpenWithParm(w_message_err,ls_msg2) ELSE MessageBox('提示','全部终审成功!') END IF cb_retrieve.TriggerEvent('clicked') end event event ue_c_p_secauditing();//批终撤 Long i String arg_msg,ls_msg2 String ls_taskcode IF dw_edit_mode THEN RETURN IF Not f_power_ind(1759) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN MessageBox('系统提示','请先勾选要批终撤的单据!') RETURN END IF IF MessageBox ("询问","是否确定要对已选择的单据批终撤?",Question!,YesNo! ) = 2 THEN RETURN Close(w_sys_wait) Open(w_sys_wait) FOR i = 1 To dw_pageretr.RowCount() ls_taskcode = '' arg_msg = '' ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i] IF dw_pageretr.Object.ch[i] = 1 THEN IF dw_pageretr.Object.u_bmstamt_secflag[i] = 0 THEN arg_msg = ls_taskcode + ',没有终审' +'~r~n' ls_msg2 = ls_msg2 + arg_msg CONTINUE END IF IF uo_take.c_secauditing(dw_pageretr.Object.u_Bmstamt_Baid[i],arg_msg,True) = 0 THEN arg_msg = ls_taskcode + ',终撤失败,' +arg_msg +'~r~n' ls_msg2 = ls_msg2 + arg_msg END IF END IF NEXT Close(w_sys_wait) IF ls_msg2 <> '' THEN OpenWithParm(w_message_err,ls_msg2) ELSE MessageBox('提示','全部终撤成功!') END IF cb_retrieve.TriggerEvent('clicked') end event event ue_p_confirm();//批确认 Long i String arg_msg,ls_msg2 String ls_taskcode IF dw_edit_mode THEN RETURN IF Not f_power_ind(1754) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN MessageBox('系统提示','请先勾选要批确认的单据!') RETURN END IF IF MessageBox ("询问","是否确定要对已选择的单据批确认?",Question!,YesNo! ) = 2 THEN RETURN Close(w_sys_wait) Open(w_sys_wait) FOR i = 1 To dw_pageretr.RowCount() ls_taskcode = '' arg_msg = '' ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i] IF dw_pageretr.Object.ch[i] = 1 THEN IF dw_pageretr.Object.u_bmstamt_confirmflag[i] = 1 THEN arg_msg = ls_taskcode + ',已经确认' +'~r~n' ls_msg2 = ls_msg2 + arg_msg CONTINUE END IF If dw_pageretr.Object.u_bmstamt_secflag[i] = 0 Then arg_msg = ls_taskcode + ',未终审' +'~r~n' ls_msg2 = ls_msg2 + arg_msg CONTINUE END IF IF uo_take.confirm(dw_pageretr.Object.u_Bmstamt_Baid[i],publ_operator,arg_msg,True) = 0 THEN arg_msg = ls_taskcode + ',确认失败,' +arg_msg +'~r~n' ls_msg2 = ls_msg2 + arg_msg END IF END IF NEXT Close(w_sys_wait) IF ls_msg2 <> '' THEN OpenWithParm(w_message_err,ls_msg2) ELSE MessageBox('提示','全部确认成功!') END IF cb_retrieve.TriggerEvent('clicked') end event event ue_c_p_confirm();//批反确认 Long i String arg_msg,ls_msg2 String ls_taskcode IF dw_edit_mode THEN RETURN IF Not f_power_ind(1755) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN MessageBox('系统提示','请先勾选要批反确认的单据!') RETURN END IF IF MessageBox ("询问","是否确定要对已选择的单据批反确认?",Question!,YesNo! ) = 2 THEN RETURN Close(w_sys_wait) Open(w_sys_wait) FOR i = 1 To dw_pageretr.RowCount() ls_taskcode = '' arg_msg = '' ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i] IF dw_pageretr.Object.ch[i] = 1 THEN IF dw_pageretr.Object.u_bmstamt_confirmflag[i] = 0 THEN arg_msg = ls_taskcode + ',未确认' +'~r~n' ls_msg2 = ls_msg2 + arg_msg CONTINUE END IF IF uo_take.cconfirm(dw_pageretr.Object.u_Bmstamt_Baid[i],publ_operator,arg_msg,True) = 0 THEN arg_msg = ls_taskcode + ',反确认失败,' +arg_msg +'~r~n' ls_msg2 = ls_msg2 + arg_msg END IF END IF NEXT Close(w_sys_wait) IF ls_msg2 <> '' THEN OpenWithParm(w_message_err,ls_msg2) ELSE MessageBox('提示','全部反确认成功!') END IF cb_retrieve.TriggerEvent('clicked') end event public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 Long scid String sptcode Long accountid DateTime BaDate Decimal Bmstamt, zqamt String dscrp Long cusid String BaCode Int flag DateTime opdate String opemp String Name String auditemp DateTime auditdate Long Baid String BaRep Long moneyid Long itemid String itemcode String itemname String accountsname String moneyname String confirmemp DateTime confirmdate Int confirmflag Long relid Long banktypeid Decimal mrate DateTime viewdate string relcode string fpcode long secflag string secemp datetime secdate long acmoneyid string rep string bankstr string idcode string ls_dscrp string accountrep SELECT u_Bmstamt.scid, u_spt.sptcode, u_Bmstamt.accountid, u_Bmstamt.BaDate, u_Bmstamt.Bmstamt, u_Bmstamt.zqamt, u_Bmstamt.dscrp, u_Bmstamt.cusid, u_Bmstamt.BaCode, u_Bmstamt.flag, u_Bmstamt.opdate, u_Bmstamt.opemp, u_spt.name, u_Bmstamt.auditemp, u_Bmstamt.auditdate, u_Bmstamt.Baid, u_Bmstamt.BaRep, u_Bmstamt.moneyid, u_Bmstamt.mrate, u_Bmstamt.viewdate, u_Bmstamt.banktypeid, u_Bmstamt.itemid, u_itemdef.itemcode, u_itemdef.itemname, u_accounts.accountsname, cw_currency.name, u_Bmstamt.relid, u_Bmstamt.confirmemp, u_Bmstamt.confirmdate, u_Bmstamt.confirmflag, u_Bmstamt.relcode, u_Bmstamt.fpcode, u_Bmstamt.secflag, u_Bmstamt.secemp, u_Bmstamt.secdate, u_accounts.moneyid, u_spt.rep, u_accounts.bankstr, u_accounts.idcode, u_accounts.dscrp, u_accounts.accountrep INTO :scid, :sptcode, :accountid, :BaDate, :Bmstamt, :zqamt, :dscrp, :cusid, :BaCode, :flag, :opdate, :opemp, :Name, :auditemp , :auditdate, :Baid, :BaRep, :moneyid, :mrate, :viewdate, :banktypeid, :itemid, :itemcode, :itemname, :accountsname, :moneyname, :relid, :confirmemp, :confirmdate, :confirmflag, :relcode, :fpcode, :secflag, :secemp, :secdate, :acmoneyid, :rep, :bankstr, :idcode, :ls_dscrp, :accountrep FROM u_Bmstamt LEFT OUTER JOIN u_itemdef ON u_Bmstamt.itemid = u_itemdef.itemid LEFT OUTER JOIN u_accounts ON u_Bmstamt.accountid = u_accounts.accountsid LEFT OUTER JOIN cw_currency ON u_Bmstamt.moneyid = cw_currency.moneyid LEFT OUTER JOIN u_spt ON u_Bmstamt.cusid = u_spt.sptid WHERE ( u_Bmstamt.Baid = :arg_billid ); IF sqlca.SQLCode <> 0 THEN MessageBox('错误',"查询单据操作失败"+sqlca.SQLErrText,stopsign!,ok!) RETURN 0 END IF dw_pageretr.SetRedraw(FALSE) dw_pageretr.Object.u_Bmstamt_scid[uc_row] = scid dw_pageretr.Object.u_spt_sptcode[uc_row] = sptcode dw_pageretr.Object.u_Bmstamt_accountid[uc_row] = accountid dw_pageretr.Object.u_Bmstamt_BaDate[uc_row] = BaDate dw_pageretr.Object.u_Bmstamt_Bmstamt[uc_row] = Bmstamt dw_pageretr.Object.u_Bmstamt_zqamt[uc_row] = zqamt dw_pageretr.Object.u_Bmstamt_dscrp[uc_row] = dscrp dw_pageretr.Object.u_Bmstamt_cusid[uc_row] = cusid dw_pageretr.Object.u_Bmstamt_BaCode[uc_row] = BaCode dw_pageretr.Object.u_Bmstamt_flag[uc_row] = flag dw_pageretr.Object.u_Bmstamt_opemp[uc_row] = opemp dw_pageretr.Object.u_Bmstamt_opdate[uc_row] = opdate dw_pageretr.Object.u_Bmstamt_auditemp[uc_row] = auditemp dw_pageretr.Object.u_Bmstamt_auditemp[uc_row] = auditemp dw_pageretr.Object.u_Bmstamt_auditdate[uc_row] = auditdate dw_pageretr.Object.u_Bmstamt_moneyid[uc_row] = moneyid dw_pageretr.Object.u_Bmstamt_mrate[uc_row] = mrate dw_pageretr.Object.u_Bmstamt_viewdate[uc_row] = viewdate dw_pageretr.Object.u_Bmstamt_banktypeid[uc_row] = banktypeid dw_pageretr.Object.u_Bmstamt_BaRep[uc_row] = BaRep dw_pageretr.Object.u_itemdef_itemcode[uc_row] = itemcode dw_pageretr.Object.u_itemdef_itemname[uc_row] = itemname dw_pageretr.Object.u_Bmstamt_itemid[uc_row] = itemid dw_pageretr.Object.u_accounts_accountsname[uc_row] = accountsname dw_pageretr.Object.cw_currency_name[uc_row] = moneyname dw_pageretr.Object.u_Bmstamt_confirmemp[uc_row] = confirmemp dw_pageretr.Object.u_Bmstamt_confirmdate[uc_row] = confirmdate dw_pageretr.Object.u_Bmstamt_confirmflag[uc_row] = confirmflag dw_pageretr.Object.u_Bmstamt_relid[uc_row] = relid dw_pageretr.Object.u_Bmstamt_Baid[uc_row] = arg_billid dw_pageretr.Object.u_spt_name[uc_row] = name dw_pageretr.Object.u_spt_rep[uc_row] = rep dw_pageretr.Object.u_Bmstamt_relcode[uc_row] = relcode dw_pageretr.Object.u_accounts_moneyid[uc_row] = acmoneyid dw_pageretr.Object.u_Bmstamt_fpcode[uc_row] = fpcode dw_pageretr.Object.u_Bmstamt_secflag[uc_row] = secflag dw_pageretr.Object.u_Bmstamt_secemp[uc_row] = secemp dw_pageretr.Object.u_Bmstamt_secdate[uc_row] = secdate dw_pageretr.Object.u_accounts_bankstr[uc_row] = bankstr dw_pageretr.Object.u_accounts_idcode[uc_row] = idcode dw_pageretr.Object.u_accounts_dscrp[uc_row] = ls_dscrp dw_pageretr.Object.u_accounts_accountrep[uc_row] = accountrep dw_pageretr.SetRedraw(TRUE) dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) wf_flagstatus_rf() RETURN 1 end function public function integer wf_flagstatus_rf ();//wf_flagstatus_rf Long pagerert_row Int li_flag,li_confirmflag,li_secflag pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = FALSE cur_flag = -1 cur_secflag = -1 GOTO ext END IF li_flag = dw_pageretr.Object.u_Bmstamt_flag[pagerert_row] li_secflag = dw_pageretr.Object.u_Bmstamt_secflag[pagerert_row] li_confirmflag = dw_pageretr.Object.u_Bmstamt_confirmflag[pagerert_row] IF dw_edit_mode THEN cb_auditing.Text = '审核&F' cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = FALSE ELSE IF sys_option_msttake_takeamt_secaudit = 0 THEN cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '撤审' IF li_flag = 0 THEN cb_auditing.Enabled = TRUE cb_auditing_cancel.Enabled = FALSE ELSEIF li_flag = 1 THEN cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = TRUE END IF ELSE IF li_flag = 0 THEN cb_auditing.Text = '初审&F' cb_auditing_cancel.Text = '初撤' cb_auditing.Enabled = TRUE cb_auditing_cancel.Enabled = FALSE ELSEIF li_flag = 1 AND li_secflag = 0 THEN cb_auditing.Text = '终审&F' cb_auditing_cancel.Text = '初撤' cb_auditing.Enabled = TRUE cb_auditing_cancel.Enabled = TRUE ELSEIF li_flag = 1 AND li_secflag = 1 THEN cb_auditing.Text = '终审&F' cb_auditing_cancel.Text = '终撤' cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = TRUE END IF END IF END IF cb_auditing.TriggerEvent('ue_textchange') cb_auditing_cancel.TriggerEvent('ue_textchange') ext: RETURN 0 end function public subroutine wf_ue_f7 (s_inwarebuy_ch s_inware);long rslt = 1 string arg_msg Long ll_storageid Long ll_scid,ll_takeid Long ll_inwareid,ll_banktypeid,ll_btype,ll_banktypeid_new String ls_inwarecode dw_uc.SetRedraw(False) dw_uc.Object.cusid[dw_uc.GetRow()] = s_inware.sptid dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = s_inware.sptcode dw_uc.Object.u_spt_name[dw_uc.GetRow()] = s_inware.sptname dw_uc.Object.u_bmstamt_moneyid[dw_uc.GetRow()] = s_inware.moneyid dw_child.Object.billcode[dw_uc.GetRow()] = s_inware.billcode dw_child.Object.zqamt[dw_uc.GetRow()] = s_inware.zqamt dw_child.Object.takedate[dw_uc.GetRow()] = s_inware.indate ll_scid = dw_uc.Object.scid[dw_uc.GetRow()] ll_inwareid = s_inware.inwareid ls_inwarecode = s_inware.billcode //设置结算方式 ll_banktypeid = s_inware.banktypeid SELECT btype INTO :ll_btype FROM cw_banktype WHERE cw_banktype.banktypeid = :ll_banktypeid; IF sqlca.SQLCode <> 0 THEN // arg_msg = '查询相关结算方式ID失败' // rslt = 0 // GOTO ext END IF SELECT banktypeid INTO :ll_banktypeid_new FROM cw_banktype WHERE cw_banktype.btype = :ll_btype AND cw_banktype.banktype = 2; IF sqlca.SQLCode <> 0 THEN // arg_msg = '查询相关结算方式失败' // rslt = 0 // GOTO ext END IF dw_uc.Object.u_bmstamt_banktypeid[dw_uc.GetRow()] = ll_banktypeid_new //设置明细 SELECT U_Bmstpay.payid into :ll_takeid from U_Bmstpay where U_Bmstpay.billcode = :ls_inwarecode; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询相关订单失败' rslt = 0 GOTO ext END IF dw_child.Object.takeid[dw_uc.GetRow()] = ll_takeid wf_ue_f7_getmx(ll_scid,ll_takeid,arg_msg) ext: dw_uc.SetRedraw(True) dw_uc.SetColumn("accountid") return end subroutine public subroutine wf_ue_f7_getmx (integer arg_scid, integer arg_takeid, string arg_msg);decimal lde_msttakeamt,lde_takeamt SELECT mstpayamt, payamt INTO :lde_msttakeamt, :lde_takeamt From U_Bmstpay where U_Bmstpay.scid = :arg_scid and U_Bmstpay.payid = :arg_takeid; If sqlca.SQLCode <> 0 Then arg_msg = '查询订单的金额失败' Return End If //设置明细 dw_child.Object.msttakeamt[dw_child.GetRow()] = lde_msttakeamt dw_child.Object.takeamt[dw_child.GetRow()] = lde_takeamt dw_child.Object.ttakeamt[dw_child.GetRow()] = dw_child.Object.untakeamt[dw_child.GetRow()] dw_uc.Object.bmstamt[dw_uc.GetRow()] = dw_child.Object.untakeamt[dw_child.GetRow()] end subroutine on w_bmstamt_spt_edit.create int iCurrent call super::create this.ddlb_status=create ddlb_status this.ddlb_scid=create ddlb_scid this.st_3=create st_3 this.st_2=create st_2 this.cbx_1=create cbx_1 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_status this.Control[iCurrent+2]=this.ddlb_scid this.Control[iCurrent+3]=this.st_3 this.Control[iCurrent+4]=this.st_2 this.Control[iCurrent+5]=this.cbx_1 end on on w_bmstamt_spt_edit.destroy call super::destroy destroy(this.ddlb_status) destroy(this.ddlb_scid) destroy(this.st_3) destroy(this.st_2) destroy(this.cbx_1) end on 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 = "(u_Bmstamt.BaCode like '%"+Trim(sle_usual_query.Text)+"%')" ELSE ls_querystrpart = "(u_Bmstamt.BaCode 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(dw_pageretr,ls_newselect,1) THIS.TriggerEvent('retrieve_pageretr') 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+'( u_Bmstamt_BaCode like "%'+trim(sle_usual_query.text)+'%" )' else obj_expr=obj_expr+'( u_Bmstamt_BaCode 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 close;call super::close;destroy uo_take end event event open;call super::open;uc_column_int = 15 //uc dw前6列可以编辑 child_column_int = 6 uo_take = CREATE uo_bmstamt IF s_tran.d_long = 1 THEN cur_scid = s_tran.c_long Int li_item li_item = ddlb_scid.FindItem(s_tran.d_string,0) IF li_item > 0 THEN ddlb_scid.SelectItem(li_item) END IF String arg_msg cb_add.TriggerEvent(Clicked!) IF dw_uc.GetRow() > 0 THEN IF s_tran.e_long > 0 THEN String ls_cuscode,ls_cusname SELECT cuscode,name INTO :ls_cuscode,:ls_cusname FROM u_cust Where cusid = :s_tran.e_long; IF sqlca.SQLCode = 0 THEN dw_uc.Object.cusid[dw_uc.GetRow()] = s_tran.e_long dw_uc.Object.u_cust_name[dw_uc.GetRow()] = ls_cusname dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_cuscode END IF END IF END IF END IF end event event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = NOT dw_edit_mode ddlb_scid.Enabled = NOT dw_edit_mode cb_auditing.Enabled = NOT dw_edit_mode cb_auditing_cancel.Enabled = NOT dw_edit_mode end event event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled Boolean cb_func_enabled,cb_retrieve_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 datawindowchild childdw dw_uc.SetTransObject (sqlca) dw_uc.GetChild("accountid",childdw) childdw.SetTransObject (sqlca) IF childdw.Retrieve(sys_user_account) = 0 THEN childdw.InsertRow(0) END IF Int li_ifspttype IF sys_power_issuper THEN li_ifspttype = 0 ELSE li_ifspttype = 1 END IF dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数 dw_pageretr.Retrieve(cur_scid,cur_flag,cur_secflag,cur_confirmflag,li_ifspttype,sys_user_spttype) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.TriggerEvent(RowFocusChanged!) END IF wf_flagstatus_rf() This.TriggerEvent('retrieve_childdw') cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event event ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认] IF Not dw_edit_mode THEN RETURN Long uc_row uc_row = dw_uc.GetRow() IF uc_row = 0 THEN MessageBox('提示','请选定进仓单!',information!,ok!) RETURN END IF dw_uc.AcceptText() IF NOT IsValid(w_spt_edit) 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 (备用) //查询列(物料编码)部分内容,用于初步筛选 dw_uc.AcceptText() s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()])) OpenWithParm(w_spt_edit,s_ch_tran) //调用 s_spt S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值 dw_uc.SetRedraw(False) dw_uc.Object.cusid[uc_row] = S_INSCUST.sptid dw_uc.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name // dw_uc.Object.u_Bmstamt_BaRep[uc_row] = S_INSCUST.bsntype dw_uc.Object.u_spt_rep[uc_row] = S_INSCUST.rep //dw_uc.Object.u_bmstamt_banktypeid[uc_row] = S_INSCUST.dftbanktypeid dw_uc.Object.u_bmstamt_moneyid[uc_row] = S_INSCUST.dftmoneyid dw_uc.Object.u_bmstamt_mrate[uc_row] = f_get_mrate(S_INSCUST.dftmoneyid) dw_uc.SetRedraw(True) dw_uc.SetColumn("BaDate") END IF END IF end event event ue_viewprint;call super::ue_viewprint; Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!',information!,ok!) RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN IF Not f_power_ind(ls_powerid) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_Bmstamt_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!) RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE IF Not f_power_ind(1761) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_Bmstamt_spt_edit' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = '应商付款结算单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 2 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_Bmstamt_Baid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() OpenWithParm(w_publ_preview,LS_PRMSG) //**更新打印次料 String arg_msg printnum = Message.DoubleParm Long ll_scid ll_scid = dw_pageretr.Object.u_Bmstamt_scid[dw_pageretr.GetRow()] f_update_printnum('u_Bmstamt',printnum,ll_scid,dw_pageretr.Object.u_Bmstamt_Baid[LS_ROW],'','',arg_msg,True) end event event ue_print;call super::ue_print;//--直接打印 uo_print_preview uo_print IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!',information!,OK!) RETURN END IF IF ls_newname <> '' THEN IF Not f_power_ind(ls_powerid) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_Bmstamt_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE IF Not f_power_ind(1761) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_Bmstamt_spt_edit' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.retr_pram_falg = 2 LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = This.Title LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_Bmstamt_Baid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,OK!) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = 1 Long ll_scid ll_scid = dw_pageretr.Object.u_Bmstamt_scid[dw_pageretr.GetRow()] f_update_printnum('u_Bmstamt',printnum,ll_scid,dw_pageretr.Object.u_Bmstamt_Baid[LS_ROW],'','',arg_msg,True) end event event ue_f7;call super::ue_f7;//用于选择明细内容,被F9[默认] IF NOT dw_edit_mode THEN RETURN Long uc_row String ls_itemcode uc_row = dw_uc.GetRow() ls_itemcode = Trim(dw_uc.Object.u_itemdef_itemcode[uc_row]) IF uc_row = 0 THEN MessageBox('提示','请选定单据!',information!,ok!) RETURN END IF dw_uc.AcceptText() IF NOT IsValid(w_itemdef_response) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = local_retrieve_all //是否一次retrieve所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位pkid (备用) s_ch_tran.arg_string_code = ls_itemcode //查询列(物料编码)部分内容,用于初步筛选 OpenWithParm(w_itemdef_response,s_ch_tran) //调用 s_itemdef s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值 dw_uc.SetRedraw(FALSE) dw_uc.Object.u_Bmstamt_itemid[uc_row] = s_inscust.itemid dw_uc.Object.u_itemdef_itemcode[uc_row] = s_inscust.itemcode dw_uc.Object.u_itemdef_itemname[uc_row] = s_inscust.itemname dw_uc.SetColumn("dscrp") dw_uc.SetRedraw(TRUE) END IF END IF end event event resize;call super::resize;//ln_bar.EndX = THIS.Width //ln_bar2.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 - (w_width - dw_pageretr_w) //dw_pageretr.Height = THIS.Height - (w_height - dw_pageretr_h) - 60 // //dw_child.Height = THIS.Height - (w_height - dw_child_h)- 60 // // //this.triggerevent('resize_p') 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.u_Bmstamt_Baid[row] dw_child.SetRedraw (FALSE) dw_child.Retrieve(uc_relid) dw_child.SetRedraw (TRUE) ELSE dw_child.Reset() END IF end event event ue_rpt_viewprint;call super::ue_rpt_viewprint; Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_Bmstamt_flag[row] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!) RETURN END IF END IF s_rpt_print_msg s_print s_print.retr_pram_falg = 2 s_print.rpid = ls_msgprintid_rpt s_print.retr_flag = TRUE s_print.tag_text = THIS.Title s_print.rpname = ls_rpname s_print.retr_pramnmb = dw_pageretr.Object.u_Bmstamt_Baid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 String arg_msg printnum = Message.DoubleParm String ls_code ll_scid = 0 ls_code = dw_pageretr.Object.u_Bmstamt_BaCode[row] f_update_printnum('u_Bmstamt',printnum,ll_scid,dw_pageretr.Object.u_Bmstamt_Baid[ROW],'','',arg_msg,TRUE) //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN uo_rpt_print_preview uo_print S_rpt_print_MSG LS_PRMSG IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,ok!) RETURN END IF IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_Bmstamt_flag[row] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!) RETURN END IF END IF IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 2 LS_PRMSG.TAG_TEXT = THIS.Title LS_PRMSG.rpname = ls_rpname LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.rpid = ls_msgprintid_rpt LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_Bmstamt_Baid[row] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,ok!) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = Message.DoubleParm String ls_code ll_scid = 0 ls_code = dw_pageretr.Object.u_Bmstamt_BaCode[row] f_update_printnum('u_Bmstamt',printnum,ll_scid,dw_pageretr.Object.u_Bmstamt_Baid[ROW],'','',arg_msg,TRUE) //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1760) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '',LS_STR Long uc_row s_inputbox S_SREU uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) 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_take.add_dscrp(dw_pageretr.Object.u_Bmstamt_Baid[uc_row],LS_STR,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg,information!,ok!) RETURN ELSE MessageBox('提示','添加备注操作成功!',information!,ok!) wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[uc_row]) END IF end event event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用 IF Not dw_edit_mode THEN RETURN Long child_row Long ll_sptid, ll_scid, ll_moneyid dw_uc.AcceptText() IF dw_uc.GetRow() = 0 THEN RETURN ll_scid = dw_uc.Object.scid[dw_uc.GetRow()] ll_sptid = dw_uc.Object.cusid[dw_uc.GetRow()] IF IsNull(ll_sptid) Or ll_sptid = 0 THEN This.TriggerEvent("ue_f9") ll_sptid = dw_uc.Object.cusid[dw_uc.GetRow()] IF IsNull(ll_sptid) Or ll_sptid = 0 THEN MessageBox('提示','请选择供应商', Information!, OK! ) RETURN END IF END IF ll_moneyid = dw_uc.Object.u_Bmstamt_moneyid[dw_uc.GetRow()] IF ll_moneyid = 0 THEN MessageBox('提示','请选择币种', Information!, OK! ) RETURN END IF child_row = dw_child.GetRow() IF Not IsValid(w_mustpay_ch) THEN s_edit_index_tran s_tranf8 //传递参数使用 s_tranf8.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行 s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_tranf8.arg_pkid = ll_sptid //目标定位PKID (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = True //多选 s_tranf8.b_long = ll_scid //分部 s_tranf8.c_long = ll_sptid //供应商 s_tranf8.d_long = ll_moneyid //币种 Long chc = 1,ls_j IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.billcode[dw_child.GetRow()]) OpenWithParm(w_mustpay_ch,s_tranf8) //调用 s_bmstpay_arr S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 To UpperBound(S_INSCUST.payid) IF S_INSCUST.payid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.takeid[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.takeid[child_row] = S_INSCUST.payid[ls_j] // dw_child.Object.billid [child_row] = S_INSCUST.billid[ls_j] dw_child.Object.billcode [child_row] = S_INSCUST.billcode[ls_j] dw_child.Object.relcode[child_row] = S_INSCUST.relcode[ls_j] dw_child.Object.takedate[child_row] = S_INSCUST.paydate[ls_j] dw_child.Object.msttakeamt[child_row] = S_INSCUST.mstpayamt[ls_j] dw_child.Object.takeamt[child_row] = S_INSCUST.payamt[ls_j] END IF NEXT dw_child.SetColumn('ttakeamt') dw_child.SetFocus() This.TriggerEvent('ue_allowedit') END IF end event event ue_f10;call super::ue_f10;//用于选择明细内容,被F10[默认] If Not dw_edit_mode Then Return Long uc_row Long ll_rst_accountsid,ll_accountid,ll_moneyid,ll_moneyid_account uc_row = dw_uc.GetRow() If uc_row = 0 Then MessageBox('系统提示','请选定单据!') Return End If dw_uc.AcceptText() If Not IsValid(w_accounts_ch) Then s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = True //是否一次retrieve所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位pkid (备用) s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 OpenWithParm(w_accounts_ch,s_ch_tran) //调用 ll_rst_accountsid = Message.DoubleParm //接受返回结构 If ll_rst_accountsid > 0 Then //正常返回值则可以取以下值 dw_uc.SetRedraw(False) ll_moneyid = dw_uc.Object.u_bmstamt_moneyid[uc_row] dw_uc.Object.accountid[uc_row] = ll_rst_accountsid Select moneyid Into :ll_moneyid_account From u_accounts Where accountsid = :ll_rst_accountsid; If sqlca.SQLCode <> 0 Then ll_moneyid_account = 0 Return End If dw_uc.Object.u_accounts_moneyid[uc_row] = ll_moneyid_account If ll_moneyid = ll_moneyid_account Then dw_uc.Object.u_bmstamt_mrate[uc_row] = 1 Else dw_uc.Object.u_bmstamt_mrate[dw_uc.GetRow()] = f_get_mrate(ll_moneyid) End If dw_uc.SetColumn("accountid") dw_uc.SetRedraw(True) End If End If end event type cb_func from w_publ_1ton_share_detail`cb_func within w_bmstamt_spt_edit end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_bmstamt_spt_edit end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_bmstamt_spt_edit integer x = 197 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_bmstamt_spt_edit integer x = 3378 integer width = 142 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_bmstamt_spt_edit integer x = 3077 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_bmstamt_spt_edit event dwnkey pbm_dwnkey integer x = 1829 integer width = 1719 integer height = 1664 string dataobject = "dw_bmstamt_spt_index" boolean rbutton_filter_use = true boolean titleclick_sort_use = true end type event dw_pageretr::dwnkey;call super::dwnkey;//int i = 0 end event event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_bmstamt_spt_edit integer x = 14 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_bmstamt_spt_edit integer x = 3520 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_bmstamt_spt_edit integer width = 1819 integer height = 1656 string dataobject = "dw_bmstamt_spt_edit" end type event dw_uc::dwnkey;Parent.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 IF dw_edit_mode THEN IF Key = KeyEnter! THEN IF dw_uc.GetColumnName ( ) = 'dscrp' THEN // dw_child.ScrollToRow(1) // dw_child.SetFocus() // dw_child.SetColumn ('ttakeamt') // RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' THEN String ls_code,ls_name,ls_rep Long ls_sptid dw_uc.AcceptText() ls_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()])) SELECT sptid, name, rep INTO :ls_sptid,:ls_name, :ls_rep FROM u_spt Where charindex(:ls_code,sptcode)>0 or charindex(:ls_code,name)>0; IF sqlca.SQLCode <> 0 THEN Parent.TriggerEvent('ue_f9') RETURN 1 ELSE dw_uc.SetRedraw(False) dw_uc.Object.cusid[dw_uc.GetRow()] = ls_sptid dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name dw_uc.Object.u_spt_rep[dw_uc.GetRow()] = ls_rep dw_uc.SetRedraw(True) dw_uc.SetColumn("u_Bmstamt_banktypeid") RETURN 1 END IF ELSEIF dw_uc.GetColumnName ( ) = 'u_itemdef_itemcode' THEN String ls_itemcode,ls_itemname Long ls_itemid dw_uc.AcceptText() ls_itemcode = Upper(Trim(dw_uc.Object.u_itemdef_itemcode[dw_uc.GetRow()])) SELECT u_itemdef.itemid, u_itemdef.itemname Into :ls_itemid, :ls_itemname From u_itemdef Where ( u_itemdef.itemcode = :ls_itemcode ); IF sqlca.SQLCode <> 0 THEN Parent.TriggerEvent('ue_f7') RETURN 1 ELSE dw_uc.SetRedraw(False) dw_uc.Object.u_Bmstamt_itemid[dw_uc.GetRow()] = ls_itemid dw_uc.Object.u_itemdef_itemname[dw_uc.GetRow()] = ls_itemname dw_uc.SetRedraw(True) dw_uc.SetColumn("dscrp") RETURN 1 END IF ELSE IF Key = KeyEnter! and dw_uc.GetColumnName ( ) <> 'dscrp' 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 event event dw_uc::doubleclicked;If dw_edit_mode And row > 0 Then If dwo.Name = 'u_itemdef_itemcode' Or dwo.Name = 'u_itemdef_itemname' Then Parent.TriggerEvent('ue_f7') ElseIf dwo.Name = 'accountid' Then Parent.TriggerEvent('ue_f10') Else Parent.TriggerEvent('ue_f9') End If End If end event event dw_uc::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN This.AcceptText() Long ll_moneyid_account,ll_moneyid Long ll_accountid IF dwo.Name = 'accountid' THEN This.SetRedraw(False) // THIS.Object.accountid[row] > 0 ll_accountid = This.Object.accountid[row] ll_moneyid = This.Object.u_Bmstamt_moneyid[row] SELECT moneyid INTO :ll_moneyid_account FROM u_accounts Where accountsid = :ll_accountid; IF sqlca.SQLCode <> 0 THEN ll_moneyid_account = 0 RETURN END IF This.Object.u_accounts_moneyid[row] = ll_moneyid_account IF ll_moneyid = 0 THEN This.Object.u_Bmstamt_moneyid[row] = ll_moneyid_account ll_moneyid = ll_moneyid_account END IF // IF ll_moneyid = ll_moneyid_account THEN // THIS.Object.u_Bmstamt_mrate[row] = 1 // ELSE This.Object.u_Bmstamt_mrate[row] = f_get_mrate(ll_moneyid) // END IF This.SetRedraw(True) ELSEIF dwo.Name = 'u_Bmstamt_moneyid' THEN ll_moneyid = This.Object.u_Bmstamt_moneyid[row] This.Object.u_Bmstamt_mrate[row] = f_get_mrate(ll_moneyid) elseif dwo.name = 'u_bmstamt_banktypeid' then END IF //If (dwo.Name = 'u_Bmstamt_moneyid' OR dwo.Name = 'accountid') AND THIS.Object.accountid[row] > 0 THEN // THIS.SetRedraw(FALSE) // // ll_accountid = THIS.Object.accountid[row] // ll_moneyid = THIS.Object.u_Bmstamt_moneyid[row] // // // SELECT moneyid INTO :ll_moneyid_account // FROM u_accounts // Where accountsid = :ll_accountid; // IF sqlca.SQLCode <> 0 THEN // ll_moneyid_account = 0 // RETURN // END IF // // THIS.Object.u_accounts_moneyid[row] = ll_moneyid_account // //// if ll_moneyid = 0 then //// THIS.Object.u_Bmstamt_moneyid[row] = ll_moneyid_account //// ll_moneyid = ll_moneyid_account //// end if // // IF ll_moneyid = ll_moneyid_account THEN // THIS.Object.u_Bmstamt_mrate[row] = 1 // ELSE // THIS.Object.u_Bmstamt_mrate[dw_uc.GetRow()] = f_get_mrate(ll_moneyid) // END IF // // THIS.SetRedraw(TRUE) //END IF end event event dw_uc::buttonclicked;call super::buttonclicked;IF dw_edit_mode AND row > 0 THEN IF dwo.Name = 'b_p_cmpl' THEN PARENT.TriggerEvent('ue_p_cmpl') END IF END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_bmstamt_spt_edit integer x = 1358 integer y = 332 integer width = 311 integer height = 1104 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_bmstamt_spt_edit integer y = 1960 integer width = 3131 integer height = 332 string title = "付款对单明细内容" string dataobject = "dw_bmstamtmx_spt_edit" end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_bmstamt_spt_edit end type type cb_print from w_publ_1ton_share_detail`cb_print within w_bmstamt_spt_edit end type type cb_add from w_publ_1ton_share_detail`cb_add within w_bmstamt_spt_edit end type event cb_add::clicked;IF Not f_power_ind(1752) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF String arg_msg = '' Long uc_row, i, ll_printid s_bmstamtmx s_mx IF dw_edit_mode THEN dw_uc.AcceptText() dw_child.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF Not dw_uc.Object.BaDate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('提示','不合理日期',information!,ok!) dw_uc.SetFocus() dw_uc.SetColumn('BaDate') RETURN END IF IF dw_uc.Object.accountid[uc_row] = 0 THEN MessageBox('提示','请选择帐号!',information!,ok!) dw_uc.SetFocus() dw_uc.SetColumn('accountid') RETURN END IF IF dw_uc.Object.u_Bmstamt_banktypeid[uc_row] = 0 THEN MessageBox('提示','请选择结算方式!',information!,ok!) dw_uc.SetFocus() dw_uc.SetColumn('u_Bmstamt_banktypeid') RETURN END IF IF dw_uc.Object.u_Bmstamt_moneyid[uc_row] = 0 THEN MessageBox('提示','请选择币种!',information!,ok!) dw_uc.SetFocus() dw_uc.SetColumn('u_Bmstamt_moneyid') RETURN END IF IF Trim(dw_uc.Object.u_Bmstamt_BaRep[uc_row]) = '' THEN MessageBox('提示','请输入经手人!',information!,ok!) dw_uc.SetFocus() dw_uc.SetColumn('u_Bmstamt_BaRep') RETURN END IF IF sys_option_msttake_takeamt_secaudit = 0 THEN // IF dw_uc.Object.cusid[uc_row] = 0 THEN MessageBox('提示','请选择供应商!',information!,ok!) dw_uc.SetFocus() dw_uc.SetColumn('u_cust_cuscode') RETURN END IF END IF uo_take.scid = dw_uc.Object.scid[uc_row] uo_take.accountid = dw_uc.Object.accountid[uc_row] uo_take.cusid = dw_uc.Object.cusid[uc_row] uo_take.Bmstamt = dw_uc.Object.Bmstamt[uc_row] uo_take.zqamt = dw_uc.Object.u_Bmstamt_zqamt[uc_row] uo_take.dscrp = Trim(dw_uc.Object.dscrp[uc_row]) uo_take.BaDate = dw_uc.Object.BaDate[uc_row] uo_take.banktypeid = dw_uc.Object.u_Bmstamt_banktypeid[uc_row] uo_take.itemid = dw_uc.Object.u_Bmstamt_itemid[uc_row] uo_take.moneyid = dw_uc.Object.u_Bmstamt_moneyid[uc_row] uo_take.mrate = dw_uc.Object.u_Bmstamt_mrate[uc_row] uo_take.BaRep = Trim(dw_uc.Object.u_Bmstamt_BaRep[uc_row]) uo_take.viewdate = dw_uc.Object.u_Bmstamt_viewdate[uc_row] uo_take.relcode = dw_uc.Object.u_Bmstamt_relcode[uc_row] uo_take.fpcode = dw_uc.Object.u_Bmstamt_fpcode[uc_row] uo_take.billtype = 1 FOR i = 1 To dw_child.RowCount() IF dw_child.Object.takeid[i] > 0 THEN //ll_printid ++ s_mx.printid = i //只做行数记录,不是保存的db的printid s_mx.takeid = dw_child.Object.takeid[i] s_mx.billcode = dw_child.Object.billcode[i] s_mx.relcode = dw_child.Object.relcode[i] s_mx.msttakeamt = dw_child.Object.msttakeamt[i] s_mx.takeamt = dw_child.Object.takeamt[i] s_mx.zqamt = dw_child.Object.zqamt[i] s_mx.ttakeamt = dw_child.Object.ttakeamt[i] s_mx.tzqamt = dw_child.Object.tzqamt[i] s_mx.relid = dw_child.Object.relid[i] s_mx.relprintid = dw_child.Object.relprintid[i] s_mx.mxdscrp = dw_child.Object.mxdscrp[i] IF uo_take.acceptmx(s_mx,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF END IF NEXT IF uo_take.Save(arg_msg,True) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF //MessageBox('提示','保存操作成功!',information!,ok!) //write ini f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_Bmstamt_moneyid[dw_uc.GetRow()])) f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_Bmstamt_banktypeid[dw_uc.GetRow()])) f_SetProfileString (sys_empid,dw_uc.DataObject, "itemid",String(dw_uc.Object.u_Bmstamt_itemid[dw_uc.GetRow()])) Long ll_row ll_row = dw_pageretr.GetRow() dw_pageretr.SelectRow(0,False) dw_pageretr.SelectRow(ll_row,True) wf_refresh_curuc(uo_take.Baid) ELSE IF uo_take.newbegin(cur_scid,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF END IF CALL Super::Clicked IF dw_edit_mode THEN Parent.TriggerEvent("insert_childrow") String ls_moneyid,ls_banktype, ls_itemid ls_moneyid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",'0') ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0') ls_itemid = f_ProfileString (sys_empid,dw_uc.DataObject, "itemid",'0') dw_uc.SetRedraw(False) dw_uc.Object.u_Bmstamt_moneyid[dw_uc.GetRow()] = Long(ls_moneyid) dw_uc.Object.u_Bmstamt_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid)) dw_uc.Object.u_Bmstamt_banktypeid[dw_uc.GetRow()] = Long(ls_banktype) dw_uc.Object.scid[dw_uc.GetRow()] = cur_scid dw_uc.Object.u_Bmstamt_itemid[dw_uc.GetRow()] = Long(ls_itemid) dw_uc.Object.u_itemdef_itemcode[dw_uc.GetRow()] = f_get_itemcode(Long(ls_itemid)) dw_uc.Object.u_itemdef_itemname[dw_uc.GetRow()] = f_get_itemname(Long(ls_itemid)) dw_uc.Object.u_bmstamt_barep[dw_uc.GetRow()] = publ_operator dw_uc.SetColumn("u_Bmstamt_relcode") dw_uc.SetRedraw(True) ELSE Parent.TriggerEvent("retrieve_childdw") END IF end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_bmstamt_spt_edit end type event cb_edit::clicked;IF NOT f_power_ind(1752) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF NOT dw_edit_mode THEN IF uo_take.updatebegin(dw_pageretr.Object.u_Bmstamt_scid[uc_row],dw_pageretr.Object.u_Bmstamt_Baid[uc_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[uc_row]) PARENT.TriggerEvent("retrieve_childdw") END IF CALL SUPER::Clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_bmstamt_spt_edit end type event cb_delet::clicked;call super::clicked;IF Not f_power_ind(1753) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_take.del(cur_scid,dw_pageretr.Object.u_Bmstamt_Baid[uc_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.u_Bmstamt_Baid[uc_row] ls_code = dw_pageretr.Object.u_Bmstamt_BaCode[uc_row] f_setsysoplog('供应商付款结算单','删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,True) //-- MessageBox('提示','删除单据'+String(dw_pageretr.Object.u_Bmstamt_BaCode[uc_row])+'成功!',information!,ok!) dw_pageretr.DeleteRow(uc_row) dw_pageretr.TriggerEvent(RowFocusChanged!) END IF end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_bmstamt_spt_edit end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu string menustr menustr="Text=增加备注~tEvent=ue_addzy" //menustr=menustr + "|" + "Text=-" //menustr = menustr + "|" + "Text=确定供应商~tEvent=ue_update_spt" menustr += "|" + "Text=-" menustr += "|" + "Text=批初审~tEvent=ue_p_auditing" menustr += "|" + "Text=批初撤~tEvent=ue_c_p_auditing" menustr += "|" + "Text=-" menustr += "|" + "Text=批终审~tEvent=ue_p_secauditing" menustr += "|" + "Text=批终撤~tEvent=ue_c_p_secauditing" menustr=menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=确认~tEvent=ue_confirm" menustr = menustr + "|" + "Text=反确认~tEvent=ue_confirm_cancel" menustr += "|" + "Text=-" menustr += "|" + "Text=查看附件~tEvent=ue_fj_view" menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit" menustr += "|" + "Text=-" menustr += "|" + "Text=批确认~tEvent=ue_p_confirm" menustr += "|" + "Text=批反确认~tEvent=ue_c_p_confirm" 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 cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_bmstamt_spt_edit end type event cb_auditing::clicked;call super::clicked; IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN IF sys_option_msttake_takeamt_secaudit = 0 OR & sys_option_msttake_takeamt_secaudit = 1 AND dw_pageretr.Object.u_Bmstamt_flag[pagerert_row] = 0 THEN IF NOT f_power_ind(1756) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF uo_take.auditing(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) ELSE MessageBox('提示','审核成功!',information!,ok!) wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row]) END IF ELSE IF NOT f_power_ind(1758) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF uo_take.secauditing(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) ELSE MessageBox('提示','二级审核成功!',information!,ok!) wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row]) END IF END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_bmstamt_spt_edit end type event cb_xm::clicked;is_mx_menustr = '' is_mx_menustr = is_mx_menustr + "|" + "Text=分配收款且余款作为折扣金额~tEvent=ue_p_cmpl" is_mx_menustr = is_mx_menustr + "|" + "Text=-" is_mx_menustr = is_mx_menustr + "|" + "Text=分配收款~tEvent=ue_p_ttakeamt" is_mx_menustr = is_mx_menustr + "|" + "Text=余款作为折扣金额~tEvent=ue_set_zqamt" call super::clicked //is_mx_menustr = is_mx_menustr + "|" + "Text=明细物料图片查看~tEvent=ue_fj_view" end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_bmstamt_spt_edit end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_bmstamt_spt_edit end type type cb_help from w_publ_1ton_share_detail`cb_help within w_bmstamt_spt_edit end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_bmstamt_spt_edit end type event cb_auditing_cancel::clicked;call super::clicked; IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF MessageBox ("询问","是否确定要撤消审核当前单据?",question!,yesno! ) = 2 THEN RETURN IF sys_option_msttake_takeamt_secaudit = 0 OR & sys_option_msttake_takeamt_secaudit = 1 AND & dw_pageretr.Object.u_Bmstamt_flag[pagerert_row] = 1 AND & dw_pageretr.Object.u_Bmstamt_secflag[pagerert_row] = 0 THEN IF NOT f_power_ind(1757) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF uo_take.auditing_cancel(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) ELSE MessageBox('提示','撤消审核成功!',information!,ok!) wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row]) END IF ELSE IF NOT f_power_ind(1759) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF uo_take.c_secauditing(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('错误','撤消二级审核失改,'+arg_msg,stopsign!,ok!) ELSE MessageBox('提示','撤消二级审核成功!',information!,ok!) wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row]) END IF END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_bmstamt_spt_edit end type type p_help from w_publ_1ton_share_detail`p_help within w_bmstamt_spt_edit end type type p_encl from w_publ_1ton_share_detail`p_encl within w_bmstamt_spt_edit end type type p_other from w_publ_1ton_share_detail`p_other within w_bmstamt_spt_edit end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_bmstamt_spt_edit end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_bmstamt_spt_edit integer beginx = 9 integer endx = 3209 end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_bmstamt_spt_edit end type type r_bar from w_publ_1ton_share_detail`r_bar within w_bmstamt_spt_edit integer x = 2935 integer height = 148 end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_bmstamt_spt_edit end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_bmstamt_spt_edit end type type ddlb_status from dropdownlistbox within w_bmstamt_spt_edit integer x = 1577 integer y = 188 integer width = 393 integer height = 400 integer taborder = 10 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 string item[] = {"[全部]","待初审","待终审","待确认","审核完毕"} borderstyle borderstyle = stylelowered! end type event selectionchanged;IF Index = 1 THEN cur_flag = -1 cur_confirmflag = -1 cur_secflag = -1 ELSEIF Index = 2 THEN cur_flag = 0 cur_secflag = 0 cur_confirmflag = -1 ELSEIF Index = 3 THEN cur_flag = 1 cur_secflag = 0 cur_confirmflag = -1 ELSEIF Index = 4 THEN cur_flag = -1 cur_secflag = -1 cur_confirmflag = 0 ELSE cur_flag = 1 cur_secflag = 1 cur_confirmflag = 1 END IF PARENT.TriggerEvent('retrieve_pageretr') end event type ddlb_scid from uo_ddlb_scid within w_bmstamt_spt_edit integer x = 896 integer y = 188 integer width = 549 integer height = 1120 end type event constructor;call super::constructor;cur_scid=this.uo_scid end event event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid parent.triggerevent("retrieve_pageretr") end event type st_3 from statictext within w_bmstamt_spt_edit integer x = 1403 integer y = 204 integer width = 165 integer height = 48 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "状态" alignment alignment = right! boolean focusrectangle = false end type type st_2 from statictext within w_bmstamt_spt_edit integer x = 713 integer y = 204 integer width = 165 integer height = 48 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "分部" alignment alignment = right! boolean focusrectangle = false end type type cbx_1 from checkbox within w_bmstamt_spt_edit integer x = 2057 integer y = 204 integer width = 183 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "全选" end type event clicked;Long i dw_pageretr.SetRedraw(False) FOR i = 1 To dw_pageretr.RowCount() IF Checked THEN dw_pageretr.Object.ch[i] = 1 ELSE dw_pageretr.Object.ch[i] = 0 END IF NEXT dw_pageretr.SetRedraw(True) end event