$PBExportHeader$w_cusamt_other.srw forward global type w_cusamt_other from w_publ_1ton_share_detail end type type ddlb_status from dropdownlistbox within w_cusamt_other end type type ddlb_scid from uo_ddlb_scid within w_cusamt_other end type type st_3 from statictext within w_cusamt_other end type type st_2 from statictext within w_cusamt_other end type type cbx_1 from checkbox within w_cusamt_other end type type cbx_2 from checkbox within w_cusamt_other end type type cbx_3 from checkbox within w_cusamt_other end type end forward global type w_cusamt_other from w_publ_1ton_share_detail integer height = 2048 string title = "其他收款单" event ue_update_cust ( ) 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 ( ) ddlb_status ddlb_status ddlb_scid ddlb_scid st_3 st_3 st_2 st_2 cbx_1 cbx_1 cbx_2 cbx_2 cbx_3 cbx_3 end type global w_cusamt_other w_cusamt_other type variables uo_cusamt_other uo_take Int cur_flag = -1 int cur_secflag = -1 Int cur_confirmflag = -1 Long cur_scid int if_auto ,if_autodetail datastore ds_autodetail end variables forward prototypes public function integer wf_refresh_curuc (long arg_billid) public function integer wf_flagstatus_rf () public function integer wf_check_mx_amt (long arg_row, ref string arg_msg) public subroutine wf_autodetail () end prototypes event ue_update_cust();//用于选择明细内容,被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_cust_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_cust_edit,s_ch_tran) //调用 s_custom S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值 IF uo_take.uof_update_cust(ll_Baid,S_INSCUST.cusid,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(1649) 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(1650) 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_ttakeamt_add = 0 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_ttakeamt_add = 0 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 = 558 // 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 = 558 // 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(1651) 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(1652) 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(1653) 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(1654) 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 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 cuscode 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_cust.cuscode, 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_cust.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_cust.rep, u_accounts.bankstr, u_accounts.idcode, u_accounts.dscrp, u_accounts.accountrep INTO :scid, :cuscode, :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_cust ON u_Bmstamt.cusid = u_cust.cusid 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_cust_cuscode[uc_row] = cuscode 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_cust_name[uc_row] = name dw_pageretr.Object.u_cust_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 function integer wf_check_mx_amt (long arg_row, ref string arg_msg);Int rslt = 1 dw_child.AcceptText() IF dw_child.Object.ttakeamt[arg_row] < 0 THEN rslt = 0 arg_msg = '第' + String(arg_row) + '行本次收款金额小于0' GOTO ext END IF IF dw_child.Object.ttakeamt[arg_row] > dw_child.Object.untakeamt[arg_row] THEN rslt = 0 arg_msg = '第' + String(arg_row) + '行本次收款金额 大于 未收金额' GOTO ext END IF ext: RETURN rslt end function public subroutine wf_autodetail ();If Not dw_edit_mode Then Return Long child_row,i Long ll_cusid, ll_scid, ll_moneyid Dec ld_bmstamt,ld_total_take dw_uc.AcceptText() If dw_uc.GetRow() = 0 Then Return ll_scid = dw_uc.Object.scid[dw_uc.GetRow()] ll_cusid = dw_uc.Object.cusid[dw_uc.GetRow()] If IsNull(ll_cusid) Or ll_cusid = 0 Then This.TriggerEvent("ue_f9") ll_cusid = dw_uc.Object.cusid[dw_uc.GetRow()] If IsNull(ll_cusid) Or ll_cusid = 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 ld_bmstamt = dw_uc.Object.bmstamt[dw_uc.GetRow()] If IsNull(ld_bmstamt) Or ld_bmstamt = 0 Then MessageBox('提示','请填写金额', Information!, OK! ) Return End If If sys_option_scid_msttake_mstpay = 1 Then Else ll_scid = -1 End If Int li_flag = 0 ld_total_take = ld_bmstamt For child_row = 1 To dw_child.RowCount() If li_flag = 1 Then dw_child.Object.ttakeamt[child_row] = 0 Else If ld_total_take <= 0 Then Exit If ld_total_take > dw_child.Object.msttakeamt[child_row] - dw_child.Object.takeamt[child_row] Then dw_child.Object.ttakeamt[child_row] = dw_child.Object.msttakeamt[child_row] - dw_child.Object.takeamt[child_row] ld_total_take = ld_total_take - (dw_child.Object.msttakeamt[child_row] - dw_child.Object.takeamt[child_row]) Else dw_child.Object.ttakeamt[child_row] = ld_total_take ld_total_take = 0 li_flag = 1 End If End If Next If ld_total_take <= 0 Then Return child_row = dw_child.GetRow() Int ll_findrow = 0 ds_autodetail.Retrieve(ll_scid,ll_cusid) For i = 1 To ds_autodetail.RowCount() If ld_total_take <= 0 Then Exit ll_findrow = dw_child.Find("billcode='"+String(ds_autodetail.Object.billcode[i])+"'",1,dw_child.RowCount()) If ll_findrow > 0 Then Continue End If 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] = ds_autodetail.Object.billid[i] dw_child.Object.billcode [child_row] = ds_autodetail.Object.billcode[i] dw_child.Object.relcode[child_row] = ds_autodetail.Object.part[i] dw_child.Object.takedate[child_row] = ds_autodetail.Object.takedate[i] dw_child.Object.msttakeamt[child_row] = ds_autodetail.Object.msttakeamt[i] dw_child.Object.takeamt[child_row] = ds_autodetail.Object.takeamt[i] If ld_total_take > ds_autodetail.Object.msttakeamt[i] - ds_autodetail.Object.takeamt[i] Then dw_child.Object.ttakeamt[child_row] = ds_autodetail.Object.msttakeamt[i] - ds_autodetail.Object.takeamt[i] Else dw_child.Object.ttakeamt[child_row] = ld_total_take End If ld_total_take = ld_total_take - ds_autodetail.Object.msttakeamt[i] + ds_autodetail.Object.takeamt[i] Next dw_child.SetColumn('ttakeamt') dw_child.SetFocus() This.TriggerEvent('ue_allowedit') end subroutine on w_cusamt_other.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 this.cbx_2=create cbx_2 this.cbx_3=create cbx_3 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 this.Control[iCurrent+6]=this.cbx_2 this.Control[iCurrent+7]=this.cbx_3 end on on w_cusamt_other.destroy call super::destroy destroy(this.ddlb_status) destroy(this.ddlb_scid) destroy(this.st_3) destroy(this.st_2) destroy(this.cbx_1) destroy(this.cbx_2) destroy(this.cbx_3) 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_cusamt_other ds_autodetail = create datastore ds_autodetail.dataobject='ds_msttake_other' ds_autodetail.SetTransObject(sqlca) 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_option_outrep //业务员权限 IF sys_power_issuper THEN li_option_outrep = 0 ELSE li_option_outrep = sys_option_outrep END IF dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数 dw_pageretr.Retrieve(cur_scid,cur_flag,cur_secflag,cur_confirmflag,sys_option_msttake_cusarea,sys_areaid,sys_user_outrep, li_option_outrep) 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_cust_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_cust_cuscode[dw_uc.getrow()])) OPENwithparm(w_cust_edit,s_ch_tran) //调用 s_custom S_INSCUST S_INSCUST=Message.PowerObjectParm //接受返回结构 IF S_INSCUST.cusid>0 THEN //正常返回值则可以取以下值 dw_uc.setredraw(false) dw_uc.object.cusid[uc_row]=S_INSCUST.cusid dw_uc.object.u_cust_cuscode[uc_row]=S_INSCUST.cuscode dw_uc.object.u_cust_name[uc_row]=S_INSCUST.name dw_uc.object.u_Bmstamt_BaRep[uc_row]=S_INSCUST.bsntype dw_uc.object.u_cust_rep[uc_row]=S_INSCUST.rep dw_uc.setredraw(true) dw_uc.setcolumn("BaDate") END IF end if //if cbx_3.checked = true then wf_autodetail() 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(1873) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_cusamt_other' 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(1873) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_cusamt_other' 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; 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 = 4500 w_height = 2100 IF newwidth < w_width THEN THIS.Width = w_width IF newheight < w_height THEN THIS.Height = w_height //dw_child.Width = THIS.Width - (w_width - dw_child_w) IF uc_width > 0 THEN dw_uc.Width = uc_width END IF IF uc_height > 0 THEN dw_uc.Height = uc_height END IF dw_pageretr.X = dw_uc.X + dw_uc.Width dw_pageretr.Y = dw_uc.Y dw_pageretr.Width = THIS.Width - dw_pageretr.X - 40 dw_pageretr.Height = dw_uc.Height //dw_child.Y = dw_uc.Y + dw_uc.Height - 10 //dw_child.Width = THIS.Width - dw_child.X - 40 //dw_child.Height = THIS.Height - dw_child.Y - 100 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(1655) 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_cusid, ll_scid, ll_moneyid dw_uc.AcceptText() IF dw_uc.GetRow() = 0 THEN RETURN ll_scid = dw_uc.Object.scid[dw_uc.GetRow()] ll_cusid = dw_uc.Object.cusid[dw_uc.GetRow()] IF IsNull(ll_cusid) Or ll_cusid = 0 THEN This.TriggerEvent("ue_f9") ll_cusid = dw_uc.Object.cusid[dw_uc.GetRow()] IF IsNull(ll_cusid) Or ll_cusid = 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_msttake_other_ch) THEN s_edit_index_tran s_tranf8 //传递参数使用 s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行 s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_tranf8.arg_pkid = ll_cusid //目标定位PKID (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = True //多选 s_tranf8.b_long = ll_scid //分部 s_tranf8.c_long = ll_cusid //客户 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_msttake_other_ch,s_tranf8) //调用 s_bmsttake_arr S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 To UpperBound(S_INSCUST.takeid) IF S_INSCUST.takeid[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.takeid[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.takedate[ls_j] dw_child.Object.msttakeamt[child_row] = S_INSCUST.msttakeamt[ls_j] dw_child.Object.takeamt[child_row] = S_INSCUST.takeamt[ls_j] dw_child.Object.ttakeamt[child_row] = S_INSCUST.msttakeamt[ls_j] - S_INSCUST.takeamt[ls_j] // dw_child.Object.zqamt[child_row] = S_INSCUST.zqamt[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_cusamt_other end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_cusamt_other end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_cusamt_other integer x = 197 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_cusamt_other integer x = 3378 integer width = 142 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_cusamt_other integer x = 3077 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_cusamt_other event dwnkey pbm_dwnkey integer x = 1829 integer width = 1719 integer height = 1656 string dataobject = "dw_cusamt_other_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_cusamt_other integer x = 14 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_cusamt_other integer x = 3520 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_cusamt_other integer width = 1819 integer height = 1656 string dataobject = "dw_cusamt_other_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_cust_cuscode' THEN String ls_code,ls_name,ls_custype Long ls_sptid dw_uc.AcceptText() ls_code = Upper(Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])) SELECT cusid, name,custype INTO :ls_sptid,:ls_name,:ls_custype FROM u_cust Where (cuscode = :ls_code); 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_cust_name[dw_uc.GetRow()] = ls_name dw_uc.Object.u_Bmstamt_BaRep[dw_uc.GetRow()] = ls_custype 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 //elseif dwo.name = 'bmstamt' then // if cbx_3.checked = true then wf_autodetail() 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 END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_cusamt_other 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_cusamt_other boolean visible = false integer y = 1960 integer width = 3131 integer height = 276 string title = "收款对单明细内容" string dataobject = "dw_cusamt_other_mx_edit" end type type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_cusamt_other end type type cb_print from w_publ_1ton_share_detail`cb_print within w_cusamt_other end type type cb_add from w_publ_1ton_share_detail`cb_add within w_cusamt_other end type event cb_add::clicked;IF Not f_power_ind(1866) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF String arg_msg = '' Long uc_row, i, ll_printid s_bmstamtmx s_mx dec{4} sumamt 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 // if cbx_3.checked = true then wf_autodetail() // // FOR i = 1 To dw_child.RowCount() // IF wf_check_mx_amt(i,arg_msg) = 0 THEN // MessageBox('提示',arg_msg) // // RETURN // END IF // NEXT 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 = 2 // FOR i = 1 To dw_child.RowCount() // IF dw_child.Object.takeid[i] > 0 and dw_child.Object.ttakeamt[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] // s_mx.takedate = dw_child.Object.takedate[i] // // sumamt = s_mx.ttakeamt +sumamt // // IF uo_take.acceptmx(s_mx,arg_msg) = 0 THEN // MessageBox('错误',arg_msg,stopsign!,ok!) // RETURN // END IF // END IF // NEXT // // if sumamt<>uo_take.Bmstamt then // IF MessageBox ("询问","主表金额不等于明细金额汇总,是否继续保存?",Question!,YesNo! ) = 2 THEN // RETURN // END IF // end if 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_cusamt_other end type event cb_edit::clicked;IF NOT f_power_ind(1867) 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_cusamt_other end type event cb_delet::clicked;call super::clicked;IF Not f_power_ind(1868) 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_cusamt_other 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_cust" menustr=menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=确认~tEvent=ue_confirm" menustr = menustr + "|" + "Text=反确认~tEvent=ue_confirm_cancel" 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 += "|" + "Text=-" menustr += "|" + "Text=查看附件~tEvent=ue_fj_view" menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit" 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_cusamt_other 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(1869) 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(1871) 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_cusamt_other 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_cusamt_other end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_cusamt_other end type type cb_help from w_publ_1ton_share_detail`cb_help within w_cusamt_other end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_cusamt_other integer x = 1024 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(1870) 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(1872) 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_cusamt_other end type type p_help from w_publ_1ton_share_detail`p_help within w_cusamt_other end type type p_encl from w_publ_1ton_share_detail`p_encl within w_cusamt_other end type type p_other from w_publ_1ton_share_detail`p_other within w_cusamt_other end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_cusamt_other end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_cusamt_other integer beginx = 9 integer endx = 3209 end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_cusamt_other end type type r_bar from w_publ_1ton_share_detail`r_bar within w_cusamt_other integer x = 2935 integer height = 148 end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_cusamt_other end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_cusamt_other end type type ddlb_status from dropdownlistbox within w_cusamt_other 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_cusamt_other 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_cusamt_other 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_cusamt_other 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_cusamt_other integer x = 2071 integer y = 200 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 type cbx_2 from checkbox within w_cusamt_other boolean visible = false integer x = 2277 integer y = 200 integer width = 905 integer height = 56 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 = "保存时根据明细自动计算单据金额" boolean checked = true end type event constructor;if_auto=integer(f_ProfileString (sys_empid, 'w_cusamt_other', "if_auto", '1')) if if_auto=0 then this.checked=false else this.checked=true cbx_3.checked = false if_autodetail = 0 end if end event event clicked;if this.checked then if_auto=1 cbx_3.checked = false if_autodetail = 0 else if_auto=0 end if f_SetProfileString (sys_empid, 'w_cusamt_other', "if_auto", string(if_auto)) f_SetProfileString (sys_empid, 'w_cusamt_other', "if_autodetail", string(if_autodetail)) end event type cbx_3 from checkbox within w_cusamt_other boolean visible = false integer x = 3186 integer y = 200 integer width = 905 integer height = 56 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;// if this.checked then cbx_2.checked = false if_auto= 0 if_autodetail=1 else if_autodetail=0 end if f_SetProfileString (sys_empid, 'w_cusamt_other', "if_autodetail", string(if_autodetail)) f_SetProfileString (sys_empid, 'w_cusamt_other', "if_auto", string(if_auto)) end event event constructor;if_autodetail=integer(f_ProfileString (sys_empid, 'w_cusamt_other', "if_autodetail", '1')) if if_autodetail=0 then this.checked=false else this.checked=true cbx_2.checked = false if_auto = 0 end if end event