$PBExportHeader$w_buytask.srw forward global type w_buytask from w_publ_1ton_share_detail end type type ddlb_scid from uo_ddlb_scid within w_buytask end type type st_2 from statictext within w_buytask end type type st_3 from statictext within w_buytask end type type ddlb_status from uo_ddlb_status within w_buytask end type type cbx_enamt_edit from checkbox within w_buytask end type type cbx_enamt_notax_edit from checkbox within w_buytask end type end forward global type w_buytask from w_publ_1ton_share_detail integer width = 4261 integer height = 2428 string title = "采购订单" boolean maxbox = true windowstate windowstate = maximized! long ls_powerid = 23779088 boolean if_chkmtrlinfo = true event insert_childrow ( ) event ue_copy ( ) event ue_paste ( ) event ue_stopmx ( ) event ue_cstopmx ( ) event ue_tempstoptask ( ) event ue_ctempstoptask ( ) event ue_cstopsaletask ( ) event ue_finishtask ( ) event ue_cfinishtask ( ) event ue_fj_edit ( ) event ue_fj_view ( ) event ue_cpml_qty ( ) event ue_cmpl_status_qty ( ) event ue_p_cmpl_qty ( ) event ue_cmpl_qty ( ) event ue_p_formula_set ( ) event ue_p_requiredate_set ( ) event ue_p_uprice_set ( ) event ue_sendemail ( ) event ue_send_ljfieb ( ) event ue_ch_banktype ( ) event ue_ch_money ( ) event ue_buytask_jd_ljfieb ( ) event ue_add_dscrp ( ) event ue_p_tax ( ) event ue_show_price_remind ( ) event ue_fj_mx_add ( ) event ue_fj_view_mx ( ) event ue_fj_mx_add_p ( ) event ue_fj_edit_mx ( ) event ue_stopsaletask ( ) event ue_create_inware_buy ( ) event ue_create_taskdamt ( ) event retrieve_fjnum ( ) event ue_cmpl_tax ( ) event ue_buytask_mod ( ) event ue_p_cmpl_price ( ) event ue_cmpl_price ( ) event ue_his ( ) event ue_p_formula2_set ( ) event ue_view_mxdscrp ( ) event ue_view_mxdscrp3 ( ) event ue_view_mxdscrp4 ( ) event ue_view_mxdscrp2 ( ) event ue_get_maxprice ( ) event ue_priceaudit ( ) event ue_cpriceaudit ( ) ddlb_scid ddlb_scid st_2 st_2 st_3 st_3 ddlb_status ddlb_status cbx_enamt_edit cbx_enamt_edit cbx_enamt_notax_edit cbx_enamt_notax_edit end type global w_buytask w_buytask type variables int cur_status=0 //当前查询订单状态// -1 所有 int cur_flag= -1 long cur_scid datastore ds_copy uo_buytask obj_task uo_spt_price uo_sptprice uo_ljfieb uo_fieb uov_price up int ii_enamt_edit = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑 long ii_enamt_notax_edit=0 //录入不含税单价 end variables forward prototypes public function integer wf_statusbtn_fc () public subroutine wf_autoaddmx (long arg_mtrlid[], decimal arg_qty[]) public function integer wf_refresh_curuc (long arg_scid, long arg_taskid) public function integer wf_copy (ref string arg_msg) public function integer wf_paste (ref string arg_msg) public subroutine wf_check_billfj () public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg) public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg) public subroutine wf_change_sptid (long arg_sptid) public function integer wf_get_price (long arg_row) public function integer wf_get_sptmtrlname (long arg_row) public function integer wf_autoaddmx_sale (s_saletask_ch s_saletask) public subroutine wf_cmpl_amt (long row) public function integer wf_autoaddmx_will_rq (s_buytaskmx_arr s_buy) public subroutine wf_enamt_facechg () public function integer wf_check_qtyandaddqty (ref string arg_msg) end prototypes event insert_childrow();long li_row li_row=dw_child.insertrow(0) dw_child.scrolltorow(li_row) dw_child.object.u_buytaskmx_iforder[li_row] = sys_option_autoyes if li_row > 1 then dw_child.accepttext() dw_child.object.u_buytaskmx_storageid[li_row] = dw_child.object.u_buytaskmx_storageid[1] end if dw_child.SetColumn ('u_buytaskmx_iforder') end event event ue_copy();string arg_msg='' if wf_copy(arg_msg) = 1 then messagebox('提示','复制成功', Information!, OK! ) else messagebox('提示',arg_msg, Information!, OK! ) end if end event event ue_paste();string arg_msg='' if wf_paste(arg_msg) = 1 then else messagebox('提示',arg_msg, Information!, OK! ) end if end event event ue_stopmx();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) RETURN END IF IF NOT f_power_ind(686) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF String arg_msg = '' Long childrow,uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标订单!', Information!, OK! ) RETURN END IF childrow = dw_child.GetRow() IF childrow <= 0 THEN MessageBox('提示','请选定当前明细物料!', Information!, OK! ) RETURN END IF IF MessageBox ("询问","是否确定要中止当前明细吗?",Question!,YesNo! ) = 2 THEN RETURN s_stopmx s_stop s_inputbox S_SREU S_SREU.Title = '请输入原因' S_SREU.OLD_TEXT = '' OpenWithParm(w_inputbox_stop,S_SREU) s_stop = Message.PowerObjectParm IF Trim(s_stop.stopreason) = '' OR IsNull(s_stop.stopreason) THEN MessageBox('提示','请输入中止原因!', Information!, OK! ) RETURN END IF Long ll_scid,ll_taskid,ll_printid String ls_mtrlcode ll_scid = dw_pageretr.Object.u_buytask_scid[uc_row] ll_taskid = dw_pageretr.Object.taskid[uc_row] ll_printid = dw_child.Object.u_buytaskmx_printid[childrow] ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[childrow] IF obj_task.stopmx(ll_scid,ll_taskid,ll_printid,ls_mtrlcode,1,s_stop.stopreason,s_stop.stopqty,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.taskid[uc_row] ls_code = dw_pageretr.Object.taskCODE[uc_row] f_setsysoplog('采购订单','采购订单明细中止,id:'+String(ls_id)+',单号:'+ls_code+',物料:'+ls_mtrlcode,arg_msg,TRUE) //-- MessageBox('提示','中止单据明细'+ls_mtrlcode+'成功!', Information!, OK! ) THIS.TriggerEvent("retrieve_childdw") IF obj_task.trycmplbuytask(ll_scid,ll_taskid,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE wf_refresh_curuc(ll_scid,ll_taskid) END IF END IF end event event ue_cstopmx();IF Not f_power_ind(686) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF IF dw_edit_mode THEN RETURN IF Not KeyDown(KeyControl!) THEN IF MessageBox ("询问","是否确定要取消中止当前明细吗?",Question!,YesNo! ) = 2 THEN RETURN END IF String arg_msg = '' Long childrow,uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标订单!', Information!, OK! ) RETURN END IF childrow = dw_child.GetRow() IF childrow <= 0 THEN MessageBox('提示','请选定当前明细物料!', Information!, OK! ) RETURN END IF Long ll_scid,ll_taskid,ll_printid String ls_mtrlcode ll_scid = dw_pageretr.Object.u_buytask_scid[uc_row] ll_taskid = dw_pageretr.Object.taskid[uc_row] ll_printid = dw_child.Object.u_buytaskmx_printid[childrow] ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[childrow] IF obj_task.stopmx(ll_scid,ll_taskid,ll_printid,ls_mtrlcode,0,'',0,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.taskid[uc_row] ls_code = dw_pageretr.Object.taskCODE[uc_row] f_setsysoplog('采购订单','采购订单明细取消中止,id:'+String(ls_id)+',单号:'+ls_code+',物料:'+ls_mtrlcode,arg_msg,True) //-- MessageBox('提示','取消中止单据明细'+ls_mtrlcode+'成功!', Information!, OK! ) This.TriggerEvent("retrieve_childdw") END IF end event event ue_tempstoptask();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) return END IF if not f_power_ind(97) then messagebox(publ_operator,sys_msg_pow, Information!, OK! ) return end if string arg_msg='' long pagerert_row pagerert_row=dw_uc.getrow() if pagerert_row<=0 then messagebox('提示','请选定当前目标订单!', Information!, OK! ) return end if IF MessageBox ("询问","是否确定要对当前订单作暂停操作吗?",Question!,YesNo! ) = 2 THEN RETURN if obj_task.tempstoptask(dw_uc.object.u_buytask_scid[pagerert_row],dw_uc.object.taskid[pagerert_row],arg_msg,true)=0 then messagebox('Error!',arg_msg) ELSE messagebox('提示',"订单作暂停操作成功!", Information!, OK! ) if cur_status <> -1 then dw_uc.deleterow(pagerert_row) else wf_refresh_curuc(dw_uc.object.u_buytask_scid[pagerert_row],dw_uc.object.taskid[pagerert_row]) end if end if end event event ue_ctempstoptask();if not f_power_ind(97) then messagebox('提示',sys_msg_pow, 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 obj_task.tempstoptask(dw_pageretr.object.u_buytask_scid[pagerert_row],dw_pageretr.object.taskid[pagerert_row],arg_msg,true)=0 then messagebox('Error!',arg_msg) ELSE messagebox('提示',"订单作取消暂停操作成功!", Information!, OK! ) if cur_status <> -1 then dw_pageretr.deleterow(pagerert_row) else wf_refresh_curuc(dw_pageretr.object.u_buytask_scid[pagerert_row],dw_pageretr.object.taskid[pagerert_row]) end if end if end event event ue_cstopsaletask();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) RETURN END IF IF NOT f_power_ind(98) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF 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 obj_task.cstopbuytask(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox('提示','订单取消终止操作成功!', Information!, OK! ) // String ls_taskcode // ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()] // IF f_billevent_trigger (401, 6, ls_taskcode, arg_msg) = 0 THEN // MessageBox('Error',arg_msg) // END IF IF cur_status <> -1 THEN dw_pageretr.DeleteRow(pagerert_row) ELSE wf_refresh_curuc(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row]) END IF END IF end event event ue_finishtask();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) RETURN END IF IF Not f_power_ind(98) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF 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 Long ls_taskid Int ls_status,ls_finishflag ls_taskid = dw_pageretr.Object.taskid[pagerert_row] ls_status = dw_pageretr.Object.u_buytask_status[pagerert_row] IF ls_status = 6 THEN ls_finishflag = 1 ELSE ls_finishflag = 6 END IF IF obj_task.finishtask(ls_finishflag,dw_pageretr.Object.u_buytask_scid[pagerert_row],ls_taskid,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox('提示','采购订单完成操作成功!', Information!, OK! ) String ls_taskcode ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()] IF f_billevent_trigger (401, 5, ls_taskcode, arg_msg) = 0 THEN MessageBox('Error',arg_msg) END IF IF cur_status <> -1 THEN dw_pageretr.DeleteRow(pagerert_row) ELSE wf_refresh_curuc(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row]) END IF END IF end event event ue_cfinishtask();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) return END IF IF NOT f_power_ind(98) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF 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 Long ls_taskid Int ls_status,ls_finishflag ls_taskid = dw_pageretr.Object.taskid[pagerert_row] ls_status = dw_pageretr.Object.u_buytask_status[pagerert_row] IF ls_status = 6 THEN ls_finishflag = 1 ELSE ls_finishflag = 6 END IF IF obj_task.finishtask(ls_finishflag,dw_pageretr.Object.u_buytask_scid[pagerert_row],ls_taskid,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox('提示','采购订单完成操作成功!', Information!, OK! ) IF cur_status <> -1 THEN dw_pageretr.DeleteRow(pagerert_row) ELSE wf_refresh_curuc(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row]) END IF END IF end event event ue_fj_edit();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用', Information!, OK! ) RETURN END IF //IF NOT f_power_ind(1446) 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 = 401 //采购订单的mainID s_pic.f_string = dw_pageretr.Object.taskcode[ls_row] s_pic.g_long = dw_pageretr.Object.taskid[ls_row] s_pic.e_long = dw_pageretr.Object.u_buytask_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) //wf_check_billfj() 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 = 401 //采购订单的mainID s_pic.f_string = dw_pageretr.Object.taskcode[ls_row] s_pic.g_long = dw_pageretr.Object.taskid[ls_row] s_pic.e_long = dw_pageretr.Object.u_buytask_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event event ue_cpml_qty();String ls_rate,ls_status,ls_qty[] Decimal ll_rate,ll_qty[],ld_qty = 1 Long i,j,k Long ll_cmp1,ll_cmp2 dw_child.AcceptText() s_changerate s_rate IF dw_edit_mode THEN Open(w_changerate_ch) // ls_rate = message.stringparm // ll_rate = dec(ls_rate) s_rate = Message.PowerObjectParm ll_rate = Dec(s_rate.rate) ll_cmp1 = s_rate.cmp1 ll_cmp2 = s_rate.cmp2 IF ll_rate <= 0 THEN RETURN IF dw_child.RowCount() <= 0 THEN RETURN FOR i = 1 TO dw_child.RowCount() IF ll_cmp1 = 1 THEN IF IsNull(dw_child.Object.u_buytaskmx_status[i]) THEN CONTINUE ELSE ls_status = dw_child.Object.u_buytaskmx_status[i] END IF ELSEIF ll_cmp1 = 2 THEN IF IsNull(dw_child.Object.u_buytaskmx_woodcode[i]) THEN CONTINUE ELSE ls_status = dw_child.Object.u_buytaskmx_woodcode[i] END IF ELSE IF IsNull(dw_child.Object.u_buytaskmx_pcode[i]) THEN CONTINUE ELSE ls_status = dw_child.Object.u_buytaskmx_pcode[i] END IF END IF IF ll_cmp2 = 1 THEN IF dw_child.Object.u_buytaskmx_addqty[i] = 0 THEN ELSE ls_status = ls_status + '*' + String(dw_child.Object.u_buytaskmx_addqty[i]) END IF END IF IF IsNull(ls_status) THEN CONTINUE ELSE // ls_status = dw_child.object.u_buytaskmx_status[i] IF Pos(ls_status,'*') = 0 THEN CONTINUE ELSE j = 0 DO WHILE Pos(ls_status,'*') > 0 j++ ls_qty[j] = Mid(ls_status,1,Pos(ls_status,'*') - 1) ls_status = Mid(ls_status,Pos(ls_status,'*') + 1) LOOP j++ ls_qty[j] = ls_status END IF ld_qty = 1 FOR k = 1 TO j ld_qty = ld_qty * Dec(ls_qty[k]) NEXT dw_child.Object.u_buytaskmx_uqty[i] = Round(ld_qty / ll_rate,10) END IF NEXT END IF end event event ue_cmpl_status_qty();Int ll_flag Decimal ll_value Long ll_num Long i,j,k String ls_mtrlmode String ls_status Decimal ld_qty Decimal ld_addqty String ls_msg Long ll_type s_cmpl_addqty s_cmpl dw_child.AcceptText() dw_uc.SetRedraw(FALSE) IF dw_edit_mode THEN Open(w_cmpl_status_qty_ch) s_cmpl = Message.PowerObjectParm ll_flag = s_cmpl.flag ll_value = s_cmpl.addvalue ll_num = s_cmpl.num ll_type = s_cmpl.cmptype IF ll_value <= 0 THEN RETURN IF dw_child.RowCount() <= 0 THEN RETURN FOR i = 1 TO dw_child.RowCount() ld_addqty = dw_child.Object.u_buytaskmx_addqty[i] CHOOSE CASE ll_type CASE 0 ls_status = dw_child.Object.u_buytaskmx_status[i] CASE 1 ls_status = dw_child.Object.u_buytaskmx_woodcode[i] CASE 2 ls_status = dw_child.Object.u_buytaskmx_pcode[i] CASE 3 ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i] CASE 4 ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i] END CHOOSE IF ld_addqty = 0 OR ls_status = '' THEN ELSE ld_qty = 0 IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN MessageBox('提示',ls_msg, Information!, OK! ) GOTO ext END IF IF ll_flag = 0 THEN dw_child.Object.u_buytaskmx_uqty[i] = Round(ld_qty * ll_value,ll_num) ELSE dw_child.Object.u_buytaskmx_uqty[i] = Round(ld_qty / ll_value,ll_num) END IF END IF NEXT END IF ext: dw_uc.SetRedraw(TRUE) end event event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN Long i String ls_formula String ls_msg String ls_rs String ls_num Decimal ld_addqty Decimal ld_price Decimal ld_rebate Decimal ld_qty dw_child.AcceptText() s_cmpl_qty s_cmpl Open(w_cmpl_qty_ch_son) s_cmpl = Message.PowerObjectParm IF s_cmpl.retu = 0 THEN RETURN dw_uc.SetRedraw(FALSE) FOR i = 1 TO dw_child.RowCount() ld_qty = 0 IF dw_child.Object.u_buytaskmx_formula[i] <> '' THEN s_cmpl.formula = dw_child.Object.u_buytaskmx_formula[i] s_cmpl.addqty = dw_child.Object.u_buytaskmx_addqty[i] s_cmpl.price = dw_child.Object.u_buytaskmx_uprice[i] s_cmpl.rebate = dw_child.Object.u_buytaskmx_rebate[i] s_cmpl.status = dw_child.Object.u_buytaskmx_status[i] s_cmpl.woodcode = dw_child.Object.u_buytaskmx_woodcode[i] s_cmpl.pcode = dw_child.Object.u_buytaskmx_pcode[i] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i] IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! ) GOTO ext END IF dw_child.Object.u_buytaskmx_uqty[i] = ld_qty END IF NEXT ext: dw_child.SetColumn('u_buytaskmx_uqty') dw_uc.SetRedraw(TRUE) end event event ue_cmpl_qty(); IF not dw_edit_mode THEN RETURN IF dw_child.GetRow() = 0 THEN RETURN Long child_row dw_child.AcceptText() child_row = dw_child.GetRow() s_cmpl_qty s_cmpl,s_return s_cmpl.qty = dw_child.Object.u_buytaskmx_uqty[child_row] s_cmpl.formula = dw_child.Object.u_buytaskmx_formula[child_row] s_cmpl.addqty = dw_child.Object.u_buytaskmx_addqty[child_row] s_cmpl.price = dw_child.Object.u_buytaskmx_uprice[child_row] s_cmpl.rebate = dw_child.Object.u_buytaskmx_rebate[child_row] s_cmpl.status = dw_child.Object.u_buytaskmx_status[child_row] s_cmpl.woodcode = dw_child.Object.u_buytaskmx_woodcode[child_row] s_cmpl.pcode = dw_child.Object.u_buytaskmx_pcode[child_row] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row] IF NOT IsValid(w_cmpl_qty_ch) THEN OpenWithParm(w_cmpl_qty_ch,s_cmpl) s_return = Message.PowerObjectParm IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN dw_child.Object.u_buytaskmx_uqty[child_row] = s_return.qty dw_child.Object.u_buytaskmx_formula[child_row] = s_return.formula END IF END IF end event event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定数量公式', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_buytaskmx_formula[ll_i] = dw_child.Object.u_buytaskmx_formula[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_requiredate_set();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定交货期', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 2 TO dw_child.RowCount() //IF ll_i = 1 THEN CONTINUE dw_child.Object.u_buytaskmx_requiredate[ll_i] = dw_child.Object.u_buytaskmx_requiredate[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_uprice_set();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定单价', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 2 TO dw_child.RowCount() //IF ll_i = 1 THEN CONTINUE dw_child.Object.u_buytaskmx_uprice[ll_i] = dw_child.Object.u_buytaskmx_uprice[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_sendemail();f_run_outlook('','','') end event event ue_send_ljfieb;IF dw_edit_mode THEN RETURN IF sys_email_sqlca.DBHandle() = 0 THEN MessageBox('Error','电子商务数据库连接失败,请检查') RETURN END IF IF MessageBox('询问','是否确认要发送单据给供应商?',question!,yesno!) = 2 THEN RETURN Long ll_scid,ll_taskid String ls_taskcode Long ll_row Int li_ifecomm String arg_summary,arg_postscript,arg_remark String arg_msg ll_row = dw_pageretr.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择要发送的单据') RETURN END IF ll_scid = dw_pageretr.Object.u_buytask_scid[ll_row] ll_taskid = dw_pageretr.Object.taskid[ll_row] ls_taskcode = dw_pageretr.Object.taskcode[ll_row] SELECT u_spt.ifecomm INTO :li_ifecomm FROM u_buyTask INNER JOIN u_spt ON u_buyTask.sptID = u_spt.sptid WHERE u_buyTask.scid = :ll_scid And u_buyTask.taskid = :ll_taskid Using sqlca; IF sqlca.SQLCode <> 0 THEN MessageBox('Error','查询采购订单相关供应商通信信息失败,请检查设置,'+sqlca.SQLErrText) RETURN END IF IF li_ifecomm = 0 THEN MessageBox('系统提示','供应商没有使用电子商务,不能发送单据') RETURN END IF s_packet_ljfieb s_pack,s_return s_pack.summary = '发送采购订单:'+ls_taskcode OpenWithParm(w_dscrp_edit_ljfieb,s_pack) s_return = Message.PowerObjectParm IF s_return.returnflag <> 1 THEN RETURN arg_summary = s_return.summary arg_postscript = s_return.postscript arg_remark = s_return.remark IF uo_fieb.send_buytask(ll_scid,ll_taskid,arg_summary,arg_postscript,arg_remark,arg_msg,True) = 0 THEN MessageBox('Erorr',arg_msg) RETURN END IF UPDATE u_buyTask SET senduser = :publ_operator, sendtime = getdate(), sendcnt = sendcnt + 1 WHERE taskid = :ll_taskid And scid = :ll_scid Using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK Using sqlca; MessageBox('Error','更新发送次数失败,'+sqlca.SQLErrText) RETURN ELSE COMMIT Using sqlca; END IF wf_refresh_curuc(ll_scid,ll_taskid) MessageBox('系统提示','提交成功!') end event event ue_ch_banktype();IF NOT IsValid(w_banktype_edit_ch) THEN s_edit_index_tran s_open //传递参数使用 s_open.work_mode = 1 s_open.c_long = 1 Openwithparm(w_banktype_edit_ch, s_open) s_banktype s_ch s_ch = Message.PowerObjectParm IF s_ch.banktypeid > 0 THEN dw_uc.Object.u_buytask_banktypeid[dw_uc.GetRow()] = s_ch.banktypeid END IF datawindowchild childdw dw_uc.GetChild("u_buytask_banktypeid",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF end event event ue_ch_money();IF NOT IsValid(w_currency_edit_ch) THEN Open(w_currency_edit_ch) s_currency s_ch s_ch = Message.PowerObjectParm IF s_ch.moneyid > 0 THEN dw_uc.Object.u_buytask_moneyid[dw_uc.GetRow()] = s_ch.moneyid dw_uc.Object.u_buytask_mrate[dw_uc.GetRow()] = s_ch.rate END IF datawindowchild childdw dw_uc.GetChild("u_buytask_moneyid",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF end event event ue_buytask_jd_ljfieb();long ll_row ll_row = dw_pageretr.getrow() if ll_row <= 0 then return string ls_taskcode ls_taskcode = dw_pageretr.object.taskcode[ll_row] openwithparm(w_buytask_jd_index,ls_taskcode) end event event ue_add_dscrp();s_view_dscrp s_view,s_return String ls_dscrp dw_uc.AcceptText() ls_dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()] s_view.Title = '采购订单备注' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_uc.Object.dscrp[dw_uc.GetRow()] = s_return.dscrp END IF end event event ue_p_tax();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定税率', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 2 TO dw_child.RowCount() //IF ll_i = 1 THEN CONTINUE dw_child.Object.u_buytaskmx_tax[ll_i] = dw_child.Object.u_buytaskmx_tax[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_show_price_remind();Long ll_row, ll_x, ll_y ll_row = dw_child.GetRow() if ll_row <= 0 then return Long ll_mtrlid decimal lde_price ll_mtrlid = dw_child.Object.mtrlid[ll_row] lde_price = dw_child.Object.u_buytaskmx_uprice[ll_row] ll_x = this.PointerX ( ) //+ this.pointerx() if ll_x + 1760 > this.width then ll_x = this.width - 1760 end if ll_y = this.PointerY ( ) //+ this.pointery() if ll_y + 352 > this.height then ll_x = this.height - 352 end if this.OpenUserObject(up, ll_x, ll_y) up.BringToTop = True up.SetMtrlid(ll_mtrlid) up.SetPrice(lde_price) up.parentwin = this up.TriggerEvent( 'ue_retrieve') end event event ue_fj_mx_add();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用') RETURN END IF //IF NOT f_power_ind(1446,sys_msg_pow) 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) RETURN END IF s_pic.g_long = dw_pageretr.Object.taskid[ls_row] s_pic.e_long = dw_pageretr.Object.u_buytask_scid[ls_row] s_pic.f_string = dw_pageretr.Object.taskcode[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_buytaskmx_fileadd,s_pic) end event event ue_fj_view_mx();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用') RETURN END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row,ll_mxrow ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF ll_mxrow = dw_child.GetRow() IF ll_mxrow <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg) RETURN END IF s_pic.f_long = 9401 //采购订单明细 s_pic.f_string = dw_pageretr.Object.taskcode[ls_row] s_pic.g_long = dw_pageretr.Object.taskid[ls_row] s_pic.e_long = dw_pageretr.Object.u_buytask_scid[ls_row] s_pic.d_long = dw_child.Object.u_buytaskmx_printid[ll_mxrow] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event event ue_fj_mx_add_p();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用') RETURN END IF //IF NOT f_power_ind(1446,sys_msg_pow) 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) RETURN END IF s_pic.g_long = dw_pageretr.Object.taskid[ls_row] s_pic.e_long = dw_pageretr.Object.u_buytask_scid[ls_row] s_pic.f_string = dw_pageretr.Object.taskcode[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_buytaskmx_fileadd_p,s_pic) end event event ue_fj_edit_mx();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用') RETURN END IF //IF NOT f_power_ind(1446,sys_msg_pow) 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,ll_mxrow ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF ll_mxrow = dw_child.GetRow() IF ll_mxrow <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg) RETURN END IF s_pic.f_long = 9401 //采购订单明细 s_pic.f_string = dw_pageretr.Object.taskcode[ls_row] s_pic.g_long = dw_pageretr.Object.taskid[ls_row] s_pic.e_long = dw_pageretr.Object.u_buytask_scid[ls_row] s_pic.d_long = dw_child.Object.u_buytaskmx_printid[ll_mxrow] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) end event event ue_stopsaletask();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) RETURN END IF IF NOT f_power_ind(98) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF 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 obj_task.stopbuytask(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox('提示','订单终止操作成功!', Information!, OK! ) String ls_taskcode ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()] IF f_billevent_trigger (401, 6, ls_taskcode, arg_msg) = 0 THEN MessageBox('Error',arg_msg) END IF IF cur_status <> -1 THEN dw_pageretr.DeleteRow(pagerert_row) ELSE wf_refresh_curuc(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row]) END IF END IF end event event ue_create_inware_buy();IF Not (f_power_ind(99) Or f_power_ind(372)) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF Long ll_storageid,ll_sptid,ll_banktypeid,ll_moneyid,ll_billtype Decimal dec_mrate String ls_sptcode,ls_sptname,ls_taskcode Long ll_scid,ll_row IF sys_option_hide_ware = 0 THEN Open(w_order_ml_storage) ll_storageid = Message.DoubleParm IF ll_storageid = 0 THEN RETURN ELSE ll_storageid = 11 END IF dw_pageretr.AcceptText() ll_row = dw_pageretr.GetRow() ll_scid = dw_pageretr.Object.u_buytask_scid[ll_row] ll_sptid = Long(dw_pageretr.Object.sptid[ll_row]) ls_sptcode = String(dw_pageretr.Object.sptcode[ll_row]) ls_sptname = String(dw_pageretr.Object.u_spt_name[ll_row]) ll_banktypeid = Long(dw_pageretr.Object.u_buytask_banktypeid[ll_row]) ll_moneyid = Long(dw_pageretr.Object.u_buytask_moneyid[ll_row]) dec_mrate = Dec(dw_pageretr.Object.u_buytask_mrate[ll_row]) ls_taskcode = dw_pageretr.Object.taskcode[ll_row] ll_billtype = dw_pageretr.Object.u_buytask_billtype[ll_row] IF ll_row <= 0 THEN MessageBox('系统提示','请选定当前目标订单!',Information!,OK!) RETURN END IF IF Not (dw_pageretr.Object.u_buytask_status[ll_row] = 1 ) THEN MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!) RETURN END IF s_edit_index_tran s_open Long uc_row_inwarebuy IF Not IsValid(w_inware_buy) THEN OpenWithParm(w_inware_buy,s_open) w_inware_buy.ddlb_scid.uf_selectsc(ll_scid) w_inware_buy.cb_add.TriggerEvent(Clicked!) uc_row_inwarebuy = w_inware_buy.dw_uc.GetRow() w_inware_buy.dw_uc.Object.storageid[uc_row_inwarebuy] = ll_storageid w_inware_buy.dw_uc.Object.sptid[uc_row_inwarebuy] = ll_sptid w_inware_buy.dw_uc.Object.u_spt_sptcode[uc_row_inwarebuy] = ls_sptcode w_inware_buy.dw_uc.Object.u_spt_name[uc_row_inwarebuy] = ls_sptname w_inware_buy.dw_uc.Object.u_inware_relint_3[uc_row_inwarebuy] = ll_moneyid w_inware_buy.dw_uc.Object.u_inware_mrate[uc_row_inwarebuy] = dec_mrate w_inware_buy.dw_uc.Object.u_inware_relint_1[uc_row_inwarebuy] = ll_banktypeid w_inware_buy.dw_uc.Object.inrep[uc_row_inwarebuy] = publ_operator s_mtrldef_buytask_array INS_RT_STRU Long ls_i,chC FOR ls_i = 1 To dw_child.RowCount() chC++ INS_RT_STRU.mtrlid[chC] = dw_child.Object.mtrlid[ls_i] INS_RT_STRU.mtrlname[chC] = dw_child.Object.mtrlname[ls_i] INS_RT_STRU.mtrlcode[chC] = dw_child.Object.u_mtrldef_mtrlcode[ls_i] INS_RT_STRU.mtrlmode[chC] = dw_child.Object.u_mtrldef_mtrlmode[ls_i] INS_RT_STRU.unit[chC] = dw_child.Object.u_mtrldef_unit[ls_i] INS_RT_STRU.mxunit[chC] = dw_child.Object.u_buytaskmx_unit[ls_i] INS_RT_STRU.planprice[chC] = 0 // dw_child.Object.u_mtrldef_planprice[ls_i] INS_RT_STRU.qty[chC] = dw_child.Object.u_buytaskmx_uqty[ls_i] - dw_child.Object.u_buytaskmx_stopqty[ls_i] - dw_child.Object.u_buytaskmx_consignedqty[ls_i] INS_RT_STRU.fprice[chC] = dw_child.Object.u_buytaskmx_fprice[ls_i] INS_RT_STRU.rebate[chC] = dw_child.Object.u_buytaskmx_rebate[ls_i] INS_RT_STRU.uqty[chC] = dw_child.Object.u_buytaskmx_uqty[ls_i] - dw_child.Object.u_buytaskmx_stopqty[ls_i] - dw_child.Object.u_buytaskmx_consignedqty[ls_i] INS_RT_STRU.addqty[chC] = dw_child.Object.u_buytaskmx_addqty[ls_i] - dw_child.Object.u_buytaskmx_consignedaddqty[ls_i] INS_RT_STRU.uprice[chC] = dw_child.Object.u_buytaskmx_uprice[ls_i] INS_RT_STRU.rate[chC] = dw_child.Object.u_buytaskmx_rate[ls_i] INS_RT_STRU.buytaskid[chC] = dw_child.Object.u_buytaskmx_taskid [ls_i] INS_RT_STRU.printid[chC] = dw_child.Object.u_buytaskmx_printid[ls_i] INS_RT_STRU.buytaskcode[chC] = ls_taskcode INS_RT_STRU.status[chC] = dw_child.Object.u_buytaskmx_status[ls_i] INS_RT_STRU.woodcode[chC] = dw_child.Object.u_buytaskmx_woodcode[ls_i] INS_RT_STRU.pcode[chC] = dw_child.Object.u_buytaskmx_pcode[ls_i] INS_RT_STRU.orderid[chC] = dw_child.Object.u_buytaskmx_orderid[ls_i] INS_RT_STRU.banktypeid[chC] = ll_banktypeid INS_RT_STRU.dscrp[chC] = dw_child.Object.dscrp[ls_i] INS_RT_STRU.mtrlsectype[chC] = dw_child.Object.u_mtrldef_mtrlsectype[ls_i] INS_RT_STRU.mtrltype[chC] = dw_child.Object.u_mtrldef_mtrltype[ls_i] INS_RT_STRU.zxmtrlmode[chC] = dw_child.Object.u_mtrldef_zxmtrlmode[ls_i] INS_RT_STRU.relcode[chC] = '' INS_RT_STRU.sptmtrlname[chC] = dw_child.Object.u_buytaskmx_sptmtrlname[ls_i] INS_RT_STRU.tax[chC] = dw_child.Object.u_buytaskmx_tax[ls_i] INS_RT_STRU.plancode[chC] = dw_child.Object.u_buytaskmx_plancode[ls_i] INS_RT_STRU.dscrp2[chC] = dw_child.Object.u_buytaskmx_dscrp2[ls_i] INS_RT_STRU.dscrp3[chC] = dw_child.Object.u_buytaskmx_dscrp3[ls_i] INS_RT_STRU.dscrp4[chC] = dw_child.Object.u_buytaskmx_dscrp4[ls_i] INS_RT_STRU.billtype[chC] = ll_billtype IF ll_billtype = 1 THEN //成品采购的 INS_RT_STRU.cusid[chC] = dw_child.Object.u_saletask_cusid[ls_i] INS_RT_STRU.cuscode[chC] = dw_child.Object.u_cust_cuscode[ls_i] INS_RT_STRU.cusname[chC] = dw_child.Object.u_cust_name[ls_i] ELSE INS_RT_STRU.cusid[chC] = 0 INS_RT_STRU.cuscode[chC] = '' INS_RT_STRU.cusname[chC] = '' END IF NEXT w_inware_buy.wf_ue_f7(INS_RT_STRU) END IF end event event ue_create_taskdamt();//辅助生成采购订单收款单 //IF Not f_power_ind(1020) THEN // MessageBox('提示','你没有订单收款单的使用权限!', Information!, OK! ) // RETURN //END IF Long cnt String arg_msg Long i,j Long ll_scid, ll_taskid dw_pageretr.AcceptText() i = dw_pageretr.GetRow() IF i <= 0 THEN MessageBox('系统提示','请选定当前目标订单!',Information!,OK!) RETURN END IF IF (dw_pageretr.Object.u_buytask_status[i] = 0 ) THEN MessageBox('系统提示','当前选定订单未审核!',Information!,OK!) RETURN END IF ll_scid = dw_pageretr.Object.u_buytask_scid[i] ll_taskid = dw_pageretr.Object.taskid[i] s_edit_index_tran s_open IF Not IsValid( w_taskdamt_buy) THEN OpenWithParm( w_taskdamt_buy,s_open) w_taskdamt_buy.ddlb_scid.uf_selectsc(ll_scid) w_taskdamt_buy.cb_add.TriggerEvent(Clicked!) w_taskdamt_buy.wf_adduc_buytask(ll_scid, ll_taskid, arg_msg) END IF end event event retrieve_fjnum(); Long i,ls_filecount string arg_billcode dw_pageretr.SetRedraw(False) FOR i = 1 To dw_pageretr.RowCount() arg_billcode = dw_pageretr.Object.taskcode[i] ls_filecount = 0 SELECT count(*) INTO :ls_filecount FROM u_file WHERE relcode = :arg_billcode AND scid = 0 AND billtype =401 Using sys_filedb_sqlca; IF ls_filecount <> 0 then dw_pageretr.Object.fj_num[i] = String(ls_filecount) end if NEXT dw_pageretr.SetRedraw(true) end event event ue_cmpl_tax();If dw_child.GetRow() = 0 Then Return Long child_row child_row = dw_child.GetRow() Decimal lde_saleqty, lde_rebate ,lde_taxamt,lde_enprice,lde_enprice_notax lde_saleqty = dw_child.Object.u_buytaskmx_uqty[child_row] lde_rebate = dw_child.Object.u_buytaskmx_rebate[child_row] lde_enprice = dw_child.Object.u_buytaskmx_uprice[child_row] lde_enprice_notax = dw_child.Object.u_buytaskmx_uprice_notax[child_row] If lde_saleqty = 0 Then MessageBox('提示','请填写数量!') Return End If If lde_enprice = 0 And lde_enprice_notax = 0 Then MessageBox('提示','请填写含税单价或者不含税单价') Return End If If Not IsValid(w_ware_cmpl_taxamt) Then s_edit_index_tran s_tran_tax s_tran_tax.b_string = dw_child.Object.u_buytaskmx_unit[child_row] //单位 OpenWithParm(w_ware_cmpl_taxamt,s_tran_tax) s_edit_index_tran s_return s_return = Message.PowerObjectParm If Not IsNull(s_return) Then If s_return.b_decimal = 0 Then Return lde_taxamt = s_return.b_decimal dw_child.Object.u_buytaskmx_uamt_tax[child_row] = lde_taxamt * lde_saleqty //总税金 If lde_enprice <> 0 Then dw_child.Object.u_buytaskmx_uamt[child_row] = Round( lde_enprice * lde_rebate * lde_saleqty, 2) //总金额 // dw_child.Object.uamt_notax[child_row] = dw_child.Object.u_buytaskmx_uamt[child_row] - dw_child.Object.u_buytaskmx_uamt_tax[child_row] //不含税总金额 dw_child.Object.u_buytaskmx_uprice_notax[child_row] = lde_enprice - lde_taxamt //不含税单价 dw_child.Object.u_buytaskmx_tax[child_row] = lde_taxamt / (lde_enprice - lde_taxamt) //税率 elseif lde_enprice_notax <> 0 then // dw_child.Object.uamt_notax[child_row] = Round( lde_enprice_notax * lde_rebate * lde_saleqty, 2) //不含税总金额 dw_child.Object.u_buytaskmx_uamt[child_row] = dw_child.Object.uamt_notax[child_row] + dw_child.Object.u_buytaskmx_uamt_tax[child_row] //总金额 dw_child.Object.u_buytaskmx_uprice[child_row] = lde_enprice_notax + lde_taxamt //单价 dw_child.Object.u_buytaskmx_tax[child_row] = lde_taxamt / lde_enprice_notax //税率 End If End If End If end event event ue_buytask_mod();// long ll_row ll_row = dw_pageretr.getrow() IF dw_pageretr.object.u_buytask_status[ll_row] <> 1 THEN RETURN s_edit_index_tran s_mod s_mod.b_long = dw_pageretr.object.taskid[ll_row] s_mod.c_long = dw_pageretr.Object.u_buytask_scid[ll_row] OpenWithParm(w_buytaskmx_mod,s_mod) This.TriggerEvent("retrieve_childdw") end event event ue_p_cmpl_price();IF dw_child.RowCount() = 0 THEN RETURN Long i String ls_formula String ls_msg String ls_rs String ls_num Decimal ld_addqty Decimal ld_price Decimal ld_rebate Decimal ld_qty dw_child.AcceptText() s_cmpl_qty s_cmpl Open(w_cmpl_qty_ch_son) s_cmpl = Message.PowerObjectParm IF s_cmpl.retu = 0 THEN RETURN dw_uc.SetRedraw(FALSE) FOR i = 1 TO dw_child.RowCount() ld_qty = 0 IF dw_child.Object.u_buytaskmx_formula2[i] <> '' THEN s_cmpl.formula = dw_child.Object.u_buytaskmx_formula2[i] s_cmpl.addqty = dw_child.Object.u_buytaskmx_addqty[i] s_cmpl.price = dw_child.Object.u_buytaskmx_uprice[i] s_cmpl.rebate = dw_child.Object.u_buytaskmx_rebate[i] s_cmpl.status = dw_child.Object.u_buytaskmx_status[i] s_cmpl.woodcode = dw_child.Object.u_buytaskmx_woodcode[i] s_cmpl.pcode = dw_child.Object.u_buytaskmx_pcode[i] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i] IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! ) GOTO ext END IF dw_child.Object.u_buytaskmx_uprice[i] = ld_qty END IF NEXT ext: dw_child.SetColumn('u_buytaskmx_uqty') dw_uc.SetRedraw(TRUE) end event event ue_cmpl_price(); IF not dw_edit_mode THEN RETURN IF dw_child.GetRow() = 0 THEN RETURN Long child_row dw_child.AcceptText() child_row = dw_child.GetRow() s_cmpl_qty s_cmpl,s_return s_cmpl.qty = dw_child.Object.u_buytaskmx_uqty[child_row] s_cmpl.formula = dw_child.Object.u_buytaskmx_formula2[child_row] s_cmpl.addqty = dw_child.Object.u_buytaskmx_addqty[child_row] s_cmpl.price = dw_child.Object.u_buytaskmx_uprice[child_row] s_cmpl.rebate = dw_child.Object.u_buytaskmx_rebate[child_row] s_cmpl.status = dw_child.Object.u_buytaskmx_status[child_row] s_cmpl.woodcode = dw_child.Object.u_buytaskmx_woodcode[child_row] s_cmpl.pcode = dw_child.Object.u_buytaskmx_pcode[child_row] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row] IF NOT IsValid(w_cmpl_qty_ch) THEN OpenWithParm(w_cmpl_qty_ch,s_cmpl) s_return = Message.PowerObjectParm IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN dw_child.Object.u_buytaskmx_uprice[child_row] = s_return.qty dw_child.Object.u_buytaskmx_formula2[child_row] = s_return.formula END IF END IF end event event ue_his();IF NOT dw_edit_mode THEN RETURN Long child_row Long ll_sptid,ls_mtrlid Decimal ls_price,ls_rebate,lde_rate,ld_tax Int li_statusflag,li_woodcodeflag,li_pcodeflag String arg_msg String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode s_mtrldef_array arg_s_mtrldef child_row = dw_child.GetRow() dw_uc.accepttext() if dw_uc.GetRow() = 0 then return ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ll_sptid) OR ll_sptid = 0 THEN THIS.TriggerEvent("ue_f9") ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ll_sptid) OR ll_sptid = 0 THEN MessageBox('提示','请选择供应商', Information!, OK! ) RETURN END IF END IF IF NOT IsValid(w_buytask_mtrl_his_ch) THEN s_edit_index_tran s_tranf8 //传递参数使用 // s_tranf8.if_retrieve_all = FALSE //是否一次retrieve所有行 s_tranf8.if_retrieve_all = this.retrieve_all //是否一次retrieve所有行 s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_tranf8.arg_pkid = 0 //目标定位pkid (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = TRUE //多选 s_tranf8.b_long = 0 s_tranf8.d_long = ll_sptid Long ls_j OpenWithParm(w_buytask_mtrl_his_ch,s_tranf8) //调用 s_buytaskmx_arr s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[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 IF child_row > 1 THEN dw_child.AcceptText() dw_child.Object.u_buytaskmx_storageid[child_row] = dw_child.Object.u_buytaskmx_storageid[child_row - 1] END IF dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.qty[child_row] = 0 dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j] dw_child.Object.u_buytaskmx_status[child_row] = S_INSCUST.status[ls_j] dw_child.Object.u_buytaskmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] dw_child.Object.u_buytaskmx_pcode[child_row] = S_INSCUST.pcode[ls_j] dw_child.Object.u_buytaskmx_unit[child_row] = S_INSCUST.unit[ls_j] //dw_child.Object.u_buytaskmx_rate[child_row] = S_INSCUST.rate[ls_j] ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名 ls_mtrlid =S_INSCUST.mtrlid[ls_j] Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'') Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode From u_sptmtrlname Where mtrlid= :ls_mtrlid and sptid= :ll_sptid ; dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode IF f_find_tax(ll_sptid,'u_spt',ld_tax) = 0 then ld_tax = 0 ELSE dw_child.Object.u_buytaskmx_tax[child_row] = ld_tax END IF IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag dw_child.Object.u_buytaskmx_rebate[child_row] = S_INSCUST.rebate[ls_j] dw_child.Object.u_buytaskmx_uprice[child_row] = S_INSCUST.price[ls_j] //wf_get_price(child_row) wf_get_sptmtrlname(child_row) END IF NEXT END IF end event event ue_p_formula2_set();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定单价公式', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_buytaskmx_formula2[ll_i] = dw_child.Object.u_buytaskmx_formula2[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_view_mxdscrp();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.dscrp[dw_child.GetRow()] s_view.Title = '采购订单明细备注' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp_buy,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.Object.dscrp[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_view_mxdscrp3();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.u_buytaskmx_dscrp3[dw_child.GetRow()] s_view.Title = '采购订单明细备注3' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp_buy,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.Object.u_buytaskmx_dscrp3[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_view_mxdscrp4();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.u_buytaskmx_dscrp4[dw_child.GetRow()] s_view.Title = '采购订单明细备注4' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp_buy,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.Object.u_buytaskmx_dscrp4[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_view_mxdscrp2();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.u_buytaskmx_dscrp2[dw_child.GetRow()] s_view.Title = '采购订单明细备注2' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp_buy,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.Object.u_buytaskmx_dscrp2[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_get_maxprice();IF Not dw_edit_mode THEN RETURN dw_uc.AcceptText() IF dw_uc.GetRow() = 0 THEN RETURN long i ,ls_mtrlid , ls_sptid string ls_unit,ls_status,ls_woodcode,ls_pcode datetime ls_opdate,ls_opdatemax decimal ls_maxprice FOR i = 1 To dw_child.rowcount() ls_mtrlid = dw_child.Object.mtrlid[i] ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] ls_unit = dw_child.Object.u_buytaskmx_unit[i] ls_status = dw_child.Object.u_buytaskmx_status[i] ls_woodcode = dw_child.Object.u_buytaskmx_woodcode[i] ls_pcode = dw_child.Object.u_buytaskmx_pcode[i] IF dw_uc.Object.taskid[dw_uc.GetRow()] = 0 THEN ls_opdate = DateTime(Date(Today()),Time(Now())) ELSE ls_opdate = dw_uc.Object.opdate[dw_uc.GetRow()] END IF Select MAX(opdate)as opdate Into:ls_opdatemax from u_spt_price_MX where buildtype=0 and Opdate<=:ls_opdate and sptid=:ls_sptid and mtrlid=:ls_mtrlid and unit=:ls_unit and status=:ls_status and woodcode=:ls_woodcode and pcode=:ls_pcode group by sptid,mtrlid,status,unit,woodcode,pcode; IF sqlca.SQLCode <> 0 THEN ls_maxprice = 0 ELSE Select Top 1 price into :ls_maxprice from u_spt_price_MX where buildtype=0 and Opdate<=:ls_opdate and sptid=:ls_sptid and mtrlid=:ls_mtrlid and unit=:ls_unit and status=:ls_status and woodcode=:ls_woodcode and pcode=:ls_pcode and opdate = :ls_opdatemax; IF sqlca.SQLCode <> 0 THEN ls_maxprice = 0 END IF END IF dw_child.Object.maxprice[i] = ls_maxprice NEXT end event event ue_priceaudit();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) RETURN END IF String arg_msg Long pagerert_row String ls_taskcode pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF obj_task.priceaudit(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],True,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF MessageBox('提示','确认成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row]) end event event ue_cpriceaudit();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) RETURN END IF String arg_msg Long pagerert_row String ls_taskcode pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF obj_task.c_priceaudit(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],True,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF MessageBox('提示','反确认成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row]) end event public function integer wf_statusbtn_fc ();//wf_statusbtn_fc IF dw_edit_mode THEN cb_auditing_cancel.Enabled = FALSE cb_auditing.Enabled = FALSE RETURN 0 END IF Long ls_row,status ls_row = dw_pageretr.GetRow() IF NOT ls_row > 0 THEN cb_auditing_cancel.Enabled = FALSE cb_auditing.Enabled = FALSE RETURN 0 END IF status = dw_pageretr.Object.u_buytask_status[ls_row] CHOOSE CASE status CASE 0 cb_auditing_cancel.Enabled = FALSE cb_auditing.Enabled = TRUE CASE 1 cb_auditing_cancel.Enabled = TRUE cb_auditing.Enabled = FALSE CASE 2 cb_auditing_cancel.Enabled = FALSE cb_auditing.Enabled = FALSE CASE 3 cb_auditing_cancel.Enabled = FALSE cb_auditing.Enabled = FALSE CASE 4 cb_auditing_cancel.Enabled = FALSE cb_auditing.Enabled = FALSE CASE 5 cb_auditing_cancel.Enabled = FALSE cb_auditing.Enabled = FALSE CASE 6 cb_auditing_cancel.Enabled = FALSE cb_auditing.Enabled = FALSE CASE ELSE cb_auditing_cancel.Enabled = TRUE cb_auditing.Enabled = TRUE END CHOOSE RETURN 0 end function public subroutine wf_autoaddmx (long arg_mtrlid[], decimal arg_qty[]);Long p_rqmtrl,li Long child_row,ls_mtrlid String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode dw_child.Reset() p_rqmtrl = UpperBound(arg_mtrlid) FOR li = 1 To p_rqmtrl ls_mtrlcode = '' ls_mtrlname = '' ls_unit = '' ls_mtrlmode = '' ls_mtrlid = 0 SELECT u_mtrldef.mtrlcode, u_mtrldef.mtrlname, u_mtrldef.unit, u_mtrldef.mtrlmode, u_mtrldef.mtrlid INTO :ls_mtrlcode,:ls_mtrlname,:ls_unit,:ls_mtrlmode,:ls_mtrlid FROM u_mtrldef Where ( u_mtrldef.mtrlid = :arg_mtrlid[li]); IF sqlca.SQLCode = 0 THEN child_row = dw_child.InsertRow (0) dw_child.Object.mtrlid[child_row] = ls_mtrlid dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_child.Object.mtrlname[child_row] = ls_mtrlname dw_child.Object.qty[child_row] = arg_qty[li] dw_child.Object.u_buytaskmx_iforder[child_row] = 0 END IF NEXT end subroutine public function integer wf_refresh_curuc (long arg_scid, long arg_taskid);//wf_refresh_curuc Int rslt = 1 IF arg_taskid <= 0 OR IsNull(arg_taskid) THEN rslt = 0 GOTO ext END IF Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN rslt = 0 GOTO ext END IF Int Kind DateTime requiredate String assign_emp String dscrp String taskcode Long sptid DateTime accomplishdate Int status String operator String permit_emp DateTime opdate String last_emp String u_spt_name String sptcode String finishemp string modemp datetime moddate datetime permit_date long banktypeid string relcode string train long billtype decimal mrate long moneyid decimal mstpayamt, payamt, nopayamt string priceemp datetime pricedate long priceflag SELECT u_buytask.kind, u_buytask.requiredate, u_buytask.assign_emp, u_buytask.dscrp, u_buytask.taskcode, u_buytask.sptid, u_buytask.accomplishdate, u_buytask.status, u_buytask.opemp, u_buytask.permit_emp, u_buytask.opdate, u_spt.name, u_spt.sptcode, u_buytask.finishemp, u_buytask.modemp, u_buytask.moddate, u_buytask.permit_date, u_buytask.banktypeid, u_buytask.relcode, u_buytask.train, u_buytask.billtype, u_buytask.mrate, u_buytask.moneyid, u_buyTask.mstpayamt, u_buyTask.payamt, u_buyTask.mstpayamt - u_buyTask.payamt as nopayamt, u_buyTask.priceemp, u_buyTask.pricedate, u_buyTask.priceflag INTO :Kind, :requiredate, :assign_emp, :dscrp, :taskcode, :sptid, :accomplishdate, :status, :operator, :permit_emp, :opdate, :u_spt_name, :sptcode, :finishemp, :modemp, :moddate, :permit_date, :banktypeid, :relcode, :train, :billtype, :mrate, :moneyid , :mstpayamt, :payamt, :nopayamt, :priceemp, :pricedate, :priceflag FROM u_buytask left OUTER join u_spt on ( u_buytask.sptid = u_spt.sptid ) Where ( u_buytask.taskid = :arg_taskid ) AND scid = :cur_scid ; IF sqlca.SQLCode <> 0 THEN MessageBox('提示',"查询操作失败(错误订单唯一码)", Information!, OK! ) rslt = 0 GOTO ext END IF dw_pageretr.Object.u_buytask_scid[uc_row] = arg_scid dw_pageretr.Object.taskid[uc_row] = arg_taskid dw_pageretr.Object.Kind[uc_row] = Kind dw_pageretr.Object.requiredate[uc_row] = requiredate dw_pageretr.Object.assign_emp[uc_row] = assign_emp dw_pageretr.Object.dscrp[uc_row] = dscrp dw_pageretr.Object.taskcode[uc_row] = taskcode dw_pageretr.Object.sptid[uc_row] = sptid dw_pageretr.Object.accomplishdate[uc_row] = accomplishdate dw_pageretr.Object.u_buytask_status[uc_row] = status dw_pageretr.Object.u_buytask_opemp[uc_row] = operator dw_pageretr.Object.permit_emp[uc_row] = permit_emp dw_pageretr.Object.u_saletask_opdate[uc_row] = opdate dw_pageretr.Object.u_spt_name[uc_row] = u_spt_name dw_pageretr.Object.sptcode[uc_row] = sptcode dw_pageretr.Object.u_buytask_finishemp[uc_row] = finishemp dw_pageretr.Object.u_buytask_modemp[uc_row] = modemp dw_pageretr.Object.u_buytask_moddate[uc_row] = moddate dw_pageretr.Object.u_buytask_permit_date[uc_row] = permit_date dw_pageretr.Object.u_buytask_banktypeid[uc_row] = banktypeid dw_pageretr.Object.u_buytask_relcode[uc_row] = relcode dw_pageretr.Object.u_buytask_train[uc_row] = train dw_pageretr.Object.u_buytask_billtype[uc_row] = billtype dw_pageretr.Object.u_buytask_mrate[uc_row] = mrate dw_pageretr.Object.u_buytask_moneyid[uc_row] = moneyid dw_pageretr.Object.u_buytask_mstpayamt[uc_row] = mstpayamt dw_pageretr.Object.u_buytask_payamt[uc_row] = payamt dw_pageretr.Object.nopayamt[uc_row] = nopayamt dw_pageretr.Object.priceemp[uc_row] = priceemp dw_pageretr.Object.pricedate[uc_row] = pricedate dw_pageretr.Object.priceflag[uc_row] = priceflag dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) dw_uc.ResetUpdate() dw_uc.SetRedraw(TRUE) THIS.PostEvent('retrieve_childdw') ext: wf_statusbtn_fc() RETURN rslt end function public function integer wf_copy (ref string arg_msg);long rslt=1 long ll_rowcount ll_rowcount=dw_child.rowcount() if ll_rowcount<=0 then rslt=0 arg_msg='没有可复制的明细内容' goto ext end if ds_copy.reset() if dw_child.RowsCopy(1, ll_rowcount, Primary!, ds_copy, 1, Primary!)= - 1 then rslt=0 arg_msg='复制明细内容失败!' goto ext end if ds_copy.accepttext() ext: return rslt end function public function integer wf_paste (ref string arg_msg);Long rslt = 1 IF NOT dw_edit_mode THEN rslt = 0 arg_msg = '非编辑状态下不可粘贴' GOTO ext END IF Long ll_rowcount ll_rowcount = ds_copy.RowCount() IF ll_rowcount <= 0 THEN rslt = 0 arg_msg = '没有可粘贴的明细内容' GOTO ext END IF dw_child.Reset() Long ll_child_rowcount ll_child_rowcount = dw_child.RowCount() IF ds_copy.RowsCopy(1, ll_rowcount, Primary!, dw_child, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '粘贴明细内容失败!' GOTO ext END IF dw_child.AcceptText() ext: RETURN rslt end function public subroutine wf_check_billfj ();String arg_msg Long ll_ConnectionID Long cur_billtype long ll_relid,ll_relid_mx,ll_scid Long ls_filecount = 0 Int rslt = 1 uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype Long row,uc_relid row = dw_pageretr.GetRow() IF row > 0 THEN ll_relid = dw_pageretr.Object.taskid[row] ll_scid = dw_pageretr.Object.u_buytask_scid[row] ll_relid_mx = 0 ELSE rslt = 0 GOTO ext END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF cur_billtype = 401 //客户投拆单的 mainiD ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount) IF ls_filecount > 0 THEN rslt = 1 GOTO ext ELSE rslt = 0 GOTO ext END IF ext: wf_encl(rslt) DESTROY ls_uo_fjbt end subroutine public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//============================================================================== // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata() //------------------------------------------------------------------------------ // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可 //------------------------------------------------------------------------------ Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_uc.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_uc.Object.#1[LS_ROW] ll_scid = dw_uc.Object.u_buytask_scid[LS_ROW] //查询所选模版是否含有图片信息 Long ll_ifpic Long ll_classid SELECT ifpic INTO :ll_ifpic FROM U_XLS_Templates Where id = :ll_xls_Templatesid; IF sqlca.SQLCode <> 0 THEN ll_ifpic = 0 END IF Long ll_i,ll_j Long ll_mtrlid Long ll_fileid Blob ls_filedata SetNull(ls_filedata) String Pathname,ls_filename,ls_filetype String errmsg uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype s_xls_pic_list s_pic //结构数组-用于保存图片路径 IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件 SELECT classid INTO :ll_classid FROM u_billpic_fileclass Where (billtype = 401); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_child.RowCount() ll_mtrlid = dw_child.Object.mtrlid[ll_i] //取该附件类型中的第一个附件. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype FROM u_file WHERE relid = :ll_mtrlid AND classid = :ll_classid AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf' OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg') USING sys_fileDB_sqlca; IF sys_fileDB_sqlca.SQLCode <> 0 THEN ll_fileid = 0 END IF IF ll_fileid > 0 THEN Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype IF Trim(Pathname) <> '' THEN IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN RETURN 0 END IF IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN RETURN 0 ELSE s_pic.path[ll_i] = Pathname //记录临时文件位置,本窗口退出后删除 wf_addlog_tempfilepathname(Pathname) END IF ELSE s_pic.path[ll_i] = '' END IF ELSE s_pic.path[ll_i] = '' END IF NEXT END IF // END IF ////可选设置/// arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码 if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码 boolean xls_locked xls_locked = not (sys_option_xls_lock = 1) /// Excel 的可选设置 if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then return 0 end if for i = 1 to arg_str_billlist.count ////可选操作/// arg_str_billlist.bill[i].ds_data = create datastore // arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow // arg_str_billlist.bill[i].ds_data.settransobject(sqlca) //修改点:注意retrieve 参数与上文对应 arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id) IF ll_ifpic = 1 and ll_classid > 0 THEN //arg_str_billlist.bill[i].datawindow = 'dw_xls_buytaskmx' AND IF pos(arg_str_billlist.bill[i].datawindow , 'dw_xls_buytaskmx') > 0 AND arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径 FOR ll_j = 1 TO arg_str_billlist.bill[i].ds_data.RowCount() arg_str_billlist.bill[i].ds_data.Object.pic[ll_j] = s_pic.path[ll_j] NEXT END IF END IF next return 1 end function public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg);Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_pageretr.Object.#1[LS_ROW] ll_scid = dw_pageretr.Object.u_buytask_scid[LS_ROW] Long ll_i,ll_j Long ll_mtrlid Long ll_fileid Blob ls_filedata SetNull(ls_filedata) String Pathname,ls_filename,ls_filetype String errmsg uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype Long ll_classid SELECT classid INTO :ll_classid FROM u_billpic_fileclass Where (billtype = 201); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_child.RowCount() ll_mtrlid = dw_child.Object.mtrlid[ll_i] arg_s_pic.mtrlid[ll_i] = ll_mtrlid //取该附件类型中的第一个附件. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype FROM u_file WHERE relid = :ll_mtrlid AND classid = :ll_classid AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf' OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg') USING sys_fileDB_sqlca; IF sys_fileDB_sqlca.SQLCode <> 0 THEN ll_fileid = 0 END IF IF ll_fileid > 0 THEN Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype IF Trim(Pathname) <> '' THEN IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN RETURN 0 END IF IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN RETURN 0 ELSE arg_s_pic.path[ll_i] = Pathname //记录临时文件位置,本窗口退出后删除 wf_addlog_tempfilepathname(Pathname) END IF ELSE arg_s_pic.path[ll_i] = '' END IF ELSE arg_s_pic.path[ll_i] = '' END IF NEXT END IF RETURN 1 end function public subroutine wf_change_sptid (long arg_sptid);Long ll_row ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN RETURN //IF dw_uc.Object.sptid[ll_row] > 0 And dw_uc.Object.sptid[ll_row] <> arg_sptid THEN // dw_child.Reset() // This.TriggerEvent("insert_childrow") //END IF Long i FOR i = 1 To dw_child.RowCount() wf_get_price(i) wf_get_sptmtrlname(i) NEXT RETURN end subroutine public function integer wf_get_price (long arg_row);IF arg_row <= 0 THEN RETURN 1 IF arg_row > dw_child.RowCount() THEN RETURN 1 Long rslt = 1 Long ll_sptid, ll_moneyid Long ll_i,ll_mtrlid Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String ls_sptmtrlname String ls_1stunit, ls_unit String ls_status,ls_woodcode,ls_pcode, ls_jgdscrp String arg_msg decimal lde_price, lde_rebate dw_uc.AcceptText() dw_child.AcceptText() ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF ll_sptid = 0 THEN RETURN 1 ll_moneyid = dw_uc.Object.u_buytask_moneyid[dw_uc.GetRow()] IF ll_moneyid = 0 THEN RETURN 1 dw_child.SetRedraw(False) // ll_mtrlid = 0 // ls_1stunit = '' ls_1stnewcost = 0 ls_1stzqrate = 0 ls_1strate = 0 ll_mtrlid = dw_child.Object.mtrlid[arg_row] ls_1stunit = dw_child.Object.u_buytaskmx_unit[arg_row] ls_unit = ls_1stunit ls_status = dw_child.Object.u_buytaskmx_status[arg_row] ls_woodcode = dw_child.Object.u_buytaskmx_woodcode[arg_row] ls_pcode = dw_child.Object.u_buytaskmx_pcode[arg_row] ls_1stnewcost = 0 ls_1stzqrate = 1 IF uo_sptprice.uof_get_mtrl_buyprice(ll_sptid,ll_mtrlid,ls_1stunit,& ls_status,ls_woodcode,ls_pcode,0,& ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN ls_1stunit = ls_unit ls_1stnewcost = 0 ls_1stzqrate = 1 END IF IF ls_1stnewcost = 0 THEN rslt = 0 END IF dw_child.Object.u_buytaskmx_uprice[arg_row] = ls_1stnewcost dw_child.Object.u_buytaskmx_rebate[arg_row] = ls_1stzqrate dw_child.SetRedraw(True) RETURN rslt end function public function integer wf_get_sptmtrlname (long arg_row);IF arg_row <= 0 THEN RETURN 1 IF arg_row > dw_child.RowCount() THEN RETURN 1 Long rslt = 1 Long ll_sptid Long ll_i,ll_mtrlid String ls_sptmtrlname String arg_msg dw_uc.AcceptText() dw_child.AcceptText() ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF ll_sptid = 0 THEN RETURN 1 dw_child.SetRedraw(False) ll_mtrlid = dw_child.Object.mtrlid[arg_row] ls_sptmtrlname = '' IF uo_sptprice.uf_getmtrlname(ll_sptid,ll_mtrlid,ls_sptmtrlname,arg_msg) <> 1 THEN ls_sptmtrlname = '' END IF dw_child.Object.u_buytaskmx_sptmtrlname[arg_row] = ls_sptmtrlname dw_child.SetRedraw(True) RETURN rslt end function public function integer wf_autoaddmx_sale (s_saletask_ch s_saletask);//wf_autoaddmx_sale(long ll_scid,long ll_taskid) //查询合同物料资料 //把物料资料写入数组 Long rslt = 1, cnt Long i, child_row long ll_storageid Int li_statusflag = 0 Int li_woodcodeflag = 0 Int li_pcodeflag = 0 String arg_msg long ll_scid, ll_taskid s_mtrldef_array arg_s_mtrldef s_mtrldef_buytask_array arg_s_rqmtrl ll_scid = s_saletask.scid ll_taskid = s_saletask.taskid // //查询合同物料 DECLARE pf_cur CURSOR FOR SELECT u_saletask.taskcode, u_saletaskmx.taskid, u_saletaskmx.printid, u_saletaskmx.mtrlid, u_mtrldef.mtrlcode, u_mtrldef.mtrlname, u_mtrldef.mtrlmode, u_mtrldef.unit, u_mtrldef.mtrlsectype, u_mtrldef.zxmtrlmode, u_saletaskmx.needbuyqty - u_saletaskmx.buytaskqty, u_saletaskmx.addqty, u_saletaskmx.unit, u_saletaskmx.rate, u_saletaskmx.status, u_saletaskmx.woodcode, u_saletaskmx.pcode, u_saletaskmx.mxdscrp, u_saletaskmx.mxdscrp2, u_saletaskmx.mxdscrp3, u_saletaskmx.mxdscrp4, u_saletaskmx.plancode FROM u_SaleTaskMx INNER JOIN u_mtrldef ON u_SaleTaskMx.MtrlID = u_mtrldef.mtrlid INNER JOIN u_SaleTask ON u_SaleTaskMx.TaskID = u_SaleTask.TaskID AND u_SaleTaskMx.scid = u_SaleTask.scid WHERE ( u_saletaskmx.scid = :ll_scid ) AND ( u_saletaskmx.taskid = :ll_taskid ) AND (u_saletaskmx.needbuyqty - u_saletaskmx.buytaskqty > 0); OPEN pf_cur; cnt = 1 FETCH pf_cur INTO :arg_s_rqmtrl.relcode[cnt], :arg_s_rqmtrl.relid[cnt], :arg_s_rqmtrl.relprintid[cnt], :arg_s_rqmtrl.mtrlid[cnt], :arg_s_rqmtrl.mtrlcode[cnt], :arg_s_rqmtrl.mtrlname[cnt], :arg_s_rqmtrl.mtrlmode[cnt], :arg_s_rqmtrl.unit[cnt], :arg_s_rqmtrl.mtrlsectype[cnt], :arg_s_rqmtrl.zxmtrlmode[cnt], :arg_s_rqmtrl.qty[cnt], :arg_s_rqmtrl.addqty[cnt], :arg_s_rqmtrl.mxunit[cnt], :arg_s_rqmtrl.rate[cnt], :arg_s_rqmtrl.status[cnt], :arg_s_rqmtrl.woodcode[cnt], :arg_s_rqmtrl.pcode[cnt], :arg_s_rqmtrl.dscrp[cnt], :arg_s_rqmtrl.dscrp2[cnt], :arg_s_rqmtrl.dscrp3[cnt], :arg_s_rqmtrl.dscrp4[cnt], :arg_s_rqmtrl.plancode[cnt]; DO WHILE sqlca.SQLCode = 0 cnt++ FETCH pf_cur INTO :arg_s_rqmtrl.relcode[cnt], :arg_s_rqmtrl.relid[cnt], :arg_s_rqmtrl.relprintid[cnt], :arg_s_rqmtrl.mtrlid[cnt], :arg_s_rqmtrl.mtrlcode[cnt], :arg_s_rqmtrl.mtrlname[cnt], :arg_s_rqmtrl.mtrlmode[cnt], :arg_s_rqmtrl.unit[cnt], :arg_s_rqmtrl.mtrlsectype[cnt], :arg_s_rqmtrl.zxmtrlmode[cnt], :arg_s_rqmtrl.qty[cnt], :arg_s_rqmtrl.addqty[cnt], :arg_s_rqmtrl.mxunit[cnt], :arg_s_rqmtrl.rate[cnt], :arg_s_rqmtrl.status[cnt], :arg_s_rqmtrl.woodcode[cnt], :arg_s_rqmtrl.pcode[cnt], :arg_s_rqmtrl.dscrp[cnt], :arg_s_rqmtrl.dscrp2[cnt], :arg_s_rqmtrl.dscrp3[cnt], :arg_s_rqmtrl.dscrp4[cnt], :arg_s_rqmtrl.plancode[cnt]; LOOP cnt = cnt - 1 CLOSE pf_cur; FOR i = 1 To cnt IF arg_s_rqmtrl.mtrlid[i] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[dw_child.GetRow()] <> 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 f_find_dftstorageid(arg_s_rqmtrl.mtrlid[i], ll_storageid) dw_child.Object.u_buytaskmx_storageid[child_row] = ll_storageid dw_child.Object.mtrlid[child_row] = arg_s_rqmtrl.mtrlid[i] dw_child.Object.u_mtrldef_mtrlcode [child_row] = arg_s_rqmtrl.mtrlcode[i] dw_child.Object.mtrlname[child_row] = arg_s_rqmtrl.mtrlname[i] dw_child.Object.u_mtrldef_mtrlmode[child_row] = arg_s_rqmtrl.mtrlmode[i] dw_child.Object.u_mtrldef_p_mtrlname[child_row] = arg_s_rqmtrl.mtrlname[i] dw_child.Object.u_mtrldef_p_mtrlmode[child_row] = arg_s_rqmtrl.mtrlmode[i] dw_child.Object.u_mtrldef_unit[child_row] = arg_s_rqmtrl.unit[i] dw_child.Object.qty[child_row] = arg_s_rqmtrl.qty[i] dw_child.Object.u_buytaskmx_addqty[child_row] = arg_s_rqmtrl.addqty[i] dw_child.Object.u_buytaskmx_unit[child_row] = arg_s_rqmtrl.unit[i] dw_child.Object.u_buytaskmx_rate[child_row] = 1 dw_child.Object.u_buytaskmx_uqty[child_row] = arg_s_rqmtrl.qty[i] dw_child.Object.u_buytaskmx_relcode[child_row] = arg_s_rqmtrl.relcode[i] dw_child.Object.u_buytaskmx_relid[child_row] = arg_s_rqmtrl.relid[i] dw_child.Object.u_buytaskmx_relprintid[child_row] = arg_s_rqmtrl.relprintid[i] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = arg_s_rqmtrl.zxmtrlmode[i] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = arg_s_rqmtrl.mtrlsectype[i] dw_child.Object.u_buytaskmx_status[child_row] = arg_s_rqmtrl.status[i] dw_child.Object.u_buytaskmx_woodcode[child_row] = arg_s_rqmtrl.woodcode[i] dw_child.Object.u_buytaskmx_pcode[child_row] = arg_s_rqmtrl.pcode[i] IF f_find_mtrl_by_id(arg_s_rqmtrl.mtrlid[i],arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag dw_child.Object.dscrp[child_row] = arg_s_rqmtrl.dscrp[i] dw_child.Object.u_buytaskmx_dscrp2[child_row] = arg_s_rqmtrl.dscrp2[i] dw_child.Object.u_buytaskmx_dscrp3[child_row] = arg_s_rqmtrl.dscrp3[i] dw_child.Object.u_buytaskmx_dscrp4[child_row] = arg_s_rqmtrl.dscrp4[i] dw_child.Object.u_buytaskmx_plancode[child_row] = arg_s_rqmtrl.plancode[i] wf_get_price(child_row) wf_get_sptmtrlname(child_row) END IF NEXT dw_child.SetColumn('u_buytaskmx_uqty') dw_child.SetFocus() This.TriggerEvent('ue_allowedit') RETURN rslt end function public subroutine wf_cmpl_amt (long row);IF row <= 0 THEN RETURN IF row > dw_child.RowCount() THEN RETURN dw_child.AcceptText() dec ld_round = 100 ld_round = 10.0 ^ (2 - sys_option_inware_buy_amt_round) Decimal lde_tax lde_tax = dw_child.Object.u_buytaskmx_tax[row] //由金额计算单价 //IF sys_option_outware_if_buyqty = 0 THEN IF cbx_enamt_edit.Checked THEN IF dw_child.Object.u_buytaskmx_uamt[row] <> 0 THEN IF dw_child.Object.u_buytaskmx_rebate[row] <> 0 And dw_child.Object.u_buytaskmx_uqty[row] <> 0 THEN dw_child.Object.u_buytaskmx_uprice[row] = dw_child.Object.u_buytaskmx_uamt[row] / dw_child.Object.u_buytaskmx_rebate[row] / dw_child.Object.u_buytaskmx_uqty[row] dw_child.Object.u_buytaskmx_uprice_notax[row] = dw_child.Object.u_buytaskmx_uprice[row] / ( 1 +lde_tax ) //不含税单价=单价/(1+税率) dw_child.Object.u_buytaskmx_uamt_tax [row] = dw_child.Object.u_buytaskmx_uprice_notax[row] * Dec(dw_child.Object.u_buytaskmx_uqty[row]) * lde_tax //税金 END IF END IF ELSE dw_child.Object.u_buytaskmx_uamt[row] = Round(dw_child.Object.u_buytaskmx_uprice[row]*dw_child.Object.u_buytaskmx_rebate[row]*dw_child.Object.u_buytaskmx_uqty[row] * ld_round,0) / ld_round dw_child.Object.u_buytaskmx_uamt_tax[row] = dw_child.Object.u_buytaskmx_uprice_notax[row] * Dec(dw_child.Object.u_buytaskmx_uqty[row]) * lde_tax END IF //ELSE // IF cbx_enamt_edit.Checked THEN // IF dw_child.Object.u_buytaskmx_uamt[row] <> 0 THEN // IF dw_child.Object.u_buytaskmx_rebate[row] <> 0 And dw_child.Object.u_buytaskmx_uqty[row] <> 0 THEN // dw_child.Object.u_buytaskmx_uprice[row] = dw_child.Object.u_buytaskmx_uamt[row] / dw_child.Object.u_buytaskmx_rebate[row] / dw_child.Object.u_buytaskmx_uqty[row] // END IF // END IF // ELSE // dw_child.Object.u_buytaskmx_uamt[row] = Round(dw_child.Object.u_buytaskmx_uprice[row]*dw_child.Object.u_buytaskmx_rebate[row]*dw_child.Object.u_buytaskmx_uqty[row],2) // END IF //END IF IF cbx_enamt_notax_edit.Checked THEN //录入不含税单价 IF dw_child.Object.u_buytaskmx_uprice_notax[row] <> 0 THEN dw_child.Object.u_buytaskmx_uprice[row] = dw_child.Object.u_buytaskmx_uprice_notax[row] * (1 + lde_tax) dw_child.Object.u_buytaskmx_uamt[row] = Round(dw_child.Object.u_buytaskmx_uprice[row]*dw_child.Object.u_buytaskmx_rebate[row]*dw_child.Object.u_buytaskmx_uqty[row] * ld_round,0) / ld_round dw_child.Object.u_buytaskmx_uamt_tax[row] = dw_child.Object.u_buytaskmx_uprice_notax[row] * Dec(dw_child.Object.u_buytaskmx_uqty[row]) * lde_tax END IF ELSE dw_child.Object.u_buytaskmx_uprice_notax[row] = dw_child.Object.u_buytaskmx_uprice[row] / ( 1 + lde_tax) //不含税单价=单价/(1+税率) END IF end subroutine public function integer wf_autoaddmx_will_rq (s_buytaskmx_arr s_buy);//wf_autoaddmx_will_rq(long ll_scid,long ll_taskid) //查询合同物料资料 //把物料资料写入数组 Long rslt = 1, cnt Long i, child_row long ll_storageid Int li_statusflag = 0 Int li_woodcodeflag = 0 Int li_pcodeflag = 0 String arg_msg long ll_scid, ll_taskid s_mtrldef_array arg_s_mtrldef cnt = upperbound(s_buy.mtrlid) FOR i = 1 To cnt IF s_buy.mtrlid[i] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[dw_child.GetRow()] <> 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 f_find_dftstorageid(s_buy.mtrlid[i], ll_storageid) dw_child.Object.u_buytaskmx_storageid[child_row] = ll_storageid dw_child.Object.mtrlid[child_row] = s_buy.mtrlid[i] dw_child.Object.u_mtrldef_mtrlcode [child_row] = s_buy.mtrlcode[i] dw_child.Object.mtrlname[child_row] = s_buy.mtrlname[i] dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_buy.mtrlmode[i] dw_child.Object.u_mtrldef_unit[child_row] = s_buy.unit[i] dw_child.Object.qty[child_row] = s_buy.qty[i] dw_child.Object.u_buytaskmx_unit[child_row] = s_buy.unit[i] dw_child.Object.u_buytaskmx_rate[child_row] = s_buy.rate[i] dw_child.Object.u_buytaskmx_uqty[child_row] = s_buy.uqty[i] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_buy.zxmtrlmode[i] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_buy.mtrlsectype[i] dw_child.Object.u_buytaskmx_status[child_row] = s_buy.status[i] dw_child.Object.u_buytaskmx_woodcode[child_row] = s_buy.woodcode[i] dw_child.Object.u_buytaskmx_pcode[child_row] = s_buy.pcode[i] IF f_find_mtrl_by_id(s_buy.mtrlid[i],arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag wf_get_price(child_row) wf_get_sptmtrlname(child_row) END IF NEXT dw_child.SetColumn('u_buytaskmx_uqty') dw_child.SetFocus() This.TriggerEvent('ue_allowedit') RETURN rslt end function public subroutine wf_enamt_facechg ();IF ii_enamt_notax_edit = 0 THEN //录入不含税单价 为 false dw_child.Modify('u_buytaskmx_uprice_notax.protect = 1~t u_buytaskmx_uprice_notax.Color = "0~trgb(0,0,0)"') dw_child.Modify('u_buytaskmx_uprice_notax_t.Color = "0~trgb(0,0,0)"') ELSEIF ii_enamt_notax_edit = 1 THEN dw_child.Modify('u_buytaskmx_uprice_notax.protect = 0~t u_buytaskmx_uprice_notax.Color = "0~trgb(0,0,255)"') dw_child.Modify('u_buytaskmx_uprice_notax_t.Color = "0~trgb(0,0,255)"') END IF end subroutine public function integer wf_check_qtyandaddqty (ref string arg_msg);Long i Int rslt = 1 Long lk_mtrlid,lk_ifcheckaddqty String ls_strcheckaddqty,ls_mtrlmode Decimal dec_qty,dec_addqty,dec_danpackqty,dec_packqty,dec_rebate String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode Long num s_cmpl_qty s_cmpl s_cmpl.addvalue = 1 String ls_msg dw_child.AcceptText() FOR i = 1 To dw_child.RowCount() lk_mtrlid = dw_child.Object.mtrlid[i] dec_qty = dw_child.Object.u_buyTaskMx_uqty[i] dec_addqty = dw_child.Object.u_buyTaskMx_addqty[i] ls_status = dw_child.Object.u_buyTaskMx_status[i] ls_woodcode = dw_child.Object.u_buyTaskMx_woodcode[i] ls_pcode = dw_child.Object.u_buyTaskMx_pcode[i] ls_mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i] ls_zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i] ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i] dec_rebate = dw_child.Object.u_buytaskmx_rebate[i] dec_danpackqty=0 dec_packqty=0 SELECT ifcheckaddqty,strcheckaddqty,strcheck_digit Into :lk_ifcheckaddqty,:ls_strcheckaddqty,:num From u_mtrldef Where mtrlid = :lk_mtrlid; s_cmpl.formula = ls_strcheckaddqty s_cmpl.status = ls_status s_cmpl.woodcode = ls_woodcode s_cmpl.pcode = ls_pcode s_cmpl.mtrlsectype = ls_mtrlsectype s_cmpl.zxmtrlmode = ls_zxmtrlmode s_cmpl.addqty = dec_addqty s_cmpl.num = num s_cmpl.oldqty = dec_qty s_cmpl.mtrlsectype = ls_mtrlsectype s_cmpl.zxmtrlmode = ls_zxmtrlmode s_cmpl.packqty = dec_packqty s_cmpl.rebate = dec_rebate //如果有填写数量 则 只检查数量和辅数的关系 Decimal dec_tmp IF lk_mtrlid > 0 And dec_qty <> 0 THEN IF f_cmpl_qty_check(s_cmpl,dec_tmp,ls_msg) <> TRUE THEN rslt = 0 arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行不符合该项定义,公式是 ' + ls_strcheckaddqty GOTO ext END IF END IF //如果没有填写数量 则 由辅数计算出数量 IF lk_mtrlid > 0 And dec_qty = 0 THEN IF f_cmpl_qty(s_cmpl,dec_tmp,ls_msg) = 0 THEN rslt = 0 arg_msg += '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行由辅数计算出数量为0,请检查资料定义公式是 ' + ls_strcheckaddqty goto ext END IF dw_child.Object.u_buyTaskMx_uqty[i] = dec_tmp END IF NEXT dw_child.AcceptText() ext: RETURN rslt end function on w_buytask.create int iCurrent call super::create this.ddlb_scid=create ddlb_scid this.st_2=create st_2 this.st_3=create st_3 this.ddlb_status=create ddlb_status this.cbx_enamt_edit=create cbx_enamt_edit this.cbx_enamt_notax_edit=create cbx_enamt_notax_edit iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_scid this.Control[iCurrent+2]=this.st_2 this.Control[iCurrent+3]=this.st_3 this.Control[iCurrent+4]=this.ddlb_status this.Control[iCurrent+5]=this.cbx_enamt_edit this.Control[iCurrent+6]=this.cbx_enamt_notax_edit end on on w_buytask.destroy call super::destroy destroy(this.ddlb_scid) destroy(this.st_2) destroy(this.st_3) destroy(this.ddlb_status) destroy(this.cbx_enamt_edit) destroy(this.cbx_enamt_notax_edit) end on 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 dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数 dw_pageretr.Retrieve(cur_status,cur_scid,sys_user_spttype) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.TriggerEvent(RowFocusChanged!) END IF THIS.TriggerEvent('retrieve_childdw') //THIS.TriggerEvent('retrieve_fjnum') //改成单据功能手动刷新 cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event event open;call super::open;uc_column_int = 11 //uc dw前5列可以编辑 child_column_int = 23 //子 dw前3列可以编辑 obj_task = CREATE uo_buytask obj_task.commit_transaction = sqlca uo_sptprice = create uo_spt_price uo_fieb = Create uo_ljfieb uo_fieb.commit_transaction = sys_email_sqlca IF s_tran.d_long = 1 AND UpperBound(s_tran.arr_long) > 0 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!) wf_autoaddmx(s_tran.arr_long[],s_tran.arr_dec[]) END IF ds_copy = CREATE datastore ds_copy.DataObject = dw_child.dataobject ds_copy.SetTransObject(sqlca) s_hide_col s_col s_col.col_1 = 'u_buytaskmx_uprice' s_col.col_2 = 'u_buytaskmx_rebate' s_col.col_3 = 'u_buytaskmx_uamt' s_col.col_4 = 'u_buytaskmx_fprice' s_col.col_5 = 'u_buytaskmx_tax' s_col.col_6 = 'u_buytaskmx_uamt_tax' s_col.col_7 = 'u_buytaskmx_bsamt' s_col.col_8 = 'u_buytaskmx_bsamt_tax' s_col.col_9 = 'u_buytaskmx_dftsptprice' s_col.col_10 = 'u_buytaskmx_uprice_notax' s_col.col_11 = 'fprice_notax' s_col.col_12 = 'uamt_notax' f_hide_col(121,dw_child,s_col) s_hide_col s_col_mtrlsectype s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype' f_hide_col(1308,dw_child,s_col_mtrlsectype) s_hide_col s_col_zxmtrlmode s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode' f_hide_col(1309,dw_child,s_col_zxmtrlmode) s_hide_col s_col_dftsptprice s_col_zxmtrlmode.col_1 = 'u_buytaskmx_dftsptprice' f_hide_col(1462,dw_child,s_col_zxmtrlmode) end event event ue_f9; IF Not dw_edit_mode THEN RETURN Long uc_row, i 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 (备用) //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.sptcode[dw_uc.GetRow()])) IF sys_spt_hideinfo = 0 THEN OpenWithParm(W_spt_edit,s_ch_tran) //调用 ELSE OpenWithParm(W_spt_ch,s_ch_tran) //调用 END IF S_spt S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值 // //重置dw_child // wf_change_sptid(S_INSCUST.sptid) dw_uc.SetRedraw(False) dw_uc.Object.sptid[uc_row] = S_INSCUST.sptid dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name dw_uc.Object.sptcode[uc_row] = S_INSCUST.sptcode IF S_INSCUST.dftmoneyid > 0 THEN dw_uc.Object.u_buytask_moneyid[uc_row] = S_INSCUST.dftmoneyid dw_uc.Object.u_buytask_mrate[dw_uc.GetRow()] = f_get_mrate(S_INSCUST.dftmoneyid) END IF IF S_INSCUST.dftbanktypeid > 0 THEN dw_uc.Object.u_buytask_banktypeid[uc_row] = S_INSCUST.dftbanktypeid END IF FOR i = 1 To dw_child.RowCount( ) wf_get_price(i) wf_get_sptmtrlname(i) NEXT dw_uc.SetColumn("u_buytask_relcode") dw_uc.SetRedraw(True) END IF 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 ls_sptid,ls_mtrlid Long ll_storageid Decimal ls_price,ls_rebate,lde_rate,ld_tax String arg_msg String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode dw_uc.AcceptText() IF dw_uc.GetRow() = 0 THEN RETURN ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) Or ls_sptid = 0 THEN This.TriggerEvent("ue_f9") ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) Or ls_sptid = 0 THEN MessageBox('提示','请选择供应商', Information!, OK! ) RETURN END IF END IF child_row = dw_child.GetRow() ll_storageid = dw_child.Object.u_buytaskmx_storageid[child_row] IF ll_storageid = 0 THEN MessageBox('提示','请选择仓库', Information!, OK! ) RETURN END IF IF Not IsValid(W_mtrldef_edit) 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 = 0 //目标定位PKID (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = True //多选 s_tranf8.b_long = 2 //选采购 s_tranf8.c_long = ll_storageid s_tranf8.d_long = ls_sptid Long chc = 1,ls_j IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) OpenWithParm(W_mtrldef_edit,s_tranf8) //调用 s_mtrldef_array S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[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 IF child_row > 1 THEN dw_child.AcceptText() dw_child.Object.u_buytaskmx_storageid[child_row] = dw_child.Object.u_buytaskmx_storageid[child_row - 1] END IF dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.qty[child_row] = 0 dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j] dw_child.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j] dw_child.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j] dw_child.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j] dw_child.Object.u_buytaskmx_status[child_row] = S_INSCUST.status[ls_j] dw_child.Object.u_buytaskmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] dw_child.Object.u_buytaskmx_pcode[child_row] = S_INSCUST.pcode[ls_j] dw_child.Object.u_buytaskmx_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_mtrldef_barcode[child_row] = S_INSCUST.barcode[ls_j] dw_child.Object.u_mtrldef_mtrlengname[child_row] = S_INSCUST.mtrlengname[ls_j] ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名 ls_mtrlid =S_INSCUST.mtrlid[ls_j] Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'') Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode From u_sptmtrlname Where mtrlid= :ls_mtrlid and sptid= :ls_sptid ; dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode //3属性默认值 IF Len(S_INSCUST.status_default[ls_j]) > 0 THEN dw_child.Object.u_buytaskmx_status[child_row] = Trim(S_INSCUST.status_default[ls_j]) END IF IF Len(S_INSCUST.woodcode_default[ls_j]) > 0 THEN dw_child.Object.u_buytaskmx_woodcode[child_row] = Trim(S_INSCUST.woodcode_default[ls_j]) END IF IF Len(S_INSCUST.pcode_default[ls_j]) > 0 THEN dw_child.Object.u_buytaskmx_pcode[child_row] = Trim(S_INSCUST.pcode_default[ls_j]) END IF IF f_find_tax(ls_sptid,'u_spt',ld_tax) = 0 THEN ld_tax = 0 ELSE dw_child.Object.u_buytaskmx_tax[child_row] = ld_tax END IF f_find_unitrate(S_INSCUST.mtrlid[ls_j], S_INSCUST.unit[ls_j], lde_rate) dw_child.Object.u_buytaskmx_rate[child_row] = lde_rate wf_get_price(child_row) wf_get_sptmtrlname(child_row) END IF NEXT dw_child.SetColumn('u_buytaskmx_uqty') dw_child.SetFocus() This.TriggerEvent('ue_allowedit') END IF end event event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = NOT dw_edit_mode cbx_enamt_edit.Enabled = NOT dw_edit_mode cbx_enamt_notax_edit.Enabled = Not dw_edit_mode wf_statusbtn_fc() IF dw_edit_mode THEN ddlb_scid.Enabled = FALSE ELSE IF sys_scid > 0 THEN ddlb_scid.Enabled = FALSE ELSE ddlb_scid.Enabled = TRUE END IF END IF IF ii_enamt_edit = 0 THEN dw_child.Modify('u_buytaskmx_uamt.protect = 1~t u_buytaskmx_uamt.Color = 0') dw_child.Modify('u_buytaskmx_uamt_t.Color = 0') ELSE dw_child.Modify('u_buytaskmx_uamt.protect = 0~t u_buytaskmx_uamt.Color = "0~trgb(0,0,255)"') dw_child.Modify('u_buytaskmx_uamt_t.Color = "0~trgb(0,0,255)"') END IF end event event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row > 0 THEN ll_scid = dw_pageretr.Object.u_buytask_scid[row] uc_relid = dw_pageretr.Object.taskid[row] dw_child.SetRedraw (False) dw_child.Retrieve(uc_relid,ll_scid) dw_child.SetRedraw (True) ELSE dw_child.Reset() END IF end event event close;destroy obj_task destroy uo_sptprice //f_SetProfileString(sys_empid, "buytask", "status", string(cur_status)) wf_del_tempfilepathname() 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+'( taskcode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( taskcode 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) dw_pageretr.SetRow(1) dw_pageretr.triggerevent(rowfocuschanged!) end if dw_pageretr.SetRedraw(TRUE) end event event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart="(u_buytask.taskcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_buytask.taskcode 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_viewprint;call super::ue_viewprint;IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!', Information!, OK! ) RETURN END IF dw_pageretr.accepttext() IF sys_option_auditprint_buy = 1 THEN IF dw_pageretr.Object.u_buytask_status[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! ) RETURN END IF END IF IF NOT f_power_ind(95) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!', Information!, OK! ) RETURN END IF S_print_MSG LS_PRMSG LS_PRMSG.ifpic = ifpic IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_buytask_status[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! ) RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_buytask_print' END IF LS_PRMSG.TAG_TEXT = '采购订单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = cur_scid LS_PRMSG.retr_pramnmb = dw_pageretr.Object.taskid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() IF ifpic = 1 THEN String ls_msg IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN MessageBox('提示','下载图片失败!',information!,OK!) RETURN END IF END IF OpenWithParm(w_publ_preview,LS_PRMSG) IF ifpic = 1 THEN Long li FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path) IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN FileDelete(LS_PRMSG.s_pic.path[li]) END IF NEXT END IF //**更新打印次料 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_buytask',printnum,cur_scid,dw_pageretr.Object.taskid[LS_ROW],'','',arg_msg,TRUE) string ls_taskcode ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()] IF f_billevent_trigger (401, 1, ls_taskcode, arg_msg) = 0 THEN MessageBox('Error',arg_msg) END IF end event event ue_print;call super::ue_print;//--直接打印 IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!', Information!, OK! ) RETURN END IF IF sys_option_auditprint_buy = 1 THEN IF dw_pageretr.Object.u_buytask_status[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! ) RETURN END IF END IF IF NOT f_power_ind(95) THEN MessageBox(publ_operator,sys_msg_pow, Information!, OK! ) RETURN END IF uo_print_preview uo_print S_print_MSG LS_PRMSG LS_PRMSG.ifpic = ifpic IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNO! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_buytask_status[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! ) RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_buytask_print' END IF LS_PRMSG.TAG_TEXT = '采购订单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = cur_scid LS_PRMSG.retr_pramnmb = dw_pageretr.Object.taskid[dw_pageretr.GetRow()] LS_PRMSG.rowcnt = dw_child.RowCount() IF ifpic = 1 THEN String ls_msg IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN MessageBox('提示','下载图片失败!',information!,OK!) RETURN END IF END IF uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("提示",arg_msg, Information!, OK! ) RETURN END IF uo_print.ds_print() IF ifpic = 1 THEN Long li FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path) IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN FileDelete(LS_PRMSG.s_pic.path[li]) END IF NEXT END IF //**更新打印次料 f_update_printnum('u_buytask',1,cur_scid,dw_pageretr.Object.taskid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) string ls_taskcode ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()] IF f_billevent_trigger (401, 1, ls_taskcode, arg_msg) = 0 THEN MessageBox('Error',arg_msg) END IF end event event ue_f10;call super::ue_f10;IF NOT IsValid(w_unit_ch) THEN IF dw_child.GetRow() < 1 THEN RETURN long child_row Long ll_mtrlid child_row = dw_child.GetRow() ll_mtrlid = dw_child.Object.mtrlid[child_row] OpenWithParm(w_unit_ch,ll_mtrlid) s_unit s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_child.Object.u_buytaskmx_unit[child_row] = s_inscust.unit dw_child.Object.u_buytaskmx_rate[child_row] = s_inscust.rate wf_get_price(child_row) END IF END IF end event event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) RETURN END IF IF NOT f_power_ind(777) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF 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 obj_task.add_dscrp(dw_pageretr.Object.u_buytask_scid[uc_row],dw_pageretr.Object.taskid[uc_row],LS_STR,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) RETURN ELSE MessageBox('提示','添加备注操作成功!', Information!, OK! ) wf_refresh_curuc(dw_pageretr.Object.u_buytask_scid[uc_row],dw_pageretr.Object.taskid[uc_row]) END IF end event event ue_f7;call super::ue_f7;//选择销售订单明细内容,被F7[默认]\dw_child.doubleclicked调用 IF Not dw_edit_mode THEN RETURN Long child_row Long ll_sptid,ls_mtrlid Decimal ls_price,ls_rebate,lde_rate,ld_tax Int li_statusflag,li_woodcodeflag,li_pcodeflag String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode String arg_msg s_mtrldef_array arg_s_mtrldef child_row = dw_child.GetRow() Long ll_storageid dw_uc.AcceptText() IF dw_uc.GetRow() = 0 THEN RETURN ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] //IF IsNull(ll_sptid) Or ll_sptid = 0 THEN // This.TriggerEvent("ue_f9") // ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] // IF IsNull(ll_sptid) Or ll_sptid = 0 THEN // MessageBox('提示','请选择供应商', Information!, OK! ) // RETURN // END IF //END IF ll_storageid = dw_child.Object.u_buytaskmx_storageid[child_row] IF ll_storageid = 0 THEN MessageBox('提示','请选择仓库', Information!, OK! ) RETURN END IF IF Not IsValid(w_buytask_buymx_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 = 0 //目标定位PKID (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = True //多选 s_tranf8.b_long = 2 //选采购 s_tranf8.c_long = ll_storageid s_tranf8.e_long = cur_scid s_tranf8.d_long = ll_sptid Long chc = 1,ls_j IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) OpenWithParm(w_buytask_buymx_ch,s_tranf8) //调用 s_mtrldef_buytask_array S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[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 IF child_row > 1 THEN dw_child.AcceptText() dw_child.Object.u_buytaskmx_storageid[child_row] = dw_child.Object.u_buytaskmx_storageid[child_row - 1] END IF dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j] dw_child.Object.u_mtrldef_p_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_p_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.qty[child_row] = S_INSCUST.qty[ls_j] dw_child.Object.u_buytaskmx_addqty[child_row] = S_INSCUST.addqty[ls_j] dw_child.Object.u_buytaskmx_rate[child_row] = 1 dw_child.Object.u_buytaskmx_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_buytaskmx_uqty[child_row] = S_INSCUST.qty[ls_j] dw_child.Object.u_buytaskmx_relcode[child_row] = S_INSCUST.relcode[ls_j] dw_child.Object.u_buytaskmx_relid[child_row] = S_INSCUST.relid[ls_j] dw_child.Object.u_buytaskmx_relprintid[child_row] = S_INSCUST.relPrintid[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_child.Object.u_buytaskmx_status[child_row] = S_INSCUST.status[ls_j] dw_child.Object.u_buytaskmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] dw_child.Object.u_buytaskmx_pcode[child_row] = S_INSCUST.pcode[ls_j] dw_child.Object.dscrp[child_row] = S_INSCUST.dscrp[ls_j] dw_child.Object.u_saletask_rel_rep[child_row] = S_INSCUST.rel_rep[ls_j] dw_child.Object.u_saletask_cus_address[child_row] = S_INSCUST.cus_address[ls_j] dw_child.Object.u_saletask_cus_tele[child_row] = S_INSCUST.cus_tele[ls_j] dw_child.Object.u_saletask_cus_tele1[child_row] = S_INSCUST.cus_tele1[ls_j] dw_child.Object.u_buytaskmx_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_buytaskmx_plancode[child_row] = S_INSCUST.plancode[ls_j] dw_child.Object.u_buytaskmx_requiredate[child_row] = S_INSCUST.requiredate[ls_j] dw_child.Object.u_buytaskmx_dscrp2[child_row] = S_INSCUST.dscrp2[ls_j] dw_child.Object.u_mtrldef_barcode[child_row] = S_INSCUST.barcode[ls_j] dw_child.Object.u_mtrldef_mtrlengname[child_row] = S_INSCUST.mtrlengname[ls_j] ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名 ls_mtrlid =S_INSCUST.mtrlid[ls_j] Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'') Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode From u_sptmtrlname Where mtrlid= :ls_mtrlid and sptid= :ll_sptid ; dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode IF f_find_tax(ll_sptid,'u_spt',ld_tax) = 0 then ld_tax = 0 ELSE dw_child.Object.u_buytaskmx_tax[child_row] = ld_tax END IF f_find_unitrate(S_INSCUST.mtrlid[ls_j], S_INSCUST.unit[ls_j], lde_rate) dw_child.Object.u_buytaskmx_rate[child_row] = lde_rate IF f_find_mtrl(S_INSCUST.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag wf_get_price(child_row) wf_get_sptmtrlname(child_row) END IF NEXT dw_child.SetColumn('u_buytaskmx_uqty') dw_child.SetFocus() This.TriggerEvent('ue_allowedit') END IF end event event ue_modify;call super::ue_modify;//s_modify.mainwin = this end event event ue_rpt_print;call super::ue_rpt_print;IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!', Information!, OK! ) RETURN END IF IF sys_option_auditprint_buy = 1 THEN IF dw_pageretr.Object.u_buytask_status[dw_pageretr.GetRow()] <> 1 THEN MessageBox('NO','目标单据还未审核,不能打印!', Information!, OK! ) RETURN END IF END IF IF NOT f_power_ind(95) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF Long row row = dw_pageretr.GetRow() IF row <= 0 THEN MessageBox('提示','没有打印目标单据!', Information!, OK! ) RETURN END IF 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 MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = '采购订单' LS_PRMSG.rpname = ls_rpname LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.rpid = ls_msgprintid_rpt LS_PRMSG.retr_scid = dw_pageretr.Object.u_buytask_scid[dw_pageretr.GetRow()] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.taskid[dw_pageretr.GetRow()] 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, Information!, OK! ) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = Message.DoubleParm f_update_printnum('u_buytask',printnum,cur_scid,dw_pageretr.Object.taskid[row],'','',arg_msg,TRUE) end event event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!', Information!, OK! ) RETURN END IF IF sys_option_auditprint_buy = 1 THEN IF dw_pageretr.Object.u_buytask_status[dw_pageretr.GetRow()] <> 1 THEN MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! ) RETURN END IF END IF IF NOT f_power_ind(95) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN MessageBox('提示','没有打印目标单据!') RETURN END IF IF ls_rpname = '' THEN RETURN s_rpt_print_msg s_print s_print.retr_pram_falg = 15 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_scid = dw_pageretr.Object.u_buytask_scid[row] s_print.retr_pramnmb = dw_pageretr.Object.taskid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_buytask',printnum,cur_scid,dw_pageretr.Object.taskid[row],'','',arg_msg,TRUE) end event event ue_f11;call super::ue_f11;//用于选择销售订单运算明细内容,被F7[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row Long ll_sptid,ls_mtrlid Decimal ls_price,ls_rebate,lde_rate,ld_tax Int li_statusflag,li_woodcodeflag,li_pcodeflag String arg_msg String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode s_mtrldef_array arg_s_mtrldef child_row = dw_child.GetRow() Long ll_storageid dw_uc.accepttext() if dw_uc.GetRow() = 0 then return ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ll_sptid) OR ll_sptid = 0 THEN THIS.TriggerEvent("ue_f9") ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ll_sptid) OR ll_sptid = 0 THEN MessageBox('提示','请选择供应商', Information!, OK! ) RETURN END IF END IF ll_storageid = dw_child.Object.u_buytaskmx_storageid[child_row] IF ll_storageid = 0 THEN MessageBox('提示','请选择仓库', Information!, OK! ) RETURN END IF IF NOT IsValid(w_buytask_buymx_ch2) 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 = 0 //目标定位PKID (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = TRUE //多选 s_tranf8.b_long = 2 //选采购 s_tranf8.c_long = ll_storageid s_tranf8.e_long = cur_scid s_tranf8.d_long = ll_sptid Long chc = 1,ls_j IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) OpenWithParm(w_buytask_buymx_ch2,s_tranf8) //调用 s_mtrldef_buytask_array S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[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 IF child_row > 1 THEN dw_child.AcceptText() dw_child.Object.u_buytaskmx_storageid[child_row] = dw_child.Object.u_buytaskmx_storageid[child_row - 1] END IF dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.qty[child_row] = S_INSCUST.qty[ls_j] dw_child.Object.u_buytaskmx_addqty[child_row] = 0 // f_find_unitrate(S_INSCUST.mtrlid[ls_j], S_INSCUST.unit[ls_j], lde_rate) // dw_child.Object.u_buytaskmx_rate[child_row] = lde_rate // dw_child.Object.u_buytaskmx_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_buytaskmx_rate[child_row] = 1 dw_child.Object.u_buytaskmx_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_buytaskmx_uqty[child_row] = S_INSCUST.qty[ls_j] dw_child.Object.u_buytaskmx_relcode[child_row] = S_INSCUST.relcode[ls_j] dw_child.Object.u_buytaskmx_relid[child_row] = S_INSCUST.relid[ls_j] dw_child.Object.u_buytaskmx_relprintid[child_row] = S_INSCUST.relPrintid[ls_j] dw_child.Object.u_buytaskmx_relid2[child_row] = S_INSCUST.relid2[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_child.Object.u_buytaskmx_status[child_row] = S_INSCUST.status[ls_j] dw_child.Object.u_buytaskmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] dw_child.Object.u_buytaskmx_pcode[child_row] = S_INSCUST.pcode[ls_j] dw_child.Object.u_mtrldef_p_mtrlname[child_row] = S_INSCUST.proname[ls_j] dw_child.Object.u_mtrldef_p_mtrlmode[child_row] = S_INSCUST.promode[ls_j] dw_child.Object.u_saletask_rel_rep[child_row] = S_INSCUST.rel_rep[ls_j] dw_child.Object.u_saletask_cus_address[child_row] = S_INSCUST.cus_address[ls_j] dw_child.Object.u_saletask_cus_tele[child_row] = S_INSCUST.cus_tele[ls_j] dw_child.Object.u_saletask_cus_tele1[child_row] = S_INSCUST.cus_tele1[ls_j] dw_child.Object.u_buytaskmx_plancode[child_row] = S_INSCUST.plancode[ls_j] dw_child.Object.u_buytaskmx_dscrp2[child_row] = S_INSCUST.dscrp2[ls_j] ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名 ls_mtrlid =S_INSCUST.mtrlid[ls_j] Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'') Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode From u_sptmtrlname Where mtrlid= :ls_mtrlid and sptid= :ll_sptid ; dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode IF f_find_tax(ll_sptid,'u_spt',ld_tax) = 0 then ld_tax = 0 ELSE dw_child.Object.u_buytaskmx_tax[child_row] = ld_tax END IF IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag wf_get_price(child_row) wf_get_sptmtrlname(child_row) END IF NEXT dw_child.SetFocus() dw_child.SetColumn('u_buytaskmx_uqty') THIS.TriggerEvent('ue_allowedit') END IF end event event ue_before_open;call super::ue_before_open;//IF sys_version_type = 2 THEN // dw_uc.DataObject = 'dw_buytask_input2' // dw_uc.SetTransObject(sqlca) // // dw_pageretr.DataObject = 'dw_buytask_index2' // dw_pageretr.SetTransObject(sqlca) //END IF // end event event ue_f12;call super::ue_f12;//用于选择询价单明细内容,被F7[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row Long ll_sptid,ls_mtrlid Decimal ls_price,ls_rebate,lde_rate,ld_tax Int li_statusflag,li_woodcodeflag,li_pcodeflag String arg_msg String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode s_mtrldef_array arg_s_mtrldef child_row = dw_child.GetRow() Long ll_storageid dw_uc.accepttext() if dw_uc.GetRow() = 0 then return ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ll_sptid) OR ll_sptid = 0 THEN THIS.TriggerEvent("ue_f9") ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ll_sptid) OR ll_sptid = 0 THEN MessageBox('提示','请选择供应商', Information!, OK! ) RETURN END IF END IF ll_storageid = dw_child.Object.u_buytaskmx_storageid[child_row] IF ll_storageid = 0 THEN MessageBox('提示','请选择仓库', Information!, OK! ) RETURN END IF IF NOT IsValid(w_spt_price_change_mx_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 = 0 //目标定位PKID (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = TRUE //多选 s_tranf8.c_long = ll_sptid Long chc = 1,ls_j IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) OpenWithParm(w_spt_price_change_mx_ch,s_tranf8) //调用 s_mtrldef_buytask_array S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[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 IF child_row > 1 THEN dw_child.AcceptText() dw_child.Object.u_buytaskmx_storageid[child_row] = dw_child.Object.u_buytaskmx_storageid[child_row - 1] END IF dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.qty[child_row] = S_INSCUST.qty[ls_j] / S_INSCUST.rate_buy[ls_j] dw_child.Object.u_buytaskmx_addqty[child_row] = 0 dw_child.Object.u_buytaskmx_rate[child_row] = S_INSCUST.rate_buy[ls_j] dw_child.Object.u_buytaskmx_unit[child_row] = S_INSCUST.unit_buy[ls_j] dw_child.Object.u_buytaskmx_uqty[child_row] = S_INSCUST.qty[ls_j] ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名 ls_mtrlid =S_INSCUST.mtrlid[ls_j] Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'') Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode From u_sptmtrlname Where mtrlid= :ls_mtrlid and sptid= :ll_sptid ; dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode // dw_child.Object.u_buytaskmx_relcode[child_row] = S_INSCUST.relcode[ls_j] // dw_child.Object.u_buytaskmx_relid[child_row] = S_INSCUST.relid[ls_j] // dw_child.Object.u_buytaskmx_relprintid[child_row] = S_INSCUST.relPrintid[ls_j] // dw_child.Object.u_buytaskmx_relid2[child_row] = S_INSCUST.relid2[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_child.Object.u_buytaskmx_status[child_row] = S_INSCUST.status[ls_j] dw_child.Object.u_buytaskmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] dw_child.Object.u_buytaskmx_pcode[child_row] = S_INSCUST.pcode[ls_j] // dw_child.Object.u_mtrldef_p_mtrlname[child_row] = S_INSCUST.proname[ls_j] // dw_child.Object.u_mtrldef_p_mtrlmode[child_row] = S_INSCUST.promode[ls_j] IF f_find_tax(ll_sptid,'u_spt',ld_tax) = 0 then ld_tax = 0 ELSE dw_child.Object.u_buytaskmx_tax[child_row] = ld_tax END IF IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag //wf_get_price(child_row) dw_child.Object.u_buytaskmx_uprice[child_row] = S_INSCUST.price[ls_j] dw_child.Object.u_buytaskmx_rebate[child_row] = S_INSCUST.rebate[ls_j] wf_get_sptmtrlname(child_row) END IF NEXT dw_child.SetFocus() dw_child.SetColumn('u_buytaskmx_uqty') THIS.TriggerEvent('ue_allowedit') END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_buytask integer taborder = 20 end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_buytask integer taborder = 340 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_buytask integer x = 187 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_buytask integer x = 3063 integer taborder = 300 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_buytask integer x = 2738 integer y = 36 integer width = 320 integer taborder = 280 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_buytask integer x = 2354 integer width = 1161 integer height = 1052 integer taborder = 30 string title = "采购订单摘要内容" string dataobject = "dw_buytask_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_statusbtn_fc() wf_check_billfj() if currentrow<=0 then dw_child.reset() end event event dw_pageretr::retrieveend;wf_statusbtn_fc() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_buytask integer x = 5 integer width = 192 string text = "编号含" end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_buytask integer x = 3214 integer taborder = 330 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_buytask integer width = 2345 integer height = 1132 string dataobject = "dw_buytask_input" boolean hsplitscroll = true end type event dw_uc::dwnkey;Parent.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 IF dw_edit_mode THEN IF dw_uc.GetColumnName ( ) = 'dscrp' And Key = KeyEnter! THEN dw_child.ScrollToRow(1) dw_child.SetFocus() dw_child.SetColumn ('u_buytaskmx_storageid') RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'sptcode' And Key = KeyEnter! THEN long i String ls_code,ls_name,ls_find_code Long ls_sptid Long cnt = 0 Boolean if_find = False Long dftbanktypeid Long dftmoneyid dw_uc.AcceptText() ls_code = Upper(Trim(dw_uc.Object.sptcode[dw_uc.GetRow()])) SELECT u_spt.sptid, u_spt.name, u_spt.sptcode, dftbanktypeid, dftmoneyid INTO :ls_sptid,:ls_name,:ls_code,:dftbanktypeid,:dftmoneyid FROM u_spt Where ( sptcode = :ls_code Or Name = :ls_code ); IF sqlca.SQLCode <> 0 THEN IF Pos(Trim(ls_code),'%') = 0 THEN ls_find_code = '%'+ Trim(ls_code) + '%' ELSE ls_find_code = Trim(ls_code) END IF SELECT count(*) INTO :cnt FROM u_spt Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code ); IF sqlca.SQLCode <> 0 THEN Parent.TriggerEvent('ue_f9') RETURN 1 END IF IF cnt <> 1 THEN Parent.TriggerEvent('ue_f9') RETURN 1 ELSE SELECT u_spt.sptid, u_spt.sptcode, u_spt.name, dftbanktypeid, dftmoneyid INTO :ls_sptid,:ls_code,:ls_name,:dftbanktypeid,:dftmoneyid FROM u_spt Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code ); IF sqlca.SQLCode <> 0 THEN Parent.TriggerEvent('ue_f9') RETURN 1 ELSE if_find = True END IF END IF ELSE if_find = True END IF IF if_find THEN // //重置dw_child // wf_change_sptid(ls_sptid) dw_uc.SetRedraw(False) dw_uc.Object.sptid[dw_uc.GetRow()] = ls_sptid dw_uc.Object.sptcode[dw_uc.GetRow()] = ls_code dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name dw_uc.Object.u_buytask_banktypeid[dw_uc.GetRow()] = dftbanktypeid dw_uc.Object.u_buytask_moneyid[dw_uc.GetRow()] = dftmoneyid dw_uc.Object.u_buytask_mrate[dw_uc.GetRow()] = f_get_mrate( dftmoneyid) FOR i = 1 To dw_child.RowCount( ) wf_get_price(i) wf_get_sptmtrlname(i) NEXT dw_uc.SetRedraw(True) dw_uc.SetColumn("u_buytask_relcode") RETURN 1 END IF ELSE IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF end event event dw_uc::clicked;call super::clicked;IF row <= 0 THEN RETURN IF dwo.Name = 'p_dview' THEN Parent.TriggerEvent('ue_add_dscrp') END IF IF dw_edit_mode THEN Long ll_billtype ll_billtype = dw_uc.Object.u_buytask_billtype[row] IF dwo.Name = 'p_p' THEN Parent.TriggerEvent('ue_f9') ELSEIF dwo.Name = 'p_money' THEN Parent.TriggerEvent('ue_ch_money') ELSEIF dwo.Name = 'p_banktype' THEN Parent.TriggerEvent('ue_ch_banktype') ELSEIF dwo.Name = 'p_task' Or dwo.Name = 't_task' THEN IF ll_billtype = 2 THEN //订单材料采购 Parent.TriggerEvent('ue_f11') ELSE Parent.TriggerEvent('ue_f7') //成品采购 END IF ELSEIF dwo.Name = 'p_his' Or dwo.Name = 't_his' THEN Parent.TriggerEvent('ue_his') //历史 ELSEIF dwo.Name = 'p_quote' Or dwo.Name = 'choicequote_t' THEN Parent.TriggerEvent('ue_f12') END IF END IF end event event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN IF dwo.Name = 'sptcode' THEN PARENT.TriggerEvent('ue_f9') END IF END IF end event event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN dw_uc.AcceptText() IF dw_uc.GetRow() <= 0 THEN RETURN IF dwo.Name = 'u_buytask_billtype' THEN dw_child.Reset() PARENT.TriggerEvent("insert_childrow") ELSEIF dwo.Name <> 'u_buytask_moneyid' THEN Long ll_moneyid ll_moneyid = dw_uc.Object.u_buytask_moneyid[dw_uc.GetRow()] dw_uc.SetRedraw(FALSE) dw_uc.Object.u_buytask_mrate[dw_uc.GetRow()] = f_get_mrate(ll_moneyid) dw_uc.SetRedraw(TRUE) END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_buytask end type type dw_child from w_publ_1ton_share_detail`dw_child within w_buytask event mousemove pbm_mousemove integer y = 1440 integer width = 3543 integer height = 832 integer taborder = 250 string title = "采购订单明细" string dataobject = "dw_buytaskmx" end type event dw_child::mousemove;IF IsValid(up) THEN up.closethis() END IF end event event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_mtrlsectype,ls_zxmtrlmode,ls_mtrltype String ls_ordercode,ls_relcode,ls_unit_buy Long ls_mtrlid,ls_sptid,ls_orderid,ls_storageid Dec ls_planprice,ls_lmbuyprice,ls_price,ls_rebate,ld_rate_buy Long cnt Long child_row Long ls_null SetNull(ls_null) String arg_msg = '' Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String ls_sptmtrlname String ls_1stunit,ls_status,ls_woodcode,ls_pcode Int li_statusflag,li_woodcodeflag,li_pcodeflag,ll_billtype s_mtrldef_array arg_s_mtrldef IF dw_edit_mode THEN dw_uc.AcceptText() dw_child.AcceptText() IF dw_uc.GetRow() = 0 THEN RETURN ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] ll_billtype = dw_uc.Object.u_buytask_billtype[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN PARENT.TriggerEvent("ue_f9") END IF IF KeyDown(keydownarrow!) THEN Long li_row IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") END IF ELSE IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN dw_child.AcceptText() child_row = dw_child.GetRow() IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' AND ll_billtype = 0 THEN ls_storageid = dw_child.Object.u_buytaskmx_storageid[child_row] IF ls_storageid = 0 OR IsNull(ls_storageid) THEN MessageBox('提示','请先选择仓库', Information!, OK! ) RETURN END IF ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row] IF f_find_mtrl(ls_mtrlcode,ls_storageid,arg_s_mtrldef) = 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 ELSE ls_mtrlid = arg_s_mtrldef.mtrlid[1] ls_mtrlcode = arg_s_mtrldef.mtrlcode[1] ls_mtrlname = arg_s_mtrldef.mtrlname[1] ls_unit = arg_s_mtrldef.unit[1] ls_mtrlmode = arg_s_mtrldef.mtrlmode[1] ls_planprice = arg_s_mtrldef.planprice[1] ls_lmbuyprice = arg_s_mtrldef.lmbuyprice[1] ld_rate_buy = arg_s_mtrldef.rate_buy[1] ls_unit_buy = arg_s_mtrldef.unit_buy[1] ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1] ls_mtrltype = arg_s_mtrldef.mtrltype[1] ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1] li_statusflag = arg_s_mtrldef.statusflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] END IF dw_child.Object.mtrlid[child_row] = ls_mtrlid dw_child.Object.mtrlname[child_row] = ls_mtrlname dw_child.Object.u_mtrldef_unit[child_row] = ls_unit dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag dw_child.Object.u_buytaskmx_status[child_row] = arg_s_mtrldef.status[1] dw_child.Object.u_buytaskmx_woodcode[child_row] = arg_s_mtrldef.woodcode[1] dw_child.Object.u_buytaskmx_pcode[child_row] = arg_s_mtrldef.pcode[1] dw_child.Object.u_buytaskmx_rate[child_row] = 1 dw_child.Object.u_buytaskmx_unit[child_row] = ls_unit wf_get_price(child_row) wf_get_sptmtrlname(child_row) // ls_1strate = 1 // ls_1stunit = '' //dw_child.Object.u_buytaskmx_unit[child_row] // ls_status = dw_child.Object.u_buytaskmx_status[child_row] // ls_woodcode = dw_child.Object.u_buytaskmx_woodcode[child_row] // ls_pcode = dw_child.Object.u_buytaskmx_pcode[child_row] // IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN // IF ls_planprice = 0 THEN // dw_child.Object.u_buytaskmx_uprice[child_row] = ls_lmbuyprice // ELSE // dw_child.Object.u_buytaskmx_uprice[child_row] = ls_planprice // END IF // dw_child.Object.u_buytaskmx_rebate[child_row] = 1 // IF ls_unit_buy = '' THEN // dw_child.Object.u_buytaskmx_rate[child_row] = 1 // dw_child.Object.u_buytaskmx_unit[child_row] = ls_unit // ELSE // dw_child.Object.u_buytaskmx_rate[child_row] = ld_rate_buy // dw_child.Object.u_buytaskmx_unit[child_row] = ls_unit_buy // END IF // ELSE // dw_child.Object.u_buytaskmx_uprice[child_row] = ls_1stnewcost // dw_child.Object.u_buytaskmx_rebate[child_row] = ls_1stzqrate // dw_child.Object.u_buytaskmx_rate[child_row] = ls_1strate // dw_child.Object.u_buytaskmx_unit[child_row] = ls_1stunit // END IF // IF uo_sptprice.uf_getmtrlname(ls_sptid,ls_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN // dw_child.Object.u_buytaskmx_sptmtrlname[child_row] = ls_sptmtrlname // END IF PARENT.TriggerEvent('ue_allowedit') IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_child.GetColumnName() = 'u_buytaskmx_status' OR dw_child.GetColumnName() = 'u_buytaskmx_woodocde' OR dw_child.GetColumnName() = 'u_buytaskmx_pcode' THEN wf_get_price(child_row) wf_get_sptmtrlname(child_row) // dw_uc.AcceptText() // dw_child.AcceptText() // // child_row = dw_child.GetRow() // ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] // ls_mtrlid = dw_child.Object.mtrlid[child_row] // ls_1stunit = dw_child.Object.u_buytaskmx_unit[child_row] // ls_status = dw_child.Object.u_buytaskmx_status[child_row] // ls_woodcode = dw_child.Object.u_buytaskmx_woodcode[child_row] // ls_pcode = dw_child.Object.u_buytaskmx_pcode[child_row] // // IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN // // IF ls_planprice = 0 THEN // // dw_child.Object.u_buytaskmx_uprice[child_row] = ls_lmbuyprice // // ELSE // // dw_child.Object.u_buytaskmx_uprice[child_row] = ls_planprice // // END IF // // dw_child.Object.u_buytaskmx_rebate[child_row] = 1 // // IF ls_unit_buy = '' THEN // // dw_child.Object.u_buytaskmx_rate[child_row] = 1 // // dw_child.Object.u_buytaskmx_unit[child_row] = ls_unit // // ELSE // // dw_child.Object.u_buytaskmx_rate[child_row] = ld_rate_buy // // dw_child.Object.u_buytaskmx_unit[child_row] = ls_unit_buy // // END IF // ELSE // dw_child.Object.u_buytaskmx_uprice[child_row] = ls_1stnewcost // dw_child.Object.u_buytaskmx_rebate[child_row] = ls_1stzqrate // dw_child.Object.u_buytaskmx_rate[child_row] = ls_1strate // dw_child.Object.u_buytaskmx_unit[child_row] = ls_1stunit // END IF // // IF uo_sptprice.uf_getmtrlname(ls_sptid,ls_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN // dw_child.Object.u_buytaskmx_sptmtrlname[child_row] = ls_sptmtrlname // END IF IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_child.GetColumnName( ) = 'dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 ELSE IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF END IF END IF end event event dw_child::doubleclicked;string ls_text IF dwo.Name = 'dscrp' THEN PARENT.TriggerEvent('ue_view_mxdscrp') RETURN ELSEIF dwo.Name = 'u_buytaskmx_dscrp2' THEN PARENT.TriggerEvent('ue_view_mxdscrp2') RETURN ELSEIF dwo.Name = 'u_buytaskmx_dscrp3' THEN PARENT.TriggerEvent('ue_view_mxdscrp3') RETURN ELSEIF dwo.Name = 'u_buytaskmx_dscrp4' THEN PARENT.TriggerEvent('ue_view_mxdscrp4') RETURN END IF Long ll_billtype dw_uc.AcceptText() ll_billtype = dw_uc.Object.u_buytask_billtype[dw_uc.GetRow()] IF dw_edit_mode THEN CHOOSE CASE dwo.Name CASE 'u_buytaskmx_unit' Parent.TriggerEvent('ue_f10') CASE 'u_mtrldef_mtrlcode' IF ll_billtype = 0 THEN //备货 Parent.TriggerEvent('ue_f8') ELSEIF ll_billtype = 1 THEN Parent.TriggerEvent('ue_f7') //销售订单 ELSE Parent.TriggerEvent('ue_f11') //运算 END IF Parent.TriggerEvent('ue_get_maxprice') //计算当前日期新收货价 CASE 'u_buytaskmx_uqty' , 'u_buytaskmx_formula' Parent.TriggerEvent('ue_cmpl_qty') CASE 'u_buytaskmx_uprice' , 'u_buytaskmx_formula2' Parent.TriggerEvent('ue_cmpl_price') END CHOOSE ELSE IF dwo.Name = 'u_buytaskmx_uprice' THEN Parent.TriggerEvent('ue_show_price_remind') END IF END IF end event event dw_child::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN THIS.AcceptText() IF dwo.Name = 'u_buytaskmx_iforder' THEN IF THIS.Object.u_buytaskmx_iforder[row] = 0 THEN dw_child.Object.u_buytaskmx_orderid[row] = 0 dw_child.Object.u_order_ml_relcode[row] = '' dw_child.Object.u_mtrldef_mtrlcode_1[row] = '' dw_child.Object.u_order_ml_ordercode[row] = '' END IF ELSEIF dwo.Name = 'u_buytaskmx_uqty' Or dwo.Name = 'u_buytaskmx_uamt' Or dwo.Name = 'u_buytaskmx_uprice' Or dwo.Name = 'u_buytaskmx_rebate' or dwo.Name = 'u_buytaskmx_uprice_notax' or dwo.name = 'u_buytaskmx_tax' THEN wf_cmpl_amt(row) END IF end event event dw_child::itemfocuschanged;call super::itemfocuschanged;dw_child.AcceptText() //dw_child.Object.amt[dw_child.GetRow()] = Round(dw_child.Object.u_buytaskmx_uqty[dw_child.GetRow()]*dw_child.Object.u_buytaskmx_uprice[dw_child.GetRow()]*dw_child.Object.u_buytaskmx_rebate[dw_child.GetRow()] ,2) end event event dw_child::editchanged;call super::editchanged;//IF This.GetColumnName() = 'u_buytaskmx_uamt' THEN RETURN IF DATA= '' THEN RETURN this.accepttext() end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_buytask end type type cb_print from w_publ_1ton_share_detail`cb_print within w_buytask integer taborder = 240 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_buytask end type event cb_add::clicked;IF Not f_power_ind(93) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF String arg_msg = '' Long uc_row,pagerert_row Long relid_pageretr,reld_uc,i Long ll_taskid String ls_relcode Long ll_cnt s_buytask_mx 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 dw_uc.Object.u_buytask_moneyid[uc_row] = 0 THEN MessageBox('提示','请选择币种!',Information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("u_buytask_moneyid") RETURN END IF IF Year(Date(dw_uc.Object.Requiredate[uc_row])) < 2000 THEN MessageBox('提示','订货日期为空或不合理!', Information!, OK! ) dw_uc.SetFocus() dw_uc.SetColumn("Requiredate") RETURN END IF IF Not Len(String(dw_uc.Object.Assign_emp[uc_row])) > 0 THEN MessageBox('提示','请填写订单负责人!', Information!, OK! ) dw_uc.SetFocus() dw_uc.SetColumn("Assign_emp") RETURN END IF IF Not sys_power_issuper And f_power_ind(1481) THEN arg_msg = '' FOR i = 1 To dw_child.RowCount() IF dw_child.Object.u_buytaskmx_uprice[i] = 0 THEN arg_msg = arg_msg + '第' + String(i) + '行,物料:' + dw_child.Object.u_mtrldef_mtrlcode[i] + ',单价为零!~n ' END IF NEXT IF arg_msg <> '' THEN MessageBox('提示',arg_msg + '受用户权限限制,不能保存!',Information!,OK!) RETURN END IF END IF //检查交货日期 arg_msg = '' FOR i = 1 To dw_child.RowCount() IF Date(dw_child.Object.u_buytaskmx_requiredate[i]) < Date(dw_uc.Object.Requiredate[uc_row]) THEN arg_msg += '第' + String(i) + '行,明细交货日期小于订货日期!~n ' END IF NEXT IF arg_msg <> '' THEN MessageBox('提示',arg_msg + '不能保存!',Information!,OK!) RETURN END IF //检查相关号是否重复 ll_taskid = dw_uc.Object.taskid[uc_row] ls_relcode = Trim(dw_uc.Object.u_buytask_relcode[uc_row]) IF ls_relcode <> "" THEN SELECT count(*) INTO :ll_cnt FROM u_buytask WHERE relcode = :ls_relcode And taskid <> :ll_taskid; IF sqlca.SQLCode <> 0 THEN ll_cnt = 0 END IF IF ll_cnt > 0 THEN IF MessageBox ("询问","单据相关号["+ls_relcode+"]已存在,是否继续保存?",Question!,YesNo! ) = 2 THEN RETURN END IF END IF //检查辅数与数量 IF wf_check_qtyandaddqty(arg_msg) = 0 THEN MessageBox('提示',arg_msg + ',不能保存!',Information!,OK!) RETURN END IF obj_task.Requiredate = dw_uc.Object.Requiredate[uc_row] //要求完成日期 obj_task.Assign_emp = dw_uc.Object.Assign_emp[uc_row] //订单负责人 obj_task.Kind = 0 obj_task.sptID = dw_uc.Object.sptID[uc_row] obj_task.dscrp = dw_uc.Object.dscrp[uc_row] obj_task.relcode = dw_uc.Object.u_buytask_relcode[uc_row] obj_task.banktypeid = dw_uc.Object.u_buytask_banktypeid[uc_row] obj_task.train = dw_uc.Object.u_buytask_train[uc_row] obj_task.billtype = dw_uc.Object.u_buytask_billtype[uc_row] obj_task.moneyid = dw_uc.Object.u_buytask_moneyid[uc_row] obj_task.mrate = dw_uc.Object.u_buytask_mrate[uc_row] FOR i = 1 To dw_child.RowCount() IF dw_child.Object.mtrlid[i] > 0 THEN s_mx.iforder = 0 s_mx.orderid = 0 s_mx.ordercode = '' s_mx.mtrlid = dw_child.Object.mtrlid[i] s_mx.uqty = dw_child.Object.u_buytaskmx_uqty[i] s_mx.addqty = dw_child.Object.u_buytaskmx_addqty[i] s_mx.uprice = dw_child.Object.u_buytaskmx_uprice[i] s_mx.rebate = dw_child.Object.u_buytaskmx_rebate[i] s_mx.planprice = 0 s_mx.dscrp = dw_child.Object.dscrp[i] s_mx.mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i] s_mx.printid = dw_child.Object.pid[i] s_mx.requiredate = dw_child.Object.u_buytaskmx_requiredate[i] s_mx.storageid = dw_child.Object.u_buytaskmx_storageid[i] s_mx.status = dw_child.Object.u_buytaskmx_status[i] s_mx.woodcode = dw_child.Object.u_buytaskmx_woodcode[i] s_mx.pcode = dw_child.Object.u_buytaskmx_pcode[i] s_mx.unit = dw_child.Object.u_buytaskmx_unit[i] s_mx.rate = dw_child.Object.u_buytaskmx_rate[i] s_mx.relid = dw_child.Object.u_buytaskmx_relid[i] s_mx.relprintid = dw_child.Object.u_buytaskmx_relprintid[i] s_mx.relcode = dw_child.Object.u_buytaskmx_relcode[i] s_mx.formula = dw_child.Object.u_buytaskmx_formula[i] s_mx.formula2 = dw_child.Object.u_buytaskmx_formula2[i] s_mx.relid2 = dw_child.Object.u_buytaskmx_relid2[i] s_mx.tax = dw_child.Object.u_buytaskmx_tax[i] s_mx.plancode = dw_child.Object.u_buytaskmx_plancode[i] s_mx.dscrp2 = dw_child.Object.u_buytaskmx_dscrp2[i] s_mx.dscrp3 = dw_child.Object.u_buytaskmx_dscrp3[i] s_mx.dscrp4 = dw_child.Object.u_buytaskmx_dscrp4[i] s_mx.uprice_notax = dw_child.Object.u_buytaskmx_uprice_notax[i] //不含税单价 s_mx.uamt_tax = dw_child.Object.u_buytaskmx_uamt_tax[i] IF obj_task.acceptmx(s_mx,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF END IF NEXT IF obj_task.savesubmit(publ_operator,arg_msg,True) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) RETURN END IF // MessageBox('提示','保存操作成功!') //write ini f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype", String(dw_uc.Object.u_buytask_banktypeid[dw_uc.GetRow()])) f_SetProfileString (sys_empid,dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_buytask_moneyid[dw_uc.GetRow()])) f_SetProfileString (sys_empid,dw_uc.DataObject, "billtype",String(dw_uc.Object.u_buytask_billtype[dw_uc.GetRow()])) f_SetProfileString (sys_empid,dw_uc.DataObject, "assign_emp",String(dw_uc.Object.Assign_emp[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(obj_task.scid,obj_task.taskid) //刷新uc String ls_taskcode ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()] IF f_billevent_trigger (401, 2, ls_taskcode, arg_msg) = 0 THEN MessageBox('Error',arg_msg) END IF ELSE IF obj_task.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_banktype,ls_moneyid,ls_billtype,ls_assign_emp ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0') ls_moneyid = f_ProfileString (sys_empid,dw_uc.DataObject, "moneyid",'0') ls_billtype = f_ProfileString (sys_empid,dw_uc.DataObject, "billtype",'0') // ls_assign_emp = f_ProfileString (sys_empid,dw_uc.DataObject, "assign_emp",'') ls_assign_emp = publ_operator dw_uc.SetRedraw(False) dw_uc.Object.u_buytask_moneyid[dw_uc.GetRow()] = Long(ls_moneyid) dw_uc.Object.u_buytask_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid)) dw_uc.Object.u_buytask_banktypeid[dw_uc.GetRow()] = Long(ls_banktype) dw_uc.Object.u_buytask_billtype[dw_uc.GetRow()] = Long(ls_billtype) dw_uc.Object.Assign_emp[dw_uc.GetRow()] = ls_assign_emp dw_uc.SetFocus() dw_uc.SetColumn("u_buytask_moneyid") 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_buytask end type event cb_edit::clicked;IF NOT f_power_ind(93) THEN MessageBox('提示',sys_msg_pow, 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 obj_task.updatebegin(dw_pageretr.Object.u_buytask_scid[uc_row],dw_pageretr.Object.taskid[uc_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) RETURN END IF END IF CALL SUPER::Clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_buytask integer taborder = 260 end type event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(594) THEN MessageBox('提示',sys_msg_pow, 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 obj_task.Cancel(dw_pageretr.Object.u_buytask_scid[uc_row],dw_pageretr.Object.taskid[uc_row],arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.taskid[uc_row] ls_code = dw_pageretr.Object.taskCODE[uc_row] f_setsysoplog('采购订单','删除,id:'+String(ls_id)+',单号:'+ls_code,arg_msg,TRUE) //-- MessageBox('提示','删除单据'+String(dw_pageretr.Object.taskCODE[uc_row])+'成功!', Information!, OK! ) dw_pageretr.DeleteRow(uc_row) dw_pageretr.PostEvent(RowFocusChanged!) END IF end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_buytask end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF NOT dw_edit_mode THEN menustr = "Text=增加备注~tEvent=ue_addzy" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=暂停订单~tEvent=ue_tempstoptask" menustr = menustr + "|" + "Text=取消暂停~tEvent=ue_ctempstoptask" menustr = menustr + "|" + "Text=终止订单~tEvent=ue_stopsaletask" menustr = menustr + "|" + "Text=取消终止~tEvent=ue_cstopsaletask" menustr = menustr + "|" + "Text=完成订单~tEvent=ue_finishtask" menustr = menustr + "|" + "Text=取消完成~tEvent=ue_cfinishtask" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=中止明细物料~tEvent=ue_stopmx" menustr = menustr + "|" + "Text=取消中止~tEvent=ue_cstopmx" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=确认~tEvent=ue_priceaudit" menustr = menustr + "|" + "Text=反确认~tEvent=ue_cpriceaudit" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view" menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit" menustr = menustr + "|" + "Text=刷新附件数量~tEvent=retrieve_fjnum" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=发送Email~tEvent=ue_sendemail" menustr = menustr + "|" + "Text=-" menustr += "|" + "Text=辅助建立采购收货单~tEvent=ue_create_inware_buy" menustr += "|" + "Text=辅助建立采购订单付款单~tEvent=ue_create_taskdamt" ELSE menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=辅助计算~tEvent=ue_cpml_qty" END IF 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_buytask integer taborder = 290 string text = "审批&F" end type event cb_auditing::clicked;call super::clicked;IF Not f_power_ind(94) THEN MessageBox('提示',sys_msg_pow, 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 obj_task.firstpermit(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],publ_operator,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox('提示','订单采购审核成功!', Information!, OK! ) String ls_taskcode ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()] IF f_billevent_trigger (401, 3, ls_taskcode, arg_msg) = 0 THEN MessageBox('Error',arg_msg) END IF IF cur_status <> -1 THEN dw_pageretr.DeleteRow(pagerert_row) ELSE wf_refresh_curuc(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row]) END IF END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_buytask end type event cb_xm::clicked;// is_mx_menustr = '' IF dw_edit_mode THEN is_mx_menustr += "|" + "Text=批设定单价~tEvent=ue_p_uprice_set" is_mx_menustr += "|" + "Text=计算税率~tEvent=ue_cmpl_tax" is_mx_menustr += "|" + "Text=批设定税率~tEvent=ue_p_tax" is_mx_menustr += "|" + "Text=批设定交货期~tEvent=ue_p_requiredate_set" is_mx_menustr += "|" + "Text=批设定数量公式~tEvent=ue_p_formula_set" is_mx_menustr += "|" + "Text=批设定单价公式~tEvent=ue_p_formula2_set" is_mx_menustr += "|" + "Text=批由数量公式计算数量~tEvent=ue_p_cmpl_qty" is_mx_menustr += "|" + "Text=批由单价公式计算单价~tEvent=ue_p_cmpl_price" //批由公式计算单价 is_mx_menustr += "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty" ELSE is_mx_menustr += "|" + "Text=在进行的采购订单修改供应商回复交期和延期原因~tEvent=ue_buytask_mod" END IF CALL Super::Clicked end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_buytask integer taborder = 200 end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_buytask end type type cb_help from w_publ_1ton_share_detail`cb_help within w_buytask end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_buytask end type event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(96) THEN MessageBox('提示',sys_msg_pow, 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 obj_task.cancelpermit(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.taskid[pagerert_row] ls_code = dw_pageretr.Object.taskCODE[pagerert_row] f_setsysoplog('采购订单','撤审,id:'+String(ls_id)+',单号:'+ls_code,arg_msg,TRUE) //-- MessageBox('提示','订单取消审核成功!', Information!, OK! ) IF cur_status <> -1 THEN dw_pageretr.DeleteRow(pagerert_row) ELSE wf_refresh_curuc(dw_pageretr.Object.u_buytask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row]) END IF END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_buytask end type type p_help from w_publ_1ton_share_detail`p_help within w_buytask end type type p_encl from w_publ_1ton_share_detail`p_encl within w_buytask end type event p_encl::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=添加附件~tEvent=ue_fj_edit" menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=添加明细附件~tEvent=ue_fj_edit_mx" menustr = menustr + "|" + "Text=查看明细附件~tEvent=ue_fj_view_mx" menustr = menustr + "|" + "Text=产品附件另存为明细附件~tEvent=ue_fj_mx_add_p" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=打开副本~tEvent=ue_copyself" 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 p_other from w_publ_1ton_share_detail`p_other within w_buytask end type event p_other::clicked;if sys_option_if_ljfieb = 0 then return m_Dfc_Control_PopupMenu dmPopupMenu string menustr menustr="Text=发送单据~tEvent=ue_send_ljfieb" menustr=menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=查看电子商务记录~tEvent=ue_jdview_ljfieb" menustr=menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=查看订单进度~tEvent=ue_buytask_jd_ljfieb" 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 gb_3 from w_publ_1ton_share_detail`gb_3 within w_buytask end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_buytask end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_buytask end type type r_bar from w_publ_1ton_share_detail`r_bar within w_buytask end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_buytask end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_buytask end type type ddlb_scid from uo_ddlb_scid within w_buytask integer x = 928 integer y = 188 integer width = 549 integer height = 620 integer taborder = 30 boolean bringtotop = true 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_2 from statictext within w_buytask integer x = 745 integer y = 204 integer width = 192 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 = "分 部" boolean focusrectangle = false end type type st_3 from statictext within w_buytask integer x = 1518 integer y = 204 integer width = 192 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 = "状 态" boolean focusrectangle = false end type type ddlb_status from uo_ddlb_status within w_buytask integer x = 1701 integer y = 188 integer width = 402 integer height = 812 integer taborder = 100 boolean bringtotop = true string item[] = {"[全部]","待审批[0]","在进行[1]","已暂停[2]","已终止[3]","自动完成[5]","手动完成[6]"} end type event selectionchanged;call super::selectionchanged;parent.triggerevent("retrieve_pageretr") end event event uof_getvalue;call super::uof_getvalue;cur_status = this.uo_status end event type cbx_enamt_edit from checkbox within w_buytask integer x = 3296 integer y = 68 integer width = 795 integer height = 80 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 ii_enamt_edit = 1 ELSE ii_enamt_edit = 0 END IF f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",String(ii_enamt_edit)) //parent.triggerevent("ue_allowedit") IF ii_enamt_edit = 0 THEN dw_child.Modify('u_buytaskmx_uamt.protect = 1~t u_buytaskmx_uamt.Color = 0') dw_child.Modify('u_buytaskmx_uamt_t.Color = 0') ELSE dw_child.Modify('u_buytaskmx_uamt.protect = 0~t u_buytaskmx_uamt.Color = "0~trgb(0,0,255)"') dw_child.Modify('u_buytaskmx_uamt_t.Color = "0~trgb(0,0,255)"') END IF end event event constructor;this.backcolor = 14215660 ii_enamt_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",'0')) IF ii_enamt_edit = 1 THEN THIS.Checked = TRUE ELSE THIS.Checked = FALSE END IF end event type cbx_enamt_notax_edit from checkbox within w_buytask integer x = 4114 integer y = 68 integer width = 795 integer height = 80 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 ii_enamt_notax_edit = 1 ELSE ii_enamt_notax_edit = 0 END IF f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",String(ii_enamt_notax_edit)) wf_enamt_facechg() end event event constructor; this.backcolor = 14215660 ii_enamt_notax_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",'0')) IF ii_enamt_notax_edit = 1 THEN THIS.Checked = TRUE ELSE THIS.Checked = FALSE END IF wf_enamt_facechg() // end event