$PBExportHeader$w_order_wfjg.srw forward global type w_order_wfjg from w_publ_1ton_share_detail end type type st_13 from statictext within w_order_wfjg end type type st_2 from statictext within w_order_wfjg end type type ddlb_scid from uo_ddlb_scid within w_order_wfjg end type type tab_1 from tab within w_order_wfjg end type type tabpage_1 from userobject within tab_1 end type type dw_1 from u_dw_rbtnfilter within tabpage_1 end type type tabpage_1 from userobject within tab_1 dw_1 dw_1 end type type tabpage_2 from userobject within tab_1 end type type dw_2 from u_dw_rbtnfilter within tabpage_2 end type type tabpage_2 from userobject within tab_1 dw_2 dw_2 end type type tab_1 from tab within w_order_wfjg tabpage_1 tabpage_1 tabpage_2 tabpage_2 end type type st_3 from statictext within w_order_wfjg end type type em_1 from editmask within w_order_wfjg end type type cbx_autocmpl from checkbox within w_order_wfjg end type type cb_in_2_out from uo_imflatbutton within w_order_wfjg end type type ddlb_retrstatus from uo_ddlb_status within w_order_wfjg end type type cb_in from uo_imflatbutton within w_order_wfjg end type type cb_out from uo_imflatbutton within w_order_wfjg end type end forward global type w_order_wfjg from w_publ_1ton_share_detail integer width = 3689 integer height = 2580 string title = "外协订单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event insert_childrow_out ( ) event ue_cmpmx ( ) event ue_tempstoptask ( ) event ue_stopsaletask ( ) event ue_finishtask ( ) event ue_ctempstoptask ( ) event ue_fj_edit ( ) event ue_fj_view ( ) event ue_cfinishtask ( ) event ue_p_storageid_in ( ) event ue_p_storageid_out ( ) event ue_p_rqdate ( ) event ue_p_jgdscrp ( ) event ue_cmp_qty ( ) event ue_cmp_uqty ( ) event ue_allowedit_in ( ) event ue_allowedit_out ( ) event ue_cstopmx ( ) event ue_stopmx ( ) event ue_stopmx1 ( ) event ue_cstopmx1 ( ) event ue_create_wfjg_out ( ) event ue_f13 ( ) event ue_ch_banktype ( ) st_13 st_13 st_2 st_2 ddlb_scid ddlb_scid tab_1 tab_1 st_3 st_3 em_1 em_1 cbx_autocmpl cbx_autocmpl cb_in_2_out cb_in_2_out ddlb_retrstatus ddlb_retrstatus cb_in cb_in cb_out cb_out end type global w_order_wfjg w_order_wfjg type variables Int cur_status = 0 uo_order_wfjg uo_wfjg uo_spt_price uo_sptprice Int cur_flag = -1 Long cur_scid //datawindow dw_in,dw_out long child_column_int_out datastore ds_copy_in,ds_copy_out u_dw_rbtnfilter dw_in,dw_out 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_wfjgid) public function integer wf_lock_child () 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_in_to_out (ref string arg_msg) public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg) public function integer wf_refresh_interface () end prototypes event insert_childrow();long li_row li_row=dw_in.insertrow(0) dw_in.scrolltorow(li_row) dw_in.object.u_order_wfjgmx_iforder[li_row] = sys_option_autoyes if li_row > 1 then dw_in.accepttext() dw_in.object.u_order_wfjgmx_storageid[li_row] = dw_in.object.u_order_wfjgmx_storageid[1] end if dw_in.SetColumn ('u_order_wfjgmx_iforder') end event event insert_childrow_out();long li_row li_row=dw_out.insertrow(0) dw_out.scrolltorow(li_row) dw_out.object.u_order_wfjgmx_out_iforder[li_row] = sys_option_autoyes if li_row > 1 then dw_out.accepttext() dw_out.object.u_order_wfjgmx_out_storageid[li_row] = dw_out.object.u_order_wfjgmx_out_storageid[1] end if dw_in.SetColumn ('u_order_wfjgmx_iforder') end event event ue_tempstoptask();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF if not f_power_ind(43) then messagebox('提示','你没有使用权限!',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 uo_wfjg.tempstoptask(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) ELSE messagebox('提示',"外加工计划作暂停操作成功!",information!,OK!) if cur_status <> -1 then dw_pageretr.deleterow(pagerert_row) else wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row]) end if end if end event event ue_stopsaletask();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF if not f_power_ind(44) then messagebox('提示','你没有使用权限!',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 uo_wfjg.stopbuytask(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) ELSE messagebox('提示','外加工计划终止操作成功!',information!,OK!) if cur_status <> -1 then dw_pageretr.deleterow(pagerert_row) else wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[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(981) then messagebox('提示','你没有使用权限!',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.u_order_wfjg_wfjgid[pagerert_row] ls_status=dw_pageretr.object.u_order_wfjg_status[pagerert_row] if ls_status = 6 then ls_finishflag = 1 else ls_finishflag = 6 end if if uo_wfjg.finishtask(ls_finishflag,dw_pageretr.object.u_order_wfjg_scid[pagerert_row],ls_taskid,arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) else messagebox('提示','外加工计划完成操作成功!',information!,OK!) if cur_status <> -1 then dw_pageretr.deleterow(pagerert_row) else wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row]) end if end if end event event ue_ctempstoptask();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF if not f_power_ind(43) then messagebox('提示','你没有使用权限!',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 uo_wfjg.tempstoptask(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) ELSE messagebox('提示',"外加工计划作取消暂停操作成功!",information!,OK!) if cur_status <> -1 then dw_pageretr.deleterow(pagerert_row) else wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[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,'你没有使用权限!') // RETURN //END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_uc.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 = 213 //外协订单的mainID s_pic.f_string = dw_uc.Object.u_order_wfjg_taskcode[ls_row] s_pic.g_long = dw_uc.Object.u_order_wfjg_wfjgid[ls_row] s_pic.e_long = dw_uc.Object.u_order_wfjg_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_uc.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('错误','没有指定附件数据库连接'+arg_msg,stopsign!,OK!) RETURN END IF s_pic.f_long = 213 //外协订单的mainID s_pic.f_string = dw_uc.Object.u_order_wfjg_taskcode[ls_row] s_pic.g_long = dw_uc.Object.u_order_wfjg_wfjgid[ls_row] s_pic.e_long = dw_uc.Object.u_order_wfjg_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event event ue_cfinishtask();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) RETURN END IF IF NOT f_power_ind(982) THEN MessageBox('提示','你没有使用权限!',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.u_order_wfjg_wfjgid[pagerert_row] ls_status = dw_pageretr.Object.u_order_wfjg_status[pagerert_row] IF ls_status = 6 THEN ls_finishflag = 1 ELSE ls_finishflag = 6 END IF IF uo_wfjg.finishtask(ls_finishflag,dw_pageretr.Object.u_order_wfjg_scid[pagerert_row],ls_taskid,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) ELSE MessageBox('提示','外加工计划取消完成操作成功!',information!,OK!) IF cur_status <> -1 THEN dw_pageretr.DeleteRow(pagerert_row) ELSE wf_refresh_curuc(dw_pageretr.Object.u_order_wfjg_scid[pagerert_row],dw_pageretr.Object.u_order_wfjg_wfjgid[pagerert_row]) END IF END IF end event event ue_p_storageid_in();IF not dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF Long ll_i dw_in.AcceptText() IF dw_in.RowCount() = 0 THEN RETURN FOR ll_i = 1 TO dw_in.RowCount() IF ll_i = 1 THEN CONTINUE IF dw_in.Object.u_order_wfjgmx_storageid[ll_i] = 0 THEN dw_in.Object.u_order_wfjgmx_storageid[ll_i] = dw_in.Object.u_order_wfjgmx_storageid[1] END IF NEXT end event event ue_p_storageid_out();IF not dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF Long ll_i dw_out.AcceptText() IF dw_out.RowCount() = 0 THEN RETURN FOR ll_i = 1 TO dw_out.RowCount() IF ll_i = 1 THEN CONTINUE IF dw_out.Object.u_order_wfjgmx_out_storageid[ll_i] = 0 THEN dw_out.Object.u_order_wfjgmx_out_storageid[ll_i] = dw_out.Object.u_order_wfjgmx_out_storageid[1] END IF NEXT end event event ue_p_rqdate();IF NOT dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF Long ll_i dw_in.AcceptText() IF dw_in.RowCount() = 0 THEN RETURN FOR ll_i = 1 TO dw_in.RowCount() IF ll_i = 1 THEN CONTINUE dw_in.Object.u_order_wfjgmx_requiredate[ll_i] = dw_in.Object.u_order_wfjgmx_requiredate[1] NEXT end event event ue_p_jgdscrp();IF NOT dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF Long ll_i dw_in.AcceptText() IF dw_in.RowCount() = 0 THEN RETURN FOR ll_i = 1 TO dw_in.RowCount() IF ll_i = 1 THEN CONTINUE dw_in.Object.u_order_wfjgmx_jgdscrp[ll_i] = dw_in.Object.u_order_wfjgmx_jgdscrp[1] NEXT end event event ue_cmp_qty();IF NOT dw_edit_mode THEN RETURN Long ll_i dw_in.accepttext() dw_out.accepttext() dw_in.SetRedraw(FALSE) FOR ll_i = 1 TO dw_in.RowCount() IF dw_in.Object.u_order_wfjgmx_uqty[ll_i] > 0 AND dw_in.Object.u_order_wfjgmx_rate[ll_i] > 0 THEN dw_in.Object.u_order_wfjgmx_qty[ll_i] = round(dw_in.Object.u_order_wfjgmx_uqty[ll_i] * dw_in.Object.u_order_wfjgmx_rate[ll_i],sys_option_unit_dec) END IF NEXT dw_in.SetRedraw(TRUE) dw_out.SetRedraw(FALSE) FOR ll_i = 1 TO dw_out.RowCount() IF dw_out.Object.u_order_wfjgmx_out_uqty[ll_i] > 0 AND dw_out.Object.u_order_wfjgmx_out_rate[ll_i] > 0 THEN dw_out.Object.u_order_wfjgmx_out_qty[ll_i] = round(dw_out.Object.u_order_wfjgmx_out_uqty[ll_i] * dw_out.Object.u_order_wfjgmx_out_rate[ll_i],sys_option_unit_dec) END IF NEXT dw_out.SetRedraw(TRUE) end event event ue_cmp_uqty();IF NOT dw_edit_mode THEN RETURN Long ll_i dw_in.accepttext() dw_out.accepttext() dw_in.SetRedraw(FALSE) FOR ll_i = 1 TO dw_in.RowCount() IF dw_in.Object.u_order_wfjgmx_qty[ll_i] > 0 AND dw_in.Object.u_order_wfjgmx_rate[ll_i] > 0 THEN dw_in.Object.u_order_wfjgmx_uqty[ll_i] = round(dw_in.Object.u_order_wfjgmx_qty[ll_i] / dw_in.Object.u_order_wfjgmx_rate[ll_i],sys_option_unit_dec) END IF NEXT dw_in.SetRedraw(TRUE) dw_out.SetRedraw(FALSE) FOR ll_i = 1 TO dw_out.RowCount() IF dw_out.Object.u_order_wfjgmx_out_qty[ll_i] > 0 AND dw_out.Object.u_order_wfjgmx_out_rate[ll_i] > 0 THEN dw_out.Object.u_order_wfjgmx_out_uqty[ll_i] = round(dw_out.Object.u_order_wfjgmx_out_qty[ll_i] / dw_out.Object.u_order_wfjgmx_out_rate[ll_i],sys_option_unit_dec) END IF NEXT dw_out.SetRedraw(TRUE) end event event ue_allowedit_in();Long Columns Int i String ls_modify_str Long ll_row Long ll_value Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag String ls_status,ls_woodcode,ls_pcode String ls_data_type ll_row = dw_in.GetRow() IF ll_row <= 0 THEN RETURN Columns = Long(dw_in.Describe("DataWindow.Column.Count")) FOR i = 1 TO Columns ls_modify_str = dw_in.Describe("#" + String(i) + ".name") ls_modify_str = Lower(ls_modify_str) IF i = 1 THEN //第1个字段,约定物料ID ls_data_type = dw_in.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_value = dw_in.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'statusflag') > 0 THEN ls_data_type = dw_in.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_statusflag = dw_in.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN ls_data_type = dw_in.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_woodcodeflag = dw_in.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'pcodeflag') > 0 THEN ls_data_type = dw_in.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_pcodeflag = dw_in.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR & Pos(ls_modify_str,'u_buytask_status') > 0 OR & Pos(ls_modify_str,'u_order_ml_status') > 0 OR & Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR & Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN ls_status = ls_modify_str END IF END IF END IF IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN ls_woodcode = ls_modify_str END IF END IF IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN ls_pcode = ls_modify_str END IF END IF NEXT IF ls_status <> '' THEN IF ll_statusflag <> 0 OR ll_value = 0 THEN dw_in.Modify(ls_status+".dddw.allowedit = no") ELSE dw_in.Modify(ls_status+".dddw.allowedit = yes") END IF END IF IF ls_woodcode <> '' THEN IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN dw_in.Modify(ls_woodcode+".dddw.allowedit = no") ELSE dw_in.Modify(ls_woodcode+".dddw.allowedit = yes") END IF END IF IF ls_pcode <> '' THEN IF ll_pcodeflag <> 0 OR ll_value = 0 THEN dw_in.Modify(ls_pcode+".dddw.allowedit = no") ELSE dw_in.Modify(ls_pcode+".dddw.allowedit = yes") END IF END IF end event event ue_allowedit_out();Long Columns Int i String ls_modify_str Long ll_row Long ll_value Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag String ls_status,ls_woodcode,ls_pcode String ls_data_type ll_row = dw_out.GetRow() IF ll_row <= 0 THEN RETURN Columns = Long(dw_out.Describe("DataWindow.Column.Count")) FOR i = 1 TO Columns ls_modify_str = dw_out.Describe("#" + String(i) + ".name") ls_modify_str = Lower(ls_modify_str) IF i = 1 THEN //第1个字段,约定物料ID ls_data_type = dw_out.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_value = dw_out.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'statusflag') > 0 THEN ls_data_type = dw_out.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_statusflag = dw_out.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN ls_data_type = dw_out.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_woodcodeflag = dw_out.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'pcodeflag') > 0 THEN ls_data_type = dw_out.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_pcodeflag = dw_out.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR & Pos(ls_modify_str,'u_buytask_status') > 0 OR & Pos(ls_modify_str,'u_order_ml_status') > 0 OR & Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR & Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN ls_status = ls_modify_str END IF END IF END IF IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN ls_woodcode = ls_modify_str END IF END IF IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN ls_pcode = ls_modify_str END IF END IF NEXT IF ls_status <> '' THEN IF ll_statusflag <> 0 OR ll_value = 0 THEN dw_out.Modify(ls_status+".dddw.allowedit = no") ELSE dw_out.Modify(ls_status+".dddw.allowedit = yes") END IF END IF IF ls_woodcode <> '' THEN IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN dw_out.Modify(ls_woodcode+".dddw.allowedit = no") ELSE dw_out.Modify(ls_woodcode+".dddw.allowedit = yes") END IF END IF IF ls_pcode <> '' THEN IF ll_pcodeflag <> 0 OR ll_value = 0 THEN dw_out.Modify(ls_pcode+".dddw.allowedit = no") ELSE dw_out.Modify(ls_pcode+".dddw.allowedit = yes") END IF END IF end event event ue_cstopmx();IF NOT f_power_ind(1386) THEN MessageBox('提示','你没有使用权限!', 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_in.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_order_wfjg_scid[uc_row] ll_taskid = dw_pageretr.object.u_order_wfjg_wfjgid[uc_row] ll_printid = dw_in.object.u_order_wfjgmx_printid[childrow] ls_mtrlcode = dw_in.object.u_mtrldef_mtrlcode[childrow] if uo_wfjg.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.u_order_wfjg_wfjgid[uc_row] ls_code=dw_pageretr.object.u_order_wfjg_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_stopmx();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) RETURN END IF IF NOT f_power_ind(1386) THEN MessageBox('提示','你没有使用权限!', 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_in.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_order_wfjg_scid[uc_row] ll_taskid = dw_pageretr.Object.u_order_wfjg_wfjgid[uc_row] ll_printid = dw_in.Object.u_order_wfjgmx_printid[childrow] ls_mtrlcode = dw_in.Object.u_mtrldef_mtrlcode[childrow] IF uo_wfjg.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.u_order_wfjg_scid[uc_row] ls_code = dw_pageretr.Object.u_order_wfjg_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 uo_wfjg.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_stopmx1();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) return END IF IF NOT f_power_ind(1387) THEN MessageBox('提示','你没有使用权限!', 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_out.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_order_wfjg_scid[uc_row] ll_taskid = dw_pageretr.object.u_order_wfjg_wfjgid[uc_row] ll_printid = dw_out.object.u_order_wfjgmx_out_printid[childrow] ls_mtrlcode = dw_out.object.u_mtrldef_mtrlcode[childrow] IF uo_wfjg.stopmx1(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.u_order_wfjg_scid[uc_row] ls_code = dw_pageretr.Object.u_order_wfjg_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_cstopmx1();IF NOT f_power_ind(1387) THEN MessageBox('提示','你没有使用权限!', 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_out.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_order_wfjg_scid[uc_row] ll_taskid = dw_pageretr.object.u_order_wfjg_wfjgid[uc_row] ll_printid = dw_out.object.u_order_wfjgmx_out_printid[childrow] ls_mtrlcode = dw_out.object.u_mtrldef_mtrlcode[childrow] if uo_wfjg.stopmx1(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.u_order_wfjg_wfjgid[uc_row] ls_code=dw_pageretr.object.u_order_wfjg_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_create_wfjg_out();//辅助生成外协发出单 Int rslt = 1 String arg_msg Long ll_row, i Long ll_mtrlwareid String ls_outwarecode Long ll_mtrlid , ll_storageid, ll_scid String ls_status, ls_woodcode, ls_pcode uo_outware_wfjg uo_ware uo_ware = CREATE uo_outware_wfjg uo_ware.commit_transaction = sqlca ll_row = dw_pageretr.GetRow() IF ll_row <= 0 THEN rslt = 0 arg_msg = "请选择外协订单" GOTO ext END IF ll_scid = dw_pageretr.Object.u_order_wfjg_scid[ll_row] //初始化新建 IF uo_ware.newbegin(ll_scid,4,arg_msg) = 0 THEN rslt = 0 arg_msg = "请选择外协订单" GOTO ext END IF //初始化主表参数 uo_ware.outdate = dw_pageretr.Object.u_order_wfjg_requiredate[ll_row] uo_ware.outrep = dw_pageretr.Object.u_order_wfjg_assign_emp[ll_row] uo_ware.dscrp = "外协订单辅助生成" uo_ware.sptid = dw_pageretr.Object.u_order_wfjg_sptid[ll_row] uo_ware.part = dw_pageretr.Object.u_order_wfjg_taskcode[ll_row] //初始化明细表参数 FOR i = 1 TO dw_out.RowCount() ll_mtrlid = dw_out.Object.u_order_wfjgmx_out_mtrlid[i] ll_storageid = dw_out.Object.u_order_wfjgmx_out_storageid[i] ls_status = dw_out.Object.u_order_wfjgmx_out_status[i] ls_woodcode = dw_out.Object.u_order_wfjgmx_out_woodcode[i] ls_pcode = dw_out.Object.u_order_wfjgmx_out_pcode[i] SELECT mtrlwareid INTO :ll_mtrlwareid FROM u_mtrlware WHERE storageid = :ll_storageid AND mtrlid = :ll_mtrlid AND status = :ls_status AND woodcode = :ls_woodcode AND pcode = :ls_pcode; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = "行:"+String(i)+",查询对应的库存记录失败,"+sqlca.SQLErrText GOTO ext END IF //查找库存 IF ll_mtrlwareid = 0 OR IsNull(ll_mtrlwareid) THEN rslt = 0 arg_msg = "行:"+String(i)+",不存在对应的库存记录" GOTO ext END IF IF uo_ware.acceptmx(ll_mtrlwareid,& dw_out.Object.u_order_wfjgmx_out_qty[i],& dw_out.Object.u_mtrldef_unit[i],& dw_out.Object.u_order_wfjgmx_out_qty[i],& dw_out.Object.u_order_wfjgmx_out_dscrp[i],& dw_out.Object.pid[i],& arg_msg,& 1,& dw_out.Object.u_order_wfjgmx_out_wfjgid[i],& dw_out.Object.u_order_wfjgmx_out_printid[i],& 1,& 0,& '',& dw_out.Object.u_order_wfjgmx_out_dscrp2[i]) = 0 THEN rslt = 0 GOTO ext END IF NEXT //保存单据 IF uo_ware.Save(FALSE,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF ls_outwarecode = uo_ware.outwarecode ////审核单据 //IF uo_ware.getinfo(ll_scid,uo_ware.outwareid,arg_msg) = 0 THEN // rslt = 0 // GOTO ext //END IF // //IF uo_ware.auditing(false,arg_msg) = 0 THEN // rslt = 0 // GOTO ext //END IF ext: DESTROY uo_ware IF rslt = 0 THEN ROLLBACK; MessageBox('错误',arg_msg,stopsign!,OK!) ELSE COMMIT; MessageBox('成功',"生成外协发出单成功,单号["+ls_outwarecode+"]") END IF RETURN end event event ue_f13();//引入销售订单明细 //dw_in.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN uo_spt_price uo_mtrl_spt_p String arg_msg Long child_row Long ls_sptid Decimal ls_price,ls_rebate Long ll_storageid dw_in.AcceptText() child_row = dw_in.GetRow() IF child_row <= 0 THEN child_row = dw_in.InsertRow(0) END IF ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF ll_storageid = dw_in.Object.u_order_wfjgmx_storageid[child_row] IF ll_storageid = 0 THEN MessageBox('提示','请选择仓库',information!,OK!) RETURN END IF uo_mtrl_spt_p = CREATE uo_spt_price THIS.Enabled = FALSE dw_uc.AcceptText() ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF NOT IsValid(w_order_wfjg_wfjgmx_ch3) 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.e_long = cur_scid Long chc = 1,ls_j IF dw_in.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_in.Object.u_mtrldef_mtrlcode[dw_in.GetRow()]) OpenWithParm(w_order_wfjg_wfjgmx_ch3,s_tranf8) //调用 s_mtrldef_wfjg_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_in.GetRow() > 0 THEN IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] <> 0 THEN child_row = dw_in.InsertRow (0) ELSE child_row = dw_in.GetRow() END IF ELSE child_row = dw_in.InsertRow (0) END IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_in.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_in.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_in.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_in.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_in.Object.u_order_wfjgmx_qty[child_row] = S_INSCUST.qty[ls_j] dw_in.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_in.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_in.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j] dw_in.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j] dw_in.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j] dw_in.Object.u_order_wfjgMx_relprintid[child_row] = S_INSCUST.relprintid[ls_j] dw_in.Object.u_order_wfjgMx_relcode[child_row] = S_INSCUST.relcode[ls_j] dw_in.Object.u_order_wfjgMx_orderid[child_row] = S_INSCUST.orderid[ls_j] dw_in.Object.u_order_wfjgMx_relid2[child_row] = S_INSCUST.relid2[ls_j] dw_in.Object.u_order_wfjgmx_status[child_row] = S_INSCUST.status[ls_j] dw_in.Object.u_order_wfjgmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] dw_in.Object.u_order_wfjgmx_pcode[child_row] = S_INSCUST.pcode[ls_j] dw_in.Object.u_order_wfjgmx_plancode[child_row]= S_INSCUST.plancode[ls_j] dw_in.Object.u_order_wfjgmx_dscrp[child_row]= S_INSCUST.dscrp[ls_j] dw_in.Object.u_order_wfjgmx_mxdscrp2[child_row]= S_INSCUST.mxdscrp2[ls_j] dw_in.Object.u_order_wfjgmx_mxdscrp3[child_row]= S_INSCUST.mxdscrp3[ls_j] dw_in.Object.u_order_wfjgmx_mxdscrp4[child_row]= S_INSCUST.mxdscrp4[ls_j] //导入价格 Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate // String arg_msg String ls_sptmtrlname String ls_1stunit,ls_status,ls_woodcode,ls_pcode ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row] ls_status = dw_in.Object.u_order_wfjgmx_status[child_row] ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row] ls_pcode = dw_in.Object.u_order_wfjgmx_pcode[child_row] IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,S_INSCUST.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF S_INSCUST.planprice[ls_j] = 0 THEN dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.lmbuyprice[ls_j] ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.planprice[ls_j] END IF ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost END IF END IF NEXT THIS.TriggerEvent('ue_allowedit_in') dw_in.SetFocus() dw_in.SetColumn('u_order_wfjgmx_jgdscrp') END IF DESTROY uo_mtrl_spt_p THIS.Enabled = TRUE IF cbx_autocmpl.Checked THEN wf_in_to_out(arg_msg) END IF 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 = 0 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_order_wfjg_banktypeid[dw_uc.GetRow()] = s_ch.banktypeid END IF datawindowchild childdw dw_uc.GetChild("u_order_wfjg_banktypeid",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF 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_order_wfjg_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.u_order_wfjgmx_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.u_order_wfjgmx_qty[child_row] = arg_qty[li] dw_child.object.u_order_wfjgmx_iforder[child_row] = 0 end if next // u_order_wfjgmx_iforder // u_mtrldef_mtrlcode // u_order_wfjgmx_qty // u_mtrldef_mtrlmode // u_order_wfjgmx_mtrlid // mtrlname // u_mtrldef_unit end subroutine public function integer wf_refresh_curuc (long arg_scid, long arg_wfjgid);//wf_refresh_curuc int rslt = 1 if arg_wfjgid <= 0 or isnull(arg_wfjgid) 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 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 datetime moddate string modemp datetime permit_date int billtype int banktypeid select u_order_wfjg.requiredate, u_order_wfjg.assign_emp, u_order_wfjg.dscrp, u_order_wfjg.taskcode, u_order_wfjg.sptid, u_order_wfjg.accomplishdate, u_order_wfjg.status, u_order_wfjg.opemp, u_order_wfjg.permit_emp, u_order_wfjg.opdate, u_spt.name, u_spt.sptcode, u_order_wfjg.finishemp, u_order_wfjg.moddate, u_order_wfjg.modemp, u_order_wfjg.permit_date, u_order_wfjg.billtype, u_order_wfjg.banktypeid into :requiredate, :assign_emp, :dscrp, :taskcode, :sptid, :accomplishdate, :status, :operator, :permit_emp, :opdate, :u_spt_name, :sptcode, :finishemp, :moddate, :modemp, :permit_date, :billtype, :banktypeid from u_order_wfjg left outer join u_spt on ( u_order_wfjg.sptid = u_spt.sptid ) where ( u_order_wfjg.wfjgid = :arg_wfjgid ) and ( u_order_wfjg.scid = :arg_scid ); if sqlca.sqlcode <> 0 then messagebox('错误',"查询操作失败(错误外加工计划唯一码)",stopsign!,OK!) rslt = 0 goto ext end if dw_pageretr.object.u_order_wfjg_scid[uc_row] = arg_scid dw_pageretr.object.u_order_wfjg_wfjgid[uc_row] = arg_wfjgid dw_pageretr.object.u_order_wfjg_requiredate[uc_row] = requiredate dw_pageretr.object.u_order_wfjg_assign_emp[uc_row] = assign_emp dw_pageretr.object.u_order_wfjg_dscrp[uc_row] = dscrp dw_pageretr.object.u_order_wfjg_taskcode[uc_row] = taskcode dw_pageretr.object.u_order_wfjg_sptid[uc_row] = sptid dw_pageretr.object.u_order_wfjg_accomplishdate[uc_row] = accomplishdate dw_pageretr.object.u_order_wfjg_status[uc_row] = status dw_pageretr.object.u_order_wfjg_opemp[uc_row] = operator dw_pageretr.object.u_order_wfjg_permit_emp[uc_row] = permit_emp dw_pageretr.object.u_order_wfjg_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_order_wfjg_finishemp[uc_row] = finishemp dw_pageretr.object.u_order_wfjg_moddate[uc_row] = moddate dw_pageretr.object.u_order_wfjg_modemp[uc_row] = modemp dw_pageretr.object.u_order_wfjg_permit_date[uc_row] = permit_date dw_pageretr.object.u_order_wfjg_billtype[uc_row] = billtype dw_pageretr.object.u_order_wfjg_banktypeid[uc_row] = banktypeid 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_lock_child ();//wf_lock_child INT LS_INT IF dw_edit_mode THEN FOR LS_INT=1 TO child_column_int dw_in.SetTabOrder (LS_INT,LS_INT*10 ) NEXT ELSE FOR LS_INT=1 TO child_column_int dw_in.SetTabOrder (LS_INT, 0) NEXT END IF IF dw_edit_mode THEN FOR LS_INT=1 TO child_column_int_out dw_out.SetTabOrder (LS_INT,LS_INT*10 ) NEXT ELSE FOR LS_INT=1 TO child_column_int_out dw_out.SetTabOrder (LS_INT, 0) NEXT END IF RETURN 1 end function public function integer wf_copy (ref string arg_msg);Long rslt = 1 Long ll_rowcount,ll_rowcount1 ll_rowcount = dw_in.RowCount() IF ll_rowcount <= 0 THEN rslt = 0 arg_msg = '没有可复制的明细内容' GOTO ext END IF ll_rowcount1 = dw_out.RowCount() ds_copy_in.Reset() ds_copy_out.Reset() IF dw_in.RowsCopy(1, ll_rowcount, Primary!, ds_copy_in, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '复制收货明细内容失败!' GOTO ext END IF IF ll_rowcount1 > 0 THEN IF dw_out.RowsCopy(1, ll_rowcount1, Primary!, ds_copy_out, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '复制发出明细内容失败!' GOTO ext END IF END IF ds_copy_in.AcceptText() ds_copy_out.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_rowcount1 ll_rowcount = ds_copy_in.RowCount() IF ll_rowcount <= 0 THEN rslt = 0 arg_msg = '没有可粘贴的收货明细内容' GOTO ext END IF ll_rowcount1 = ds_copy_out.RowCount() dw_in.Reset() dw_out.Reset() IF ds_copy_in.RowsCopy(1, ll_rowcount, Primary!, dw_in, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '粘贴收货明细内容失败!' GOTO ext END IF IF ll_rowcount1 > 0 THEN IF ds_copy_out.RowsCopy(1, ll_rowcount1, Primary!, dw_out, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '粘贴发出明细内容失败!' GOTO ext END IF END IF 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.u_order_wfjg_wfjgid[row] ll_scid = dw_pageretr.Object.u_order_wfjg_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 = 213 //客户投拆单的 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_order_wfjg_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 = 213); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_in.RowCount() ll_mtrlid = dw_in.Object.u_order_wfjgmx_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) next return 1 end function public function integer wf_in_to_out (ref string arg_msg);Long rslt = 1 Int li_statusflag,li_woodcodeflag,li_pcodeflag Long ll_statustype,ll_woodcodetype,ll_pcodetype s_mtrldef_array arg_s_mtrldef IF NOT dw_edit_mode THEN rslt = 0 arg_msg = '非编辑状态不可用' GOTO ext END IF dw_in.AcceptText() Long ll_dw_in_rowcount Long ll_i,i = 1,ll_itmx,ll_j Long ll_in_mtrlid Decimal ld_qty Long ll_row String ls_pfcode long li_round string relcode[],taskcode[] li_round = long(em_1.text) s_mtrldef_wfjg_array s_wfjg ll_dw_in_rowcount = dw_in.RowCount() IF ll_dw_in_rowcount <= 0 THEN rslt = 0 arg_msg = '没有明细内容' GOTO ext END IF dw_out.SetRedraw(FALSE) dw_out.Reset() FOR ll_i = 1 TO ll_dw_in_rowcount ll_in_mtrlid = dw_in.Object.u_order_wfjgmx_mtrlid[ll_i] ld_qty = dw_in.Object.u_order_wfjgmx_qty[ll_i] //messagebox("",ld_qty) DECLARE cur_inmx CURSOR FOR SELECT u_PrdPF.SonMtrlid, u_mtrldef.mtrlcode, u_mtrldef.mtrlname, u_mtrldef.mtrlmode, u_mtrldef.unit, u_mtrldef.mtrlsectype, u_mtrldef.zxmtrlmode, :ld_qty * u_prdpf.Sonscale / (1 - u_PrdPF.sonloss) + u_PrdPF.SonDECLoss FROM u_PrdPF INNER JOIN u_mtrldef ON u_PrdPF.SonMtrlid = u_mtrldef.mtrlid WHERE ( u_PrdPF.mtrlid = :ll_in_mtrlid ) ; OPEN cur_inmx; FETCH cur_inmx INTO :s_wfjg.mtrlid[i],:s_wfjg.mtrlcode[i], :s_wfjg.mtrlname[i],:s_wfjg.mtrlmode[i],:s_wfjg.unit[i], :s_wfjg.mtrlsectype[i],:s_wfjg.zxmtrlmode[i],:s_wfjg.qty[i]; DO WHILE sqlca.SQLCode = 0 relcode[i] = dw_in.Object.u_saletask_relcode[ll_i] taskcode[i] = dw_in.Object.u_order_wfjgmx_relcode[ll_i] i++ FETCH cur_inmx INTO :s_wfjg.mtrlid[i],:s_wfjg.mtrlcode[i], :s_wfjg.mtrlname[i],:s_wfjg.mtrlmode[i],:s_wfjg.unit[i], :s_wfjg.mtrlsectype[i],:s_wfjg.zxmtrlmode[i],:s_wfjg.qty[i]; LOOP CLOSE cur_inmx; NEXT ll_itmx = i - 1 FOR ll_j = 1 TO ll_itmx ll_row = dw_out.GetRow() IF ll_row <= 0 THEN ll_row = dw_out.InsertRow(0) ELSE IF dw_out.Object.u_order_wfjgmx_out_mtrlid[ll_row] > 0 THEN ll_row = dw_out.InsertRow(0) END IF END IF dw_out.Object.u_order_wfjgmx_out_mtrlid[ll_row] = s_wfjg.mtrlid[ll_j] dw_out.Object.u_mtrldef_mtrlcode[ll_row] = s_wfjg.mtrlcode[ll_j] dw_out.Object.mtrlname[ll_row] = s_wfjg.mtrlname[ll_j] dw_out.Object.u_mtrldef_mtrlmode[ll_row] = s_wfjg.mtrlmode[ll_j] dw_out.Object.u_mtrldef_unit[ll_row] = s_wfjg.unit[ll_j] dw_out.Object.u_mtrldef_mtrlsectype[ll_row] = s_wfjg.mtrlsectype[ll_j] dw_out.Object.u_mtrldef_zxmtrlmode[ll_row] = s_wfjg.zxmtrlmode[ll_j] dw_out.Object.u_order_wfjgmx_out_qty[ll_row] = round(s_wfjg.qty[ll_j],li_round) dw_out.Object.u_order_wfjgmx_out_saletaskcode[ll_row] = taskcode[ll_j] dw_out.Object.u_saletask_relcode[ll_row] = relcode[ll_j] IF f_find_mtrl(s_wfjg.mtrlcode[ll_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_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] END IF dw_out.Object.u_mtrldef_statusflag[ll_row] = li_statusflag dw_out.Object.u_mtrldef_woodcodeflag[ll_row] = li_woodcodeflag dw_out.Object.u_mtrldef_pcodeflag[ll_row] = li_pcodeflag NEXT this.triggerevent('ue_allowedit_out') dw_out.SetRedraw(TRUE) ext: RETURN rslt 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_order_wfjg_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 = 102); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_in.RowCount() ll_mtrlid = dw_in.Object.u_order_wfjgmx_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 function integer wf_refresh_interface ();//wf_refresh_interface IF dw_edit_mode THEN cb_retrieve.Enabled = FALSE cb_delet.Enabled = FALSE cb_print.Enabled = FALSE cb_viewprint.Enabled = FALSE cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = FALSE dw_pageretr.RBUTTON_FILTER_USE = FALSE //右键查询功能开关 dw_pageretr.titleclick_sort_use = FALSE //单击标题排序功能开关 dw_in.RBUTTON_SETPOSITION_USE = FALSE //定位 dw_out.RBUTTON_SETPOSITION_USE = FALSE //定位 cb_edit.Enabled = TRUE cb_add.Enabled = TRUE cb_xls.Enabled = FALSE cb_edit.Text = "放弃&E" cb_add.Text = "保存&S" cb_edit.normalpicname = 'Undo.bmp' cb_add.normalpicname = 'Save.bmp' ELSE cb_retrieve.Enabled = TRUE cb_delet.Enabled = TRUE cb_print.Enabled = TRUE cb_viewprint.Enabled = TRUE cb_auditing.Enabled = TRUE cb_auditing_cancel.Enabled = TRUE cb_add.Enabled = TRUE cb_edit.Enabled = TRUE cb_xls.Enabled = TRUE dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关 dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关 dw_in.RBUTTON_SETPOSITION_USE = TRUE //定位 dw_out.RBUTTON_SETPOSITION_USE = TRUE //定位 cb_edit.Text = "修改&E" cb_add.Text = "新建&S" cb_edit.normalpicname = 'OPEN.bmp' cb_add.normalpicname = 'new.bmp' IF dw_pageretr.GetRow() <= 0 THEN cb_edit.Enabled = FALSE cb_delet.Enabled = FALSE cb_addzy.Enabled = FALSE cb_auditing.Enabled = FALSE END IF END IF IF retrieve_all OR dw_edit_mode THEN cb_nextpage.Enabled = FALSE cb_retrieveall.Enabled = FALSE em_pagerowno.Enabled = FALSE cb_func.Enabled = FALSE IF dw_edit_mode THEN sle_usual_query.Enabled = FALSE ELSE sle_usual_query.Enabled = TRUE END IF ELSE cb_nextpage.Enabled = TRUE cb_retrieveall.Enabled = TRUE em_pagerowno.Enabled = TRUE sle_usual_query.Enabled = TRUE cb_func.Enabled = TRUE END IF wf_lock_child() //修改uc_taborder IF dw_edit_mode THEN dw_uc.TriggerEvent("ue_taborder") IF dw_uc.ins_if_nomodify_uc_taborder THEN Long ll_uc_int FOR ll_uc_int = 1 TO uc_column_int dw_uc.SetTabOrder (ll_uc_int,ll_uc_int*10 ) NEXT END IF ELSE dw_uc.TriggerEvent("ue_taborder_cancel") END IF cb_edit.of_init_draw() cb_add.of_init_draw() cb_edit.of_paint() cb_add.of_paint() cb_add.TriggerEvent('ue_textchange') cb_edit.TriggerEvent('ue_textchange') ll_lastrow = 0 THIS.TriggerEvent('refresh_interface') RETURN 1 end function on w_order_wfjg.create int iCurrent call super::create this.st_13=create st_13 this.st_2=create st_2 this.ddlb_scid=create ddlb_scid this.tab_1=create tab_1 this.st_3=create st_3 this.em_1=create em_1 this.cbx_autocmpl=create cbx_autocmpl this.cb_in_2_out=create cb_in_2_out this.ddlb_retrstatus=create ddlb_retrstatus this.cb_in=create cb_in this.cb_out=create cb_out iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.st_13 this.Control[iCurrent+2]=this.st_2 this.Control[iCurrent+3]=this.ddlb_scid this.Control[iCurrent+4]=this.tab_1 this.Control[iCurrent+5]=this.st_3 this.Control[iCurrent+6]=this.em_1 this.Control[iCurrent+7]=this.cbx_autocmpl this.Control[iCurrent+8]=this.cb_in_2_out this.Control[iCurrent+9]=this.ddlb_retrstatus this.Control[iCurrent+10]=this.cb_in this.Control[iCurrent+11]=this.cb_out end on on w_order_wfjg.destroy call super::destroy destroy(this.st_13) destroy(this.st_2) destroy(this.ddlb_scid) destroy(this.tab_1) destroy(this.st_3) destroy(this.em_1) destroy(this.cbx_autocmpl) destroy(this.cb_in_2_out) destroy(this.ddlb_retrstatus) destroy(this.cb_in) destroy(this.cb_out) 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_scid,cur_status,sys_user_spttype) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.triggerevent(rowfocuschanged!) end if THIS.TriggerEvent('retrieve_childdw') cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event event open;THIS.TriggerEvent('ue_before_open') wf_movetocenter() OLD_TITLE = THIS.Title s_tran = Message.PowerObjectParm IF NOT IsNull(s_tran) THEN retrieve_all = s_tran.if_retrieve_all mode = s_tran.work_mode arg_pkid = s_tran.arg_pkid arg_string_code = s_tran.arg_string_code if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效 ds_share = s_tran.ds_share END IF dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关 dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关 dw_pageretr.SetTransObject (sqlca) pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字 ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select") ls_newselect = ori_oldselect ds_curquery = CREATE DATASTORE ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) wf_editindex_lockf() IF s_tran.d_long = 2 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 END IF sle_usual_query.Text = Trim(arg_string_code) IF NOT retrieve_all THEN THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve ELSE IF if_sharedata THEN ds_share.ShareData(dw_pageretr) ELSE wf_retrieveuc(dw_pageretr,ls_newselect,1) THIS.TriggerEvent('RETRIEVE_pageretr') END IF END IF IF retrieve_all THEN THIS.TriggerEvent("ue_usual_query_filt") END IF f_title_change(dw_child) uc_column_int = 7 //uc dw前5列可以编辑 child_column_int = 18 //子 dw前3列可以编辑 child_column_int_out = 14 //子 dw前3列可以编辑 uo_wfjg = CREATE uo_order_wfjg uo_wfjg.commit_transaction = sqlca uo_sptprice = CREATE uo_spt_price IF s_tran.d_long = 1 AND UpperBound(s_tran.arr_long) > 0 THEN cb_add.TriggerEvent(Clicked!) wf_autoaddmx(s_tran.arr_long[],s_tran.arr_dec[]) END IF s_hide_col s_col_mtrlsectype s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype' f_hide_col(1308,dw_in,s_col_mtrlsectype) f_hide_col(1308,dw_out,s_col_mtrlsectype) s_hide_col s_col_zxmtrlmode s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode' f_hide_col(1309,dw_in,s_col_zxmtrlmode) f_hide_col(1309,dw_out,s_col_zxmtrlmode) s_hide_col s_col_price,s_null s_col_price.col_1 = 'u_order_wfjgmx_price' f_hide_col(121,dw_in,s_col_price) s_col_price = s_null s_col_price.col_1 = 'u_order_wfjgmx_out_price' f_hide_col(121,dw_out,s_col_price) end event event ue_f9; if not dw_edit_mode then return long uc_row uc_row=dw_uc.getrow() if uc_row=0 then messagebox('提示','请选定订单!',information!,OK!) return end if dw_uc.accepttext() this.enabled = false 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()])) OPENwithparm(W_spt_edit,s_ch_tran) //调用 S_spt S_INSCUST S_INSCUST=Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值 dw_uc.setredraw(false) dw_uc.object.u_order_wfjg_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 dw_uc.setcolumn("u_order_wfjg_dscrp") dw_uc.setredraw(true) END IF end if this.enabled = true end event event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_in.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN uo_spt_price uo_mtrl_spt_p Long child_row Long ls_sptid Decimal ls_price,ls_rebate Long ll_storageid String arg_msg dw_in.AcceptText() child_row = dw_in.GetRow() IF child_row <= 0 THEN child_row = dw_in.InsertRow(0) END IF ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF ll_storageid = dw_in.Object.u_order_wfjgmx_storageid[child_row] IF ll_storageid = 0 THEN MessageBox('提示','请选择仓库',information!,OK!) RETURN END IF uo_mtrl_spt_p = CREATE uo_spt_price THIS.Enabled = FALSE dw_uc.AcceptText() ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] 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 = 3 //选加工 s_tranf8.c_long = ll_storageid Long chc = 1,ls_j IF dw_in.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_in.Object.u_mtrldef_mtrlcode[dw_in.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_in.Find('u_order_wfjgmx_mtrlid='+String(S_INSCUST.mtrlid[ls_j]),1,dw_in.RowCount()) = 0 THEN IF dw_in.GetRow() > 0 THEN IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] <> 0 THEN child_row = dw_in.InsertRow (0) ELSE child_row = dw_in.GetRow() END IF ELSE child_row = dw_in.InsertRow (0) END IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_in.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_in.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_in.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_in.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_in.Object.u_order_wfjgmx_qty[child_row] = 0 dw_in.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_in.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_in.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j] dw_in.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j] dw_in.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j] dw_in.Object.u_order_wfjgmx_status[child_row] = S_INSCUST.status[ls_j] dw_in.Object.u_order_wfjgmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] dw_in.Object.u_order_wfjgmx_pcode[child_row] = S_INSCUST.pcode[ls_j] dw_in.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j] dw_in.Object.u_mtrldef_handtype[child_row] = S_INSCUST.handtype[ls_j] //导入价格 Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate // String arg_msg String ls_sptmtrlname String ls_1stunit,ls_status,ls_woodcode,ls_pcode ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row] ls_status = dw_in.Object.u_order_wfjgmx_status[child_row] ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row] ls_pcode = dw_in.Object.u_order_wfjgmx_pcode[child_row] IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,S_INSCUST.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF S_INSCUST.planprice[ls_j] = 0 THEN dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.lmbuyprice[ls_j] ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.planprice[ls_j] END IF // dw_in.Object.u_order_wfjgmx_rebate[child_row] = 1 // IF S_INSCUST.unit_buy[ls_j] = '' THEN // dw_in.Object.u_order_wfjgmx_rate[child_row] = 1 // dw_in.Object.u_order_wfjgmx_unit[child_row] = S_INSCUST.unit[ls_j] // ELSE // dw_in.Object.u_order_wfjgmx_rate[child_row] = S_INSCUST.rate_buy[ls_j] // dw_in.Object.u_order_wfjgmx_unit[child_row] = S_INSCUST.unit_buy[ls_j] // END IF ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost // IF ls_1stzqrate = 0 THEN // dw_in.Object.u_order_wfjgmx_rebate[child_row] = 1 // ELSE // dw_in.Object.u_order_wfjgmx_rebate[child_row] = ls_1stzqrate // END IF // dw_in.Object.u_order_wfjgmx_rate[child_row] = ls_1strate // dw_in.Object.u_order_wfjgmx_unit[child_row] = ls_1stunit END IF END IF END IF NEXT THIS.TriggerEvent('ue_allowedit_in') dw_in.SetFocus() dw_in.SetColumn('u_order_wfjgmx_jgdscrp') END IF DESTROY uo_mtrl_spt_p THIS.Enabled = TRUE IF cbx_autocmpl.Checked THEN wf_in_to_out(arg_msg) END IF end event event refresh_interface;call super::refresh_interface;ddlb_retrstatus.enabled=not dw_edit_mode ddlb_scid.enabled=not dw_edit_mode cb_in_2_out.Enabled = dw_edit_mode wf_statusbtn_fc() end event event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,uc_scid row = dw_pageretr.GetRow() IF row > 0 THEN uc_scid = dw_pageretr.Object.u_order_wfjg_scid[row] uc_relid = dw_pageretr.Object.u_order_wfjg_wfjgid[row] dw_in.SetRedraw (FALSE) dw_in.Retrieve(uc_scid,uc_relid) dw_in.SetRedraw (TRUE) dw_out.SetRedraw (FALSE) dw_out.Retrieve(uc_scid,uc_relid) dw_out.SetRedraw (TRUE) ELSE dw_in.Reset() dw_out.Reset() END IF end event event close;//f_SetProfileString (sys_empid, "wfjg", "status", string(cur_status)) destroy uo_wfjg 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+'( u_order_wfjg_taskcode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( u_order_wfjg_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_order_wfjg.taskcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_order_wfjg.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 not f_power_ind(391) then messagebox('提示','你没有使用权限!',information!,OK!) return end if lONG LS_ROW LS_ROW=dw_pageretr.getrow() IF LS_ROW<=0 THEN MESSAGEBOX('提示','没有打印目标单据!',information!,OK!) RETURN END IF if dw_pageretr.object.u_order_wfjg_status[ls_row] < 1 then MESSAGEBOX('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_order_wfjg_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_order_wfjg_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=dw_pageretr.object.u_order_wfjg_scid[LS_ROW] LS_PRMSG.retr_pramnmb=dw_pageretr.object.u_order_wfjg_wfjgid[LS_ROW] LS_PRMSG.rowcnt = dw_in.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_order_wfjg',printnum,dw_pageretr.object.u_order_wfjg_scid[LS_ROW],dw_pageretr.object.u_order_wfjg_wfjgid[LS_ROW],'','',arg_msg,true) end event event ue_print;call super::ue_print;//--直接打印 IF NOT f_power_ind(391) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF uo_print_preview uo_print IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF dw_pageretr.Object.u_order_wfjg_status[dw_pageretr.GetRow()] < 1 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_order_wfjg_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_order_wfjg_print' END IF LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = '外加工计划' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = dw_pageretr.Object.u_order_wfjg_scid[dw_pageretr.GetRow()] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_order_wfjg_wfjgid[dw_pageretr.GetRow()] LS_PRMSG.rowcnt = dw_in.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,stopsign!,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,dw_pageretr.Object.u_order_wfjg_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_order_wfjg_wfjgid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event resize;ln_bar.EndX = THIS.Width ln_bar2.EndX = THIS.Width ln_1.EndX = THIS.Width ln_2.EndX = THIS.Width r_bar.Width = THIS.Width Long w_width,w_height w_width = 3602 w_height = 2300 IF newwidth < w_width THEN THIS.Width = w_width IF newheight < w_height THEN THIS.Height = w_height //dw_child.Width = THIS.Width - (w_width - dw_child_w) //dw_child.Height = THIS.Height - (w_height - dw_child_h) //dw_pageretr.Width = THIS.Width - (w_width - dw_pageretr_w) //============================================================================== //YYX081007 //============================================================================== IF uc_width > 0 THEN dw_uc.Width = uc_width END IF IF uc_height > 0 THEN dw_uc.Height = uc_height END IF dw_pageretr.X = dw_uc.X + dw_uc.Width dw_pageretr.Width = THIS.Width - dw_pageretr.X - 40 dw_pageretr.Height = dw_uc.Height tab_1.Y = dw_uc.Y + dw_uc.Height + 4 tab_1.Width = THIS.Width - tab_1.X - 40 tab_1.Height = THIS.Height - tab_1.Y - 150 dw_in.Width = THIS.Width - (3602 - 3515) dw_in.Height = tab_1.Height - 130 dw_out.Width = THIS.Width - (3602 - 3515) dw_out.Height = tab_1.Height - 130 this.triggerevent('resize_p') cbx_autocmpl.y = tab_1.y + 24 cb_in_2_out.y = tab_1.y + 8 em_1.y = tab_1.y + 7 st_3.y = tab_1.y + 24 cb_in.y=cb_in_2_out.y cb_out.y=cb_in_2_out.y end event event ue_before_open;call super::ue_before_open;//IF sys_version_type = 2 THEN // dw_uc.DataObject = 'dw_order_wfjg_input2' // dw_uc.SetTransObject(sqlca) // // dw_pageretr.DataObject = 'dw_order_wfjg_index2' // dw_pageretr.SetTransObject(sqlca) //END IF // dw_in = tab_1.tabpage_1.dw_1 dw_out = tab_1.tabpage_2.dw_2 dw_in.settransobject(sqlca) dw_out.settransobject(sqlca) ds_copy_in = CREATE datastore ds_copy_in.DataObject = dw_in.dataobject ds_copy_in.SetTransObject(sqlca) ds_copy_out = CREATE datastore ds_copy_out.DataObject = dw_out.dataobject ds_copy_out.SetTransObject(sqlca) end event event ue_f11;call super::ue_f11;//用于选择明细内容,被F8[默认]\dw_out.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row Long ls_sptid Long ll_storageid dw_out.AcceptText() child_row = dw_out.GetRow() IF child_row <= 0 THEN child_row = dw_out.InsertRow(0) END IF ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF ll_storageid = dw_out.Object.u_order_wfjgmx_out_storageid[child_row] IF ll_storageid = 0 THEN MessageBox('提示','请选择仓库',information!,OK!) RETURN END IF THIS.Enabled = FALSE 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 = 3 //选加工 s_tranf8.c_long = ll_storageid Long chc = 1,ls_j IF dw_out.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_out.Object.u_mtrldef_mtrlcode[dw_out.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_out.Find('u_order_wfjgmx_out_mtrlid='+String(S_INSCUST.mtrlid[ls_j]),1,dw_out.RowCount()) = 0 THEN IF dw_out.GetRow() > 0 THEN IF dw_out.Object.u_order_wfjgmx_out_mtrlid[child_row] <> 0 THEN child_row = dw_out.InsertRow (0) ELSE child_row = dw_out.GetRow() END IF ELSE child_row = dw_out.InsertRow (0) END IF dw_out.Object.u_order_wfjgmx_out_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_out.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_out.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_out.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_out.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_out.Object.u_order_wfjgmx_out_qty[child_row] = 0 dw_out.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_out.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_out.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j] dw_out.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j] dw_out.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j] END IF END IF NEXT THIS.TriggerEvent('ue_allowedit_out') dw_out.SetFocus() dw_out.SetColumn('u_order_wfjgmx_out_status') END IF THIS.Enabled = TRUE 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(800) then messagebox('提示','你没有使用权限!',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 uo_wfjg.add_dscrp(dw_pageretr.object.u_order_wfjg_scid[uc_row],dw_pageretr.object.u_order_wfjg_wfjgid[uc_row],LS_STR,arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) return else messagebox('提示','添加备注操作成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[uc_row],dw_pageretr.object.u_order_wfjg_wfjgid[uc_row]) end if end event event ue_deletemx;IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN if tab_1.SelectedTab = 1 then IF dw_in.GETROW()=0 THEN MESSAGEBOX('提示','请选择删除的行对象!',information!,OK!) RETURN END IF dw_in.DeleteRow (0) dw_in.TriggerEvent (rowfocuschanged!) else IF dw_out.GETROW()=0 THEN MESSAGEBOX('提示','请选择删除的行对象!',information!,OK!) RETURN END IF dw_out.DeleteRow (0) dw_out.TriggerEvent (rowfocuschanged!) end if end event event ue_addmx;if tab_1.SelectedTab = 1 then this.triggerevent('ue_f8') dw_in.SetFocus() else this.triggerevent('ue_f11') dw_out.SetFocus() end if end event event ue_rpt_print;call super::ue_rpt_print;if not f_power_ind(391) then messagebox('提示','你没有使用权限!',information!,OK!) return end if Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN uo_rpt_print_preview uo_print S_rpt_print_MSG LS_PRMSG IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_order_wfjg_status[row] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = THIS.Title LS_PRMSG.rpname = ls_rpname LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.rpid = ls_msgprintid_rpt LS_PRMSG.retr_scid = dw_pageretr.Object.u_order_wfjg_scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_order_wfjg_wfjgid[row] LS_PRMSG.rowcnt = dw_in.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,OK!) RETURN END IF uo_print.ds_print() //**更新打印次料 f_update_printnum('u_buytask',1,dw_pageretr.Object.u_order_wfjg_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_order_wfjg_wfjgid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_rpt_viewprint;call super::ue_rpt_viewprint;if not f_power_ind(391) then messagebox('提示','你没有使用权限!',information!,OK!) return end if Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_order_wfjg_status[row] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF 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_order_wfjg_scid[row] s_print.retr_pramnmb = dw_pageretr.Object.u_order_wfjg_wfjgid[row] s_print.rowcnt = dw_in.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 string arg_msg f_update_printnum('u_buytask',1,dw_pageretr.Object.u_order_wfjg_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_order_wfjg_wfjgid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_copycol;IF NOT dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF IF tab_1.SelectedTab = 1 THEN dw_in.SetFocus() dw_in.Copy() ELSE dw_out.SetFocus() dw_out.Copy() END IF end event event ue_copyrow;IF NOT dw_edit_mode THEN RETURN Long ll_childrow Long ll_i Long ll_j IF tab_1.SelectedTab = 1 THEN ll_childrow = dw_in.GetRow() IF ll_childrow = 0 THEN MessageBox('提示','请选择复制对象!',information!,OK!) RETURN END IF ll_j = 0 FOR ll_i = 1 TO dw_in.RowCount() IF dw_in.IsSelected(ll_i) THEN ll_j++ dw_in.RowsCopy (ll_i,ll_i,Primary!,ds_copy_in,ll_j,Primary!) END IF NEXT FOR ll_i = 1 TO ds_copy_in.RowCount() ds_copy_in.RowsCopy (ll_i,ll_i,Primary!,dw_in,ll_childrow + ll_i,Primary!) NEXT ds_copy_in.Reset() dw_in.SelectRow(0,FALSE) dw_in.SetRow(ll_childrow + 1) dw_in.ScrollToRow(ll_childrow + 1) dw_in.SelectRow(ll_childrow + 1,TRUE) ELSE ll_childrow = dw_in.GetRow() IF ll_childrow = 0 THEN MessageBox('提示','请选择复制对象!',information!,OK!) RETURN END IF FOR ll_i = 1 TO dw_in.RowCount() IF dw_in.IsSelected(ll_i) THEN ll_j++ dw_in.RowsCopy (ll_i,ll_i,Primary!,ds_copy_out,ll_j,Primary!) END IF NEXT FOR ll_i = 1 TO ds_copy_out.RowCount() ds_copy_out.RowsCopy (ll_i,ll_i,Primary!,dw_in,ll_childrow + ll_i,Primary!) NEXT ds_copy_out.Reset() dw_in.SelectRow(0,FALSE) dw_in.SetRow(ll_childrow + 1) dw_in.ScrollToRow(ll_childrow + 1) dw_in.SelectRow(ll_childrow + 1,TRUE) END IF end event event ue_cutcol;IF NOT dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF IF tab_1.SelectedTab = 1 THEN dw_in.SetFocus() dw_in.Cut() ELSE dw_out.SetFocus() dw_out.Cut() END IF end event event ue_insertmx;Long ll_childrow,li_row IF tab_1.SelectedTab = 1 THEN ll_childrow = dw_in.GetRow() li_row = dw_in.InsertRow(ll_childrow) dw_in.SelectRow(0,FALSE) dw_in.SetRow(li_row) dw_in.ScrollToRow(li_row) dw_in.SelectRow(li_row,TRUE) ELSE ll_childrow = dw_out.GetRow() li_row = dw_out.InsertRow(ll_childrow) dw_out.SelectRow(0,FALSE) dw_out.SetRow(li_row) dw_out.ScrollToRow(li_row) dw_out.SelectRow(li_row,TRUE) END IF end event event ue_pastecol;IF NOT dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF IF tab_1.SelectedTab = 1 THEN dw_in.SetFocus() dw_in.Paste() ELSE dw_out.SetFocus() dw_out.Paste() END IF end event event ue_bill_copy;String arg_msg = '' IF wf_copy(arg_msg) = 1 THEN MessageBox('系统提示','复制成功') ELSE MessageBox('系统提示',arg_msg) END IF end event event ue_bill_paste;String arg_msg = '' IF wf_paste(arg_msg) = 1 THEN MessageBox('系统提示','复制成功') ELSE MessageBox('系统提示',arg_msg) END IF end event event ue_f7;call super::ue_f7;//引入销售订单 //dw_in.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN uo_spt_price uo_mtrl_spt_p String arg_msg Long child_row Long ls_sptid Decimal ls_price,ls_rebate Long ll_storageid dw_in.AcceptText() child_row = dw_in.GetRow() IF child_row <= 0 THEN child_row = dw_in.InsertRow(0) END IF ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF ll_storageid = dw_in.Object.u_order_wfjgmx_storageid[child_row] IF ll_storageid = 0 THEN MessageBox('提示','请选择仓库',information!,OK!) RETURN END IF uo_mtrl_spt_p = CREATE uo_spt_price THIS.Enabled = FALSE dw_uc.AcceptText() ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF NOT IsValid(w_order_wfjg_wfjgmx_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.e_long = cur_scid Long chc = 1,ls_j IF dw_in.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_in.Object.u_mtrldef_mtrlcode[dw_in.GetRow()]) OpenWithParm(w_order_wfjg_wfjgmx_ch,s_tranf8) //调用 s_mtrldef_wfjg_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_in.GetRow() > 0 THEN IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] <> 0 THEN child_row = dw_in.InsertRow (0) ELSE child_row = dw_in.GetRow() END IF ELSE child_row = dw_in.InsertRow (0) END IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_in.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_in.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_in.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_in.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_in.Object.u_order_wfjgmx_qty[child_row] = S_INSCUST.qty[ls_j] dw_in.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_in.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_in.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j] dw_in.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j] dw_in.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j] dw_in.Object.u_order_wfjgMx_relprintid[child_row] = S_INSCUST.relprintid[ls_j] dw_in.Object.u_order_wfjgMx_relcode[child_row] = S_INSCUST.relcode[ls_j] dw_in.Object.u_order_wfjgMx_orderid[child_row] = S_INSCUST.orderid[ls_j] //导入价格 Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String ls_sptmtrlname String ls_1stunit,ls_status,ls_woodcode,ls_pcode ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row] ls_status = dw_in.Object.u_order_wfjgmx_status[child_row] ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row] ls_pcode = dw_in.Object.u_order_wfjgmx_pcode[child_row] IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,S_INSCUST.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF S_INSCUST.planprice[ls_j] = 0 THEN dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.lmbuyprice[ls_j] ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.planprice[ls_j] END IF ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost END IF END IF NEXT THIS.TriggerEvent('ue_allowedit_in') dw_in.SetFocus() dw_in.SetColumn('u_order_wfjgmx_jgdscrp') END IF DESTROY uo_mtrl_spt_p THIS.Enabled = TRUE IF cbx_autocmpl.Checked THEN wf_in_to_out(arg_msg) END IF end event event ue_f12;call super::ue_f12;//引入销售订单需求明细 //dw_in.doubleclicked调用 IF Not dw_edit_mode THEN RETURN uo_spt_price uo_mtrl_spt_p String arg_msg Long child_row Long ls_sptid Decimal ls_price,ls_rebate Long ll_storageid dw_in.AcceptText() child_row = dw_in.GetRow() IF child_row <= 0 THEN child_row = dw_in.InsertRow(0) END IF //订单材料外协 Long ll_buildtype ll_buildtype = dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()] IF ll_buildtype <> 2 THEN MessageBox('NO','单据类型请选择《订单材料外协》') RETURN END IF ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) Or ls_sptid = 0 THEN This.TriggerEvent("ue_f9") END IF ll_storageid = dw_in.Object.u_order_wfjgmx_storageid[child_row] IF ll_storageid = 0 THEN MessageBox('提示','请选择仓库',information!,OK!) RETURN END IF uo_mtrl_spt_p = Create uo_spt_price This.Enabled = False dw_uc.AcceptText() ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF Not IsValid(w_order_wfjg_wfjgmx_ch2) 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.e_long = cur_scid Long chc = 1,ls_j IF dw_in.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_in.Object.u_mtrldef_mtrlcode[dw_in.GetRow()]) OpenWithParm(w_order_wfjg_wfjgmx_ch2,s_tranf8) //调用 s_mtrldef_wfjg_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_in.GetRow() > 0 THEN IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] <> 0 THEN child_row = dw_in.InsertRow (0) ELSE child_row = dw_in.GetRow() END IF ELSE child_row = dw_in.InsertRow (0) END IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_in.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_in.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_in.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_in.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_in.Object.u_order_wfjgmx_qty[child_row] = S_INSCUST.qty[ls_j] dw_in.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_in.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_in.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j] dw_in.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j] dw_in.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j] dw_in.Object.u_order_wfjgMx_relprintid[child_row] = S_INSCUST.relprintid[ls_j] dw_in.Object.u_order_wfjgMx_relcode[child_row] = S_INSCUST.relcode[ls_j] dw_in.Object.u_order_wfjgMx_orderid[child_row] = S_INSCUST.orderid[ls_j] dw_in.Object.u_order_wfjgMx_relid2[child_row] = S_INSCUST.relid2[ls_j] dw_in.Object.u_saletask_relcode[child_row] = S_INSCUST.taskrelcode[ls_j] //导入价格 Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate // String arg_msg String ls_sptmtrlname String ls_1stunit,ls_status,ls_woodcode,ls_pcode ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row] ls_status = dw_in.Object.u_order_wfjgmx_status[child_row] ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row] ls_pcode = dw_in.Object.u_order_wfjgmx_pcode[child_row] IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,S_INSCUST.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF S_INSCUST.planprice[ls_j] = 0 THEN dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.lmbuyprice[ls_j] ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.planprice[ls_j] END IF ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost END IF END IF NEXT This.TriggerEvent('ue_allowedit_in') dw_in.SetFocus() dw_in.SetColumn('u_order_wfjgmx_jgdscrp') END IF Destroy uo_mtrl_spt_p This.Enabled = True IF cbx_autocmpl.Checked THEN wf_in_to_out(arg_msg) END IF end event event ue_rowdown;// Long ll_row datawindow dw IF tab_1.SelectedTab = 1 THEN dw = dw_in else dw = dw_out end if ll_row = dw.GetRow() IF ll_row < dw.rowcount() THEN dw.RowsMove(ll_row + 1, ll_row + 1, Primary!, dw, ll_row, Primary!) dw.SelectRow(0, False) dw.SetRow( ll_row + 1) dw.SelectRow(ll_row + 1, True) END IF end event event ue_rowup;Long ll_row datawindow dw IF tab_1.SelectedTab = 1 THEN dw = dw_in else dw = dw_out end if ll_row = dw.GetRow() IF ll_row > 1 THEN dw.RowsMove(ll_row, ll_row, Primary!, dw, ll_row - 1, Primary!) dw.SelectRow(0, False) dw.SetRow( ll_row - 1) dw.SelectRow(ll_row - 1, True) END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_order_wfjg integer taborder = 20 end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_order_wfjg integer taborder = 340 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_order_wfjg integer x = 215 integer width = 471 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_order_wfjg integer x = 3035 integer taborder = 300 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_order_wfjg integer x = 2706 integer y = 48 integer width = 320 integer taborder = 280 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_order_wfjg integer x = 1915 integer width = 1614 integer height = 1012 integer taborder = 30 string title = "外协订单摘要内容" string dataobject = "dw_order_wfjg_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_order_wfjg integer x = 0 integer width = 192 integer height = 60 string text = "编号含" alignment alignment = right! end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_order_wfjg integer x = 3186 integer taborder = 330 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_order_wfjg integer width = 1911 integer height = 1020 string dataobject = "dw_order_wfjg_input" 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 ( )='u_order_wfjg_dscrp' and key = KeyEnter! then dw_child.scrolltorow(1) dw_child.setfocus() dw_child.SetColumn ('u_order_ml_ordercode') Return 1 elseif dw_uc.GetColumnName ( )='sptcode' and key = KeyEnter! then String ls_code,ls_name,ls_find_code Long ls_sptid Long cnt = 0 Boolean if_find = FALSE dw_uc.AcceptText() ls_code = Upper(Trim(dw_uc.Object.sptcode[dw_uc.GetRow()])) SELECT u_spt.sptid, u_spt.name, u_spt.sptcode INTO :ls_sptid,:ls_name,:ls_code 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 INTO :ls_sptid,:ls_code,:ls_name 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_uc.SetRedraw(FALSE) dw_uc.Object.u_order_wfjg_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.SetRedraw(TRUE) dw_uc.SetColumn("u_order_wfjg_dscrp") 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 not dw_edit_mode then return if row <= 0 then return if dwo.name='p_p' then parent.TRIGGEREVENT('ue_f9') end if IF dw_edit_mode THEN Long ll_billtype ll_billtype = dw_uc.Object.u_order_wfjg_billtype[row] IF dwo.Name = 'p_task' Or dwo.Name = 't_task' THEN //IF ll_billtype = 2 THEN //订单材料采购 // Parent.TriggerEvent('ue_f11') //ELSE Parent.TriggerEvent('ue_f12') ELSEIF dwo.Name = 't_task2' or dwo.Name = 'p_task2' THEN Parent.TriggerEvent('ue_f13') //END IF ELSEIF dwo.Name = 'p_banktype' THEN Parent.TriggerEvent('ue_ch_banktype') END IF END IF end event event dw_uc::itemchanged;call super::itemchanged;IF dwo.Name = 'u_order_wfjg_billtype' THEN dw_in.Reset() PARENT.TriggerEvent("insert_childrow") end if end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_order_wfjg end type type dw_child from w_publ_1ton_share_detail`dw_child within w_order_wfjg boolean visible = false integer x = 133 integer y = 700 integer width = 873 integer height = 52 integer taborder = 250 string title = "计划收货明细" string dataobject = "dw_order_wfjg_mx_edit" end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_ordercode,ls_relcode Long ls_mtrlid,ls_sptid,ls_orderid Dec ls_planprice,ls_lmbuyprice,ls_price,ls_rebate Long cnt Long child_row Long ls_null SetNull(ls_null) String arg_msg = '' IF dw_edit_mode THEN ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.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!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN IF dw_child.GetColumnName() = 'u_order_ml_relcode' THEN PARENT.TriggerEvent('ue_f7') RETURN 1 dw_child.Object.u_order_wfjgmx_ordermtrlid[child_row] = ls_mtrlid dw_child.Object.u_order_wfjgmx_orderid[child_row] = ls_orderid dw_child.Object.u_order_ml_ordercode[child_row] = ls_ordercode 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_mtrldef_mtrlcode' THEN dw_child.AcceptText() child_row = dw_child.GetRow() ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row] SELECT u_mtrldef.mtrlid, u_mtrldef.mtrlname, u_mtrldef.unit, u_mtrldef.lmbuyprice, u_mtrldef.planprice, u_mtrldef.mtrlmode INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_lmbuyprice,:ls_planprice,:ls_mtrlmode FROM u_mtrldef Where ( u_mtrldef.mtrlcode = :ls_mtrlcode); IF sqlca.SQLCode = 100 THEN dw_child.Object.u_order_wfjgmx_mtrlid[child_row] = 0 PARENT.TriggerEvent('ue_f8') RETURN 1 END IF dw_child.Object.u_order_wfjgmx_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 uo_spt_price uo_mtrl_spt_p uo_mtrl_spt_p = create uo_spt_price Decimal ls_1stnewcost,ls_1stzqrate // IF uo_mtrl_spt_p.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,0,ls_1stnewcost,ls_1stzqrate,arg_msg) <> 1 THEN // dw_child.Object.u_order_wfjgmx_price[child_row] = 0 // ELSE // dw_child.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost // END IF destroy uo_mtrl_spt_p dw_child.Object.plprice[child_row] = ls_planprice 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_order_wfjgmx_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 // u_mtrldef_mtrlcode // acprice // mtrlid // mtrlname // plprice end event event dw_child::doubleclicked;if dw_edit_mode then choose case dwo.name case 'u_order_ml_relcode' parent.triggerevent('ue_f7') case else parent.triggerevent('ue_f8') end choose end if end event event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return this.accepttext() if dwo.name = 'u_order_wfjgmx_iforder' then if this.object.u_order_wfjgmx_iforder[row] = 0 then dw_child.object.u_order_wfjgmx_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 end if end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_order_wfjg end type type cb_print from w_publ_1ton_share_detail`cb_print within w_order_wfjg integer taborder = 240 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_order_wfjg end type event cb_add::clicked;IF NOT f_power_ind(40) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg = '' Long uc_row,pagerert_row Long relid_pageretr,reld_uc,i,j IF dw_edit_mode THEN dw_uc.AcceptText() dw_in.AcceptText() tab_1.tabpage_1.dw_1.AcceptText() tab_1.tabpage_2.dw_2.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF Year(Date(dw_uc.Object.u_order_wfjg_Requiredate[uc_row])) < 2000 THEN MessageBox('提示','要求完成日期为空或不合理!',information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("u_order_wfjg_Requiredate") RETURN END IF IF NOT Len(String(dw_uc.Object.u_order_wfjg_Assign_emp[uc_row])) > 0 THEN MessageBox('提示','请填写负责人!',information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("u_order_wfjg_Assign_emp") RETURN END IF uo_wfjg.Requiredate = dw_uc.Object.u_order_wfjg_Requiredate[uc_row] //要求完成日期 uo_wfjg.Assign_emp = dw_uc.Object.u_order_wfjg_Assign_emp[uc_row] //订单负责人 uo_wfjg.sptID = dw_uc.Object.u_order_wfjg_sptID[uc_row] uo_wfjg.dscrp = dw_uc.Object.u_order_wfjg_dscrp[uc_row] uo_wfjg.billtype = dw_uc.Object.u_order_wfjg_billtype[uc_row] uo_wfjg.banktypeid = dw_uc.Object.u_order_wfjg_banktypeid[uc_row] FOR i = 1 TO dw_in.RowCount() IF dw_in.Object.u_order_wfjgmx_mtrlid[i] > 0 THEN IF uo_wfjg.acceptmx( dw_in.Object.u_order_wfjgmx_mtrlid[i],& dw_in.Object.u_order_wfjgmx_qty[i],& dw_in.Object.u_order_wfjgmx_price[i],& dw_in.Object.u_order_wfjgmx_dscrp[i],& dw_in.Object.u_mtrldef_mtrlcode[i],& arg_msg,& dw_in.Object.pid[i],& dw_in.Object.u_order_wfjgmx_requiredate[i],& dw_in.Object.u_order_wfjgmx_storageid[i],& dw_in.Object.u_order_wfjgmx_jgdscrp[i],& dw_in.Object.u_order_wfjgmx_status[i],& dw_in.Object.u_order_wfjgmx_woodcode[i],& dw_in.Object.u_order_wfjgmx_pcode[i],& dw_in.Object.u_order_wfjgmx_relprintid[i],& dw_in.Object.u_order_wfjgmx_relid2[i],& dw_in.Object.u_order_wfjgmx_relcode[i],& dw_in.Object.u_order_wfjgmx_orderid[i],& dw_in.Object.u_order_wfjgmx_plancode[i],& dw_in.Object.u_order_wfjgmx_mxdscrp2[i],& dw_in.Object.u_order_wfjgmx_mxdscrp3[i],& dw_in.Object.u_order_wfjgmx_mxdscrp4[i] ) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF END IF NEXT FOR j = 1 TO dw_out.RowCount() IF dw_out.Object.u_order_wfjgmx_out_mtrlid[j] > 0 THEN IF uo_wfjg.acceptmx_out( dw_out.Object.u_order_wfjgmx_out_mtrlid[j],& dw_out.Object.u_order_wfjgmx_out_qty[j],& dw_out.Object.u_order_wfjgmx_out_price[j],& dw_out.Object.u_order_wfjgmx_out_dscrp[j],& dw_out.Object.u_mtrldef_mtrlcode[j],& arg_msg,& dw_out.Object.pid[j],& dw_out.Object.u_order_wfjgmx_out_storageid[j],& dw_out.Object.u_order_wfjgmx_out_status[j],& dw_out.Object.u_order_wfjgmx_out_woodcode[j],& dw_out.Object.u_order_wfjgmx_out_pcode[j],& dw_out.Object.u_order_wfjgmx_out_dscrp2[j],& dw_out.Object.u_order_wfjgmx_out_plancode[j],& dw_out.Object.u_order_wfjgmx_out_saletaskcode[j]) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF END IF NEXT IF uo_wfjg.savesubmit(publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF MessageBox('提示','保存操作成功!',information!,OK!) f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_outrep", String(dw_uc.Object.u_order_wfjg_Assign_emp[dw_uc.GetRow()])) f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_billtype", String(dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()])) f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_order_wfjg_banktypeid[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(cur_scid,uo_wfjg.wfjgid) //刷新uc ELSE IF uo_wfjg.newbegin(cur_scid,arg_msg) = 0 THEN // MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF END IF IF NOT dw_edit_mode THEN Int li_row li_row = dw_pageretr.InsertRow (1) dw_pageretr.ScrollToRow(li_row) dw_child.Reset() dw_out.Reset() dw_in.Reset() dw_uc.Reset() dw_uc.SetFocus() dw_pageretr.RowsCopy(li_row,li_row, Primary!, dw_uc, 1, Primary!) END IF dw_edit_mode = NOT dw_edit_mode wf_refresh_interface() IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") PARENT.TriggerEvent("insert_childrow_out") String ls_outrep String ls_billtype string ls_banktype ls_outrep = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_outrep",'') ls_billtype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_billtype",'0') ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0') dw_uc.Object.u_order_wfjg_Assign_emp[dw_uc.GetRow()] = ls_outrep dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()] = Long(ls_billtype) dw_uc.Object.u_order_wfjg_banktypeid[dw_uc.GetRow()] = Long(ls_banktype) dw_uc.SetFocus() dw_uc.SetColumn("u_order_wfjg_requiredate") ELSE PARENT.TriggerEvent("retrieve_childdw") END IF end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_order_wfjg end type event cb_edit::clicked;IF NOT f_power_ind(40) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF NOT dw_edit_mode THEN IF uo_wfjg.updatebegin(dw_pageretr.Object.u_order_wfjg_scid[uc_row],dw_pageretr.Object.u_order_wfjg_wfjgid[uc_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF PARENT.TriggerEvent('ue_allowedit_in') PARENT.TriggerEvent('ue_allowedit_out') END IF CALL SUPER::Clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_order_wfjg integer taborder = 260 end type event cb_delet::clicked;call super::clicked;if not f_power_ind(595) then messagebox('提示','你没有使用权限!',information!,OK!) return end if // if dw_edit_mode then return string arg_msg='' long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('提示','请选定当前目标外加工计划!',information!,OK!) return end if IF MessageBox ("询问","是否确定要删除当前吗",Question!,YesNo! ) = 2 THEN RETURN if uo_wfjg.cancel(dw_pageretr.object.u_order_wfjg_scid[uc_row],dw_pageretr.object.u_order_wfjg_wfjgid[uc_row],arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) ELSE //日志 long ls_id string ls_code ls_id=dw_pageretr.object.u_order_wfjg_wfjgid[uc_row] ls_code=dw_pageretr.object.u_order_wfjg_taskCODE[uc_row] f_setsysoplog('外协计划','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true) //-- MESSAGEBOX('提示','删除单据'+string(dw_pageretr.object.u_order_wfjg_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_order_wfjg 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_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_stopmx1" menustr = menustr + "|" + "Text=取消中止发出明细~tEvent=ue_cstopmx1" menustr = menustr + "|" + "Text=-" //else // menustr="Text=导入供应商历史价~tEvent=ue_importprice_his" // menustr=menustr + "|" + "Text=导入供应商历史价~tEvent=ue_importprice_his" END IF menustr = menustr + "|" + "Text=复制单据~tEvent=ue_copy" menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_paste" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view" menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit" IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF end event type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_order_wfjg integer taborder = 290 end type event cb_auditing::clicked;call super::clicked;if not f_power_ind(41) then messagebox('提示','你没有使用权限!',information!,OK!) return end if if dw_edit_mode then return string arg_msg='' long pagerert_row pagerert_row=dw_pageretr.getrow() if pagerert_row<=0 then messagebox('提示','请选定当前目标外协计划!',information!,OK!) return end if IF MessageBox ("询问","是否确定要对当前外协计划作审核吗?",Question!,YesNo! ) = 2 THEN RETURN if uo_wfjg.firstpermit(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],publ_operator,arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) ELSE messagebox('提示','外协计划审核成功!',information!,OK!) if cur_status <> -1 then dw_pageretr.deleterow(pagerert_row) else wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row]) end if end if end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_order_wfjg end type event cb_xm::clicked; m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF dw_edit_mode THEN menustr = "Text=增计划收货明细~tEvent=ue_addmx" menustr = menustr + "|" + "Text=删计划收货明细~tEvent=ue_deletemx" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=批设定收入仓库~tEvent=ue_p_storageid_in" menustr = menustr + "|" + "Text=批设定发出仓库~tEvent=ue_p_storageid_out" menustr = menustr + "|" + "Text=批设定回厂日期~tEvent=ue_p_rqdate" menustr = menustr + "|" + "Text=批设定工艺~tEvent=ue_p_jgdscrp" END IF IF Trim(is_mx_menustr) <> '' THEN IF dw_edit_mode THEN menustr = menustr + "|" + "Text=-" END IF menustr = menustr + is_mx_menustr END IF IF if_MtrlPicView THEN IF Trim(menustr) <> "" THEN menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=明细物料图片查看~tEvent=ue_MtrlPicView" ELSE menustr = "Text=明细物料图片查看~tEvent=ue_MtrlPicView" END IF 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_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_order_wfjg integer taborder = 200 end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_order_wfjg end type type cb_help from w_publ_1ton_share_detail`cb_help within w_order_wfjg end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_order_wfjg end type event cb_auditing_cancel::clicked;call super::clicked;if not f_power_ind(42) then messagebox('提示','你没有使用权限!',information!,OK!) return end if if dw_edit_mode then return string arg_msg='' long pagerert_row pagerert_row=dw_pageretr.getrow() if pagerert_row<=0 then messagebox('提示','请选定当前目标外协计划!',information!,OK!) return end if IF MessageBox ("询问","是否确定要对当前外协计划作取消审核吗?",Question!,YesNo! ) = 2 THEN RETURN if uo_wfjg.cancelpermit(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) ELSE //日志 long ls_id string ls_code ls_id=dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row] ls_code=dw_pageretr.object.u_order_wfjg_taskCODE[pagerert_row] f_setsysoplog('外协计划','删除,id:'+string(ls_id)+',code:'+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_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row]) end if end if end event type p_msg from w_publ_1ton_share_detail`p_msg within w_order_wfjg end type type p_help from w_publ_1ton_share_detail`p_help within w_order_wfjg end type type p_encl from w_publ_1ton_share_detail`p_encl within w_order_wfjg end type type p_other from w_publ_1ton_share_detail`p_other within w_order_wfjg end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_order_wfjg end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_order_wfjg end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_order_wfjg end type type r_bar from w_publ_1ton_share_detail`r_bar within w_order_wfjg end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_order_wfjg end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_order_wfjg end type type st_13 from statictext within w_order_wfjg integer x = 1467 integer y = 204 integer width = 192 integer height = 64 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 boolean enabled = false string text = "状 态" alignment alignment = right! boolean focusrectangle = false end type type st_2 from statictext within w_order_wfjg integer x = 750 integer y = 204 integer width = 192 integer height = 48 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 = "分 部" alignment alignment = right! boolean focusrectangle = false end type type ddlb_scid from uo_ddlb_scid within w_order_wfjg integer x = 965 integer y = 188 integer width = 471 integer height = 620 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 tab_1 from tab within w_order_wfjg integer y = 1316 integer width = 3525 integer height = 1068 integer taborder = 340 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 boolean raggedright = true boolean focusonbuttondown = true integer selectedtab = 1 tabpage_1 tabpage_1 tabpage_2 tabpage_2 end type on tab_1.create this.tabpage_1=create tabpage_1 this.tabpage_2=create tabpage_2 this.Control[]={this.tabpage_1,& this.tabpage_2} end on on tab_1.destroy destroy(this.tabpage_1) destroy(this.tabpage_2) end on type tabpage_1 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3488 integer height = 956 long backcolor = 134217739 string text = "计划收货明细" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_1 dw_1 end type on tabpage_1.create this.dw_1=create dw_1 this.Control[]={this.dw_1} end on on tabpage_1.destroy destroy(this.dw_1) end on type dw_1 from u_dw_rbtnfilter within tabpage_1 event ue_dwndropdown pbm_dwndropdown integer width = 3479 integer height = 944 integer taborder = 20 string dataobject = "dw_order_wfjg_mx_edit" boolean hscrollbar = true boolean vscrollbar = true boolean rbutton_setposition_use = true end type event ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN String ls_col_pz,ls_col_mtrlid String ls_pz_ch Long ll_row,ll_mtrlid s_pzwin_open arg_s_win ll_row = THIS.GetRow() IF ll_row > 0 THEN ls_col_mtrlid = THIS.Describe("#1.Name") IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid) ls_col_pz = THIS.GetColumnName( ) arg_s_win.arg_x = THIS.X + PARENT.X + THIS.PointerX() + tab_1.X arg_s_win.arg_y = THIS.Y + PARENT.Y + THIS.PointerY() + tab_1.Y arg_s_win.arg_col = ls_col_pz arg_s_win.arg_mtrlid = ll_mtrlid ls_pz_ch = f_mtrl_pz(arg_s_win) IF ls_pz_ch = '' THEN RETURN THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch) END IF end event event doubleclicked;IF dw_edit_mode THEN Long ls_billtype dw_uc.AcceptText() ls_billtype = dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()] IF ls_billtype = 0 THEN PARENT.GetParent().GetParent().TriggerEvent('ue_f8') ELSEIF ls_billtype = 1 THEN PARENT.GetParent().GetParent().TriggerEvent('ue_f7') ELSE PARENT.GetParent().GetParent().TriggerEvent('ue_f12') END IF END IF end event event itemchanged;call super::itemchanged;if not dw_edit_mode then return this.accepttext() if dwo.name = 'u_order_wfjgmx_iforder' then if this.object.u_order_wfjgmx_iforder[row] = 0 then this.object.u_order_wfjgmx_orderid[row] = 0 this.object.u_order_ml_relcode[row] = '' this.object.u_mtrldef_mtrlcode_1[row] = '' this.object.u_order_ml_ordercode[row] = '' end if end if //string arg_msg //IF dwo.name = 'u_order_wfjgmx_qty' then // wf_in_to_out(arg_msg) //end if end event event dwnkey;call super::dwnkey;PARENT.GetParent().GetParent().TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_ordercode,ls_relcode Long ls_mtrlid,ls_sptid,ls_orderid Dec ls_planprice,ls_lmbuyprice,ls_price,ls_rebate Long cnt Long child_row Long ls_null SetNull(ls_null) String arg_msg = '' Int li_statusflag,li_woodcodeflag,li_pcodeflag,ls_billtype long ls_storageid s_mtrldef_array arg_s_mtrldef IF dw_edit_mode THEN ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] ls_billtype = dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN PARENT.GetParent().GetParent().TriggerEvent("ue_f9") END IF IF KeyDown(keydownarrow!) THEN Long li_row IF THIS.GetRow() = THIS.RowCount() THEN PARENT.GetParent().GetParent().TriggerEvent("insert_childrow") END IF ELSE If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN IF THIS.GetColumnName() = 'u_order_wfjgmx_relcode' THEN IF ls_billtype = 1 THEN PARENT.GetParent().GetParent().TriggerEvent('ue_f7') ELSEIF ls_billtype = 2 THEN PARENT.GetParent().GetParent().TriggerEvent('ue_f12') END IF ELSEIF THIS.GetColumnName() = 'u_mtrldef_mtrlcode' AND ls_billtype = 0 THEN THIS.AcceptText() child_row = THIS.GetRow() ls_mtrlcode = THIS.Object.u_mtrldef_mtrlcode[child_row] ls_storageid = THIS.Object.u_order_wfjgmx_storageid[child_row] // SELECT u_mtrldef.mtrlid, // u_mtrldef.mtrlname, // u_mtrldef.unit, // u_mtrldef.lmbuyprice, // u_mtrldef.planprice, // u_mtrldef.mtrlmode, // u_mtrldef.statusflag, // u_mtrldef.woodcodeflag, // u_mtrldef.pcodeflag // INTO :ls_mtrlid, // :ls_mtrlname, // :ls_unit, // :ls_lmbuyprice, // :ls_planprice, // :ls_mtrlmode, // :li_statusflag, // :li_woodcodeflag, // :li_pcodeflag // FROM u_mtrldef // Where ( u_mtrldef.mtrlcode = :ls_mtrlcode); // IF sqlca.SQLCode = 100 THEN // THIS.Object.u_order_wfjgmx_mtrlid[child_row] = 0 // PARENT.GetParent().GetParent().TriggerEvent('ue_f8') // RETURN 1 // END IF IF f_find_mtrl(ls_mtrlcode,ls_storageid,arg_s_mtrldef) = 0 THEN PARENT.GetParent().GetParent().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] li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF THIS.Object.u_order_wfjgmx_mtrlid[child_row] = ls_mtrlid THIS.Object.mtrlname[child_row] = ls_mtrlname THIS.Object.u_mtrldef_unit[child_row] = ls_unit THIS.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode THIS.Object.u_mtrldef_statusflag[child_row] = li_statusflag THIS.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag THIS.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag THIS.Object.u_order_wfjgmx_status[child_row] = arg_s_mtrldef.status[1] THIS.Object.u_order_wfjgmx_woodcode[child_row] = arg_s_mtrldef.woodcode[1] THIS.Object.u_order_wfjgmx_pcode[child_row] = arg_s_mtrldef.pcode[1] //导入价格 Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String ls_sptmtrlname String ls_1stunit,ls_status,ls_woodcode,ls_pcode ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row] ls_status = dw_in.Object.u_order_wfjgmx_status[child_row] ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row] ls_pcode = dw_in.Object.u_order_wfjgmx_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_in.Object.u_order_wfjgmx_price[child_row] = ls_lmbuyprice ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = ls_planprice END IF ELSE dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost END IF PARENT.GetParent().GetParent().TriggerEvent('ue_allowedit_in') IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF THIS.GetColumnName( ) = 'u_order_wfjgmx_dscrp' AND THIS.GetRow() = THIS.RowCount() THEN PARENT.GetParent().GetParent().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 rowfocuschanged;call super::rowfocuschanged;IF currentrow <=0 THEN RETURN this.setrow(currentrow) this.selectrow(0,false) this.selectrow(currentrow,true) end event event clicked;call super::clicked;this.setrow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) end event event rbuttondown;call super::rbuttondown;IF dw_edit_mode THEN Long ll_row,ll_column ll_row = THIS.GetRow() ll_column = THIS.GetColumn() IF ll_row <= 0 THEN RETURN IF ll_column <= 0 THEN RETURN IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN s_calender_arg s_calender s_calender.PointerX = THIS.PointerX() s_calender.PointerY = THIS.PointerY() s_calender.X = THIS.X + PARENT.X s_calender.Y = THIS.Y + PARENT.Y OpenWithParm(w_calendar,s_calender) THIS.SetItem(ll_row,ll_column,id_date_selected) ELSE IF Left(dwo.TYPE,4) = 'text' THEN RETURN m_dwchild_rbotton m_print m_print = CREATE m_dwchild_rbotton m_print.m_0.PopMenu(tab_1.X + THIS.X + THIS.PointerX() + 50,tab_1.Y + THIS.Y + THIS.PointerY() + 50) END IF END IF end event event editchanged;call super::editchanged;string arg_msg IF cbx_autocmpl.checked = FALSE THEN RETURN IF dwo.name = 'u_order_wfjgmx_qty' then if data = '' then return wf_in_to_out(arg_msg) end if end event type tabpage_2 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3488 integer height = 956 long backcolor = 134217739 string text = "计划发出明细" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_2 dw_2 end type on tabpage_2.create this.dw_2=create dw_2 this.Control[]={this.dw_2} end on on tabpage_2.destroy destroy(this.dw_2) end on type dw_2 from u_dw_rbtnfilter within tabpage_2 event ue_dwndropdown pbm_dwndropdown integer width = 3479 integer height = 948 integer taborder = 20 string dataobject = "dw_order_wfjg_mx_edit_out" boolean hscrollbar = true boolean vscrollbar = true boolean rbutton_setposition_use = true end type event ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN String ls_col_pz,ls_col_mtrlid String ls_pz_ch Long ll_row,ll_mtrlid s_pzwin_open arg_s_win ll_row = THIS.GetRow() IF ll_row > 0 THEN ls_col_mtrlid = THIS.Describe("#1.Name") IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid) ls_col_pz = THIS.GetColumnName( ) arg_s_win.arg_x = THIS.X + PARENT.X + THIS.PointerX() + tab_1.X arg_s_win.arg_y = THIS.Y + PARENT.Y + THIS.PointerY() + tab_1.Y arg_s_win.arg_col = ls_col_pz arg_s_win.arg_mtrlid = ll_mtrlid ls_pz_ch = f_mtrl_pz(arg_s_win) IF ls_pz_ch = '' THEN RETURN THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch) END IF end event event itemchanged;call super::itemchanged;if not dw_edit_mode then return this.accepttext() if dwo.name = 'u_order_wfjgmx_out_iforder' then if this.object.u_order_wfjgmx_out_iforder[row] = 0 then this.object.u_order_wfjgmx_out_orderid[row] = 0 this.object.u_order_ml_relcode[row] = '' this.object.u_mtrldef_mtrlcode_1[row] = '' this.object.u_order_ml_ordercode[row] = '' end if end if end event event rowfocuschanged;call super::rowfocuschanged;IF currentrow <=0 THEN RETURN this.setrow(currentrow) this.selectrow(0,false) this.selectrow(currentrow,true) end event event doubleclicked;call super::doubleclicked;if dw_edit_mode then choose case dwo.name case 'u_order_ml_relcode' parent.getparent().getparent().triggerevent('ue_f10') case else parent.getparent().getparent().triggerevent('ue_f11') end choose end if end event event dwnkey;call super::dwnkey;PARENT.GetParent().GetParent().TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_ordercode,ls_relcode Long ls_mtrlid,ls_sptid,ls_orderid Dec ls_planprice,ls_lmbuyprice,ls_price,ls_rebate Long cnt Long child_row Long ls_null SetNull(ls_null) String arg_msg = '' Int li_statusflag,li_woodcodeflag,li_pcodeflag IF dw_edit_mode THEN ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN PARENT.GetParent().GetParent().TriggerEvent("ue_f9") END IF IF KeyDown(keydownarrow!) THEN Long li_row IF THIS.GetRow() = THIS.RowCount() THEN PARENT.GetParent().GetParent().TriggerEvent("insert_childrow_out") END IF ELSE If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN IF THIS.GetColumnName() = 'u_order_ml_relcode' THEN PARENT.GetParent().GetParent().TriggerEvent('ue_f7') RETURN 1 THIS.Object.u_order_wfjgmx_out_ordermtrlid[child_row] = ls_mtrlid THIS.Object.u_order_wfjgmx_out_orderid[child_row] = ls_orderid THIS.Object.u_order_ml_ordercode[child_row] = ls_ordercode IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF THIS.GetColumnName() = 'u_mtrldef_mtrlcode' THEN THIS.AcceptText() child_row = THIS.GetRow() ls_mtrlcode = THIS.Object.u_mtrldef_mtrlcode[child_row] SELECT u_mtrldef.mtrlid, u_mtrldef.mtrlname, u_mtrldef.unit, u_mtrldef.lmbuyprice, u_mtrldef.planprice, u_mtrldef.mtrlmode, u_mtrldef.statusflag, u_mtrldef.woodcodeflag, u_mtrldef.pcodeflag INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_lmbuyprice,:ls_planprice,:ls_mtrlmode, :li_statusflag,:li_woodcodeflag,:li_pcodeflag FROM u_mtrldef Where ( u_mtrldef.mtrlcode = :ls_mtrlcode); IF sqlca.SQLCode = 100 THEN THIS.Object.u_order_wfjgmx_out_mtrlid[child_row] = 0 PARENT.GetParent().GetParent().TriggerEvent('ue_f8') RETURN 1 END IF THIS.Object.u_order_wfjgmx_out_mtrlid[child_row] = ls_mtrlid THIS.Object.mtrlname[child_row] = ls_mtrlname THIS.Object.u_mtrldef_unit[child_row] = ls_unit THIS.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode THIS.Object.u_mtrldef_statusflag[child_row] = li_statusflag THIS.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag THIS.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag uo_spt_price uo_mtrl_spt_p uo_mtrl_spt_p = CREATE uo_spt_price Decimal ls_1stnewcost,ls_1stzqrate,ld_rate String ls_status,ls_woodcode,ls_pcode ls_status = THIS.Object.u_order_wfjgmx_out_status[child_row] ls_woodcode = THIS.Object.u_order_wfjgmx_out_woodcode[child_row] ls_pcode = THIS.Object.u_order_wfjgmx_out_pcode[child_row] IF uo_mtrl_spt_p.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_unit,ls_status,& ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ld_rate,arg_msg) <> 1 THEN THIS.Object.u_order_wfjgmx_out_price[child_row] = 0 ELSE THIS.Object.u_order_wfjgmx_out_price[child_row] = ls_1stnewcost END IF DESTROY uo_mtrl_spt_p // this.Object.plprice[child_row] = ls_planprice PARENT.GetParent().GetParent().TriggerEvent('ue_allowedit_out') IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF THIS.GetColumnName( ) = 'u_order_wfjgmx_out_dscrp' AND THIS.GetRow() = THIS.RowCount() THEN w_order_wfjg.TriggerEvent("insert_childrow_out") 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 // u_mtrldef_mtrlcode // acprice // mtrlid // mtrlname // plprice end event event clicked;call super::clicked;this.setrow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) end event event rbuttondown;call super::rbuttondown;IF dw_edit_mode THEN Long ll_row,ll_column ll_row = THIS.GetRow() ll_column = THIS.GetColumn() IF ll_row <= 0 THEN RETURN IF ll_column <= 0 THEN RETURN IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN s_calender_arg s_calender s_calender.PointerX = THIS.PointerX() s_calender.PointerY = THIS.PointerY() s_calender.X = THIS.X + PARENT.X s_calender.Y = THIS.Y + PARENT.Y OpenWithParm(w_calendar,s_calender) THIS.SetItem(ll_row,ll_column,id_date_selected) ELSE IF Left(dwo.TYPE,4) = 'text' THEN RETURN m_dwchild_rbotton m_print m_print = CREATE m_dwchild_rbotton m_print.m_0.PopMenu(tab_1.X + THIS.X + THIS.PointerX() + 50,tab_1.Y + THIS.Y + THIS.PointerY() + 50) END IF END IF end event type st_3 from statictext within w_order_wfjg integer x = 2039 integer y = 1332 integer width = 617 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "计算发出明细保留小数位" boolean focusrectangle = false end type type em_1 from editmask within w_order_wfjg integer x = 2670 integer y = 1316 integer width = 169 integer height = 84 integer taborder = 350 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "2" alignment alignment = center! borderstyle borderstyle = stylelowered! string mask = "###0" boolean spin = true string minmax = "0~~10" end type type cbx_autocmpl from checkbox within w_order_wfjg integer x = 919 integer y = 1332 integer width = 521 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "自动计算发出明细" end type event destructor;long ll_auto_flag IF THIS.Checked THEN ll_auto_flag = 1 ELSE ll_auto_flag = 0 END IF f_SetProfileString (sys_empid,publ_userid+'_' + 'dw_cbx_autocmpl', "cbx_autocmpl",String(ll_auto_flag)) end event event constructor;long ll_auto_flag ll_auto_flag = Long(f_ProfileString (sys_empid,publ_userid+'_'+ 'dw_cbx_autocmpl', "cbx_autocmpl",'0')) IF ll_auto_flag = 1 THEN THIS.Checked = TRUE ELSE THIS.Checked = FALSE END IF end event type cb_in_2_out from uo_imflatbutton within w_order_wfjg integer x = 1472 integer y = 1308 integer width = 549 integer height = 84 integer taborder = 390 boolean bringtotop = true string text = "按清单计算发出明细" end type event clicked;call super::clicked;IF NOT dw_edit_mode THEN RETURN String arg_msg IF wf_in_to_out(arg_msg) = 0 THEN MessageBox(publ_operator,arg_msg) ELSE MessageBox('系统提示','生成发出明细成功!') END IF end event type ddlb_retrstatus from uo_ddlb_status within w_order_wfjg integer x = 1682 integer y = 188 integer width = 402 integer height = 812 integer taborder = 50 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 cb_in from uo_imflatbutton within w_order_wfjg integer x = 2862 integer y = 1320 integer width = 306 integer height = 84 integer taborder = 400 boolean bringtotop = true string text = "→收货明细" end type event clicked;call super::clicked; Long i IF Not dw_edit_mode THEN RETURN dw_in.Reset() dw_out.accepttext() FOR i = 1 To dw_out.RowCount() dw_in.InsertRow(0) dw_in.Object.u_order_wfjgmx_storageid[i] = dw_out.Object.u_order_wfjgmx_out_storageid[i] dw_in.Object.u_order_wfjgmx_mtrlid[i] = dw_out.Object.u_order_wfjgmx_out_mtrlid[i] dw_in.Object.u_mtrldef_mtrlcode[i] = dw_out.Object.u_mtrldef_mtrlcode[i] dw_in.Object.mtrlname[i] = dw_out.Object.mtrlname[i] dw_in.Object.u_mtrldef_unit[i] = dw_out.Object.u_mtrldef_unit[i] dw_in.Object.u_order_wfjgmx_qty[i] = dw_out.Object.u_order_wfjgmx_out_qty[i] dw_in.Object.u_order_wfjgmx_price[i] = dw_out.Object.u_order_wfjgmx_out_price[i] dw_in.Object.u_order_wfjgmx_status[i] = dw_out.Object.u_order_wfjgmx_out_status[i] dw_in.Object.u_order_wfjgmx_woodcode[i] = dw_out.Object.u_order_wfjgmx_out_woodcode[i] dw_in.Object.u_order_wfjgmx_pcode[i] = dw_out.Object.u_order_wfjgmx_out_pcode[i] dw_in.Object.u_order_wfjgmx_plancode[i] = dw_out.Object.u_order_wfjgmx_out_plancode[i] dw_in.Object.u_order_wfjgmx_relcode[i] = dw_out.Object.u_order_wfjgmx_out_saletaskcode[i] dw_in.Object.u_saletask_relcode[i] = dw_out.Object.u_saletask_relcode[i] NEXT end event type cb_out from uo_imflatbutton within w_order_wfjg integer x = 3177 integer y = 1320 integer width = 329 integer height = 84 integer taborder = 410 boolean bringtotop = true string text = "→发出明细" end type event clicked;call super::clicked; Long i IF Not dw_edit_mode THEN RETURN dw_out.Reset() dw_in.accepttext() FOR i = 1 To dw_in.RowCount() dw_out.InsertRow(0) dw_out.Object.u_order_wfjgmx_out_storageid[i] = dw_in.Object.u_order_wfjgmx_storageid[i] dw_out.Object.u_order_wfjgmx_out_mtrlid[i] = dw_in.Object.u_order_wfjgmx_mtrlid[i] dw_out.Object.u_mtrldef_mtrlcode[i] = dw_in.Object.u_mtrldef_mtrlcode[i] dw_out.Object.mtrlname[i] = dw_in.Object.mtrlname[i] dw_out.Object.u_mtrldef_unit[i] = dw_in.Object.u_mtrldef_unit[i] dw_out.Object.u_order_wfjgmx_out_qty[i] = dw_in.Object.u_order_wfjgmx_qty[i] dw_out.Object.u_order_wfjgmx_out_price[i] = dw_in.Object.u_order_wfjgmx_price[i] dw_out.Object.u_order_wfjgmx_out_status[i] = dw_in.Object.u_order_wfjgmx_status[i] dw_out.Object.u_order_wfjgmx_out_woodcode[i] = dw_in.Object.u_order_wfjgmx_woodcode[i] dw_out.Object.u_order_wfjgmx_out_pcode[i] = dw_in.Object.u_order_wfjgmx_pcode[i] dw_out.Object.u_order_wfjgmx_out_plancode[i] = dw_in.Object.u_order_wfjgmx_plancode[i] dw_out.Object.u_order_wfjgmx_out_saletaskcode[i] = dw_in.Object.u_order_wfjgmx_relcode[i] dw_out.Object.u_saletask_relcode[i] = dw_in.Object.u_saletask_relcode[i] NEXT end event