$PBExportHeader$w_mtrldef_edit.srw $PBExportComments$dw_index,dw_uc,dw_base,dw_cost,dw_produce forward global type w_mtrldef_edit from w_publ_edit_index end type type ddlb_notuse from dropdownlistbox within w_mtrldef_edit end type type cb_1 from uo_imflatbutton within w_mtrldef_edit end type type cb_other from uo_imflatbutton within w_mtrldef_edit end type type ddlb_storageid from uo_ddlb_storageid within w_mtrldef_edit end type type tab_1 from tab within w_mtrldef_edit end type type tabpage_1 from userobject within tab_1 end type type dw_base from u_dw_rbtnfilter within tabpage_1 end type type tabpage_1 from userobject within tab_1 dw_base dw_base end type type tabpage_2 from userobject within tab_1 end type type dw_cost from u_dw_rbtnfilter within tabpage_2 end type type tabpage_2 from userobject within tab_1 dw_cost dw_cost end type type tabpage_3 from userobject within tab_1 end type type dw_storage from u_dw_rbtnfilter within tabpage_3 end type type tabpage_3 from userobject within tab_1 dw_storage dw_storage end type type tabpage_4 from userobject within tab_1 end type type cb_pastepack from uo_imflatbutton within tabpage_4 end type type cb_copypack from uo_imflatbutton within tabpage_4 end type type cb_del_con from uo_imflatbutton within tabpage_4 end type type cb_edit_con from uo_imflatbutton within tabpage_4 end type type cb_add_con from uo_imflatbutton within tabpage_4 end type type dw_configure2 from u_dw_rbtnfilter within tabpage_4 end type type dw_packpz from u_dw_rbtnfilter within tabpage_4 end type type tabpage_4 from userobject within tab_1 cb_pastepack cb_pastepack cb_copypack cb_copypack cb_del_con cb_del_con cb_edit_con cb_edit_con cb_add_con cb_add_con dw_configure2 dw_configure2 dw_packpz dw_packpz end type type tabpage_5 from userobject within tab_1 end type type cb_pastepz from uo_imflatbutton within tabpage_5 end type type cb_copypz from uo_imflatbutton within tabpage_5 end type type cb_delpz from uo_imflatbutton within tabpage_5 end type type cb_modpz from uo_imflatbutton within tabpage_5 end type type cb_addpz from uo_imflatbutton within tabpage_5 end type type cbx_all_pz from checkbox within tabpage_5 end type type dw_configure from u_dw_rbtnfilter within tabpage_5 end type type tabpage_5 from userobject within tab_1 cb_pastepz cb_pastepz cb_copypz cb_copypz cb_delpz cb_delpz cb_modpz cb_modpz cb_addpz cb_addpz cbx_all_pz cbx_all_pz dw_configure dw_configure end type type tabpage_6 from userobject within tab_1 end type type dw_config_def from u_dw_rbtnfilter within tabpage_6 end type type tabpage_6 from userobject within tab_1 dw_config_def dw_config_def end type type tabpage_7 from userobject within tab_1 end type type cb_pastempack from uo_imflatbutton within tabpage_7 end type type cb_copympack from uo_imflatbutton within tabpage_7 end type type cb_delpack from uo_imflatbutton within tabpage_7 end type type cb_modpack from uo_imflatbutton within tabpage_7 end type type cb_addpack from uo_imflatbutton within tabpage_7 end type type cbx_allpack from checkbox within tabpage_7 end type type dw_mtrldef_pack from u_dw_rbtnfilter within tabpage_7 end type type tabpage_7 from userobject within tab_1 cb_pastempack cb_pastempack cb_copympack cb_copympack cb_delpack cb_delpack cb_modpack cb_modpack cb_addpack cb_addpack cbx_allpack cbx_allpack dw_mtrldef_pack dw_mtrldef_pack end type type tab_1 from tab within w_mtrldef_edit tabpage_1 tabpage_1 tabpage_2 tabpage_2 tabpage_3 tabpage_3 tabpage_4 tabpage_4 tabpage_5 tabpage_5 tabpage_6 tabpage_6 tabpage_7 tabpage_7 end type type cbx_hc from checkbox within w_mtrldef_edit end type type cb_mx_ch from commandbutton within w_mtrldef_edit end type type cb_mx_del from commandbutton within w_mtrldef_edit end type type dw_ch from u_dw_rbtnfilter within w_mtrldef_edit end type type cbx_auto_mtrlcode from checkbox within w_mtrldef_edit end type type st_2 from statictext within w_mtrldef_edit end type type em_1 from editmask within w_mtrldef_edit end type type sp_v1 from u_lbs_stsplitbar within w_mtrldef_edit end type type tv_1 from uo_tv_mtrltype within w_mtrldef_edit end type type st_msg from statictext within w_mtrldef_edit end type type ddlb_mtrlorigin from uo_ddlb_mtrlorigin within w_mtrldef_edit end type type cbx_ifch_repeat from checkbox within w_mtrldef_edit end type end forward global type w_mtrldef_edit from w_publ_edit_index integer width = 3611 integer height = 2632 string title = "产品及物料" event ue_dft_set ( ) event ue_dft_candel ( ) event ue_pic ( ) event ue_setstorage ( ) event ue_commpcubl ( ) event ue_addzeromtrlware ( ) event ue_fj_edit ( ) event ue_fj_view ( ) event ue_retrieve_info ( ) event ue_mtrl_info ( ) event ue_moddscrp ( ) event ue_mtrltype_rtr ( ) event ue_mtrltype_set ( ) event ue_woodcode_config_ch ( ) event ue_status_config_ch ( ) event ue_pcode_config_ch ( ) event ue_packpz_copy ( ) event ue_packpz_paste ( ) event ue_retrieve_mx ( ) event ue_ch_mtrltype ( ) event ue_pzcopy ( ) event ue_pzpaste ( ) event ue_packcopy ( ) event ue_packpaste ( ) event ue_cmp_zh ( ) event ue_ch_mtrlsectype ( ) event ue_ch_zxmtrlmode ( ) event retrieve_fjnum ( ) event ue_cmpl_price ( ) event ue_cmpl_qty ( ) ddlb_notuse ddlb_notuse cb_1 cb_1 cb_other cb_other ddlb_storageid ddlb_storageid tab_1 tab_1 cbx_hc cbx_hc cb_mx_ch cb_mx_ch cb_mx_del cb_mx_del dw_ch dw_ch cbx_auto_mtrlcode cbx_auto_mtrlcode st_2 st_2 em_1 em_1 sp_v1 sp_v1 tv_1 tv_1 st_msg st_msg ddlb_mtrlorigin ddlb_mtrlorigin cbx_ifch_repeat cbx_ifch_repeat end type global w_mtrldef_edit w_mtrldef_edit type variables uo_mtrldef uo_mtrl s_mtrldef_array INS_RT_STRU Int cur_mtrlorigin = 0 //当前显示物料来源 Int notuse = 1 Long cur_storageid = -1 long cur_storageid_arr[] long cur_sptid = 0 //string cur_storagestr //int cur_storagestr_mode = -1 String ol_cdw_str = '' //==================================================================== // Declare Instance Variables // Reason: //-------------------------------------------------------------------- // Modified By: yyx Date: 2003.10.30 //-------------------------------------------------------------------- //日志参数 //==================================================================== String oldcode,oldname,newcode,newname //==================================================================== // Declare Instance Variables // Reason: //-------------------------------------------------------------------- // Modified By: yyx Date: 2003.10.30 //-------------------------------------------------------------------- //设默认值参数 //==================================================================== s_setdef_mtrl INS_RT_DEFAULT String df_mtrlsectype,df_mtrlmode String df_mtrlname,df_prdpackcode Decimal df_packqty String df_unit,df_mtrlcode,df_mtrlengname Boolean b_setdef = FALSE Long cur_mtrlid = 0 String ls_handtype = '' long cur_mtrltypeid = 0 long df_mtrltype,df_mtrlorigin string cur_typecode = '' long ins_if_info = 0 datawindow dw_base,dw_cost, dw_storage //datawindow dw_produce datawindow dw_config_def, dw_mtrl_configure,dw_packpz,dw_configure2 datawindow dw_mtrldef_pack s_mtrl_configure_array s_pz_arr,s_pz_pack_arr s_mtrldef_pack s_pack_arr[] Long ll_mxbt = 0 ,ll_mxbt_pack = 0 Long ll_copy_configcodetype String ls_copy_configcode,ls_copy_configname,ls_copy_mtrlcolor end variables forward prototypes public function long wf_delpic (long arg_mtrlid, ref string arg_msg) public function long wf_del_storage (long arg_mtrlid, ref string arg_msg) public function integer wf_add_mtrltype (long arg_mtrltypeid) public function integer wf_hc (string arg_bt_text) public function integer wf_auto_mtrlcode () public subroutine wf_get_storage (long arg_mtrlid) public subroutine wf_init_sp_v () public subroutine wf_find_pz (long arg_status, long arg_row, long arg_mtrlid) public function string wf_check_addqty (string arg_str) public function string wf_sys_option_auto_code () public subroutine wf_cmp_zh (long arg_mtrlid, string arg_strall, long arg_cid) public function string wf_pb_of_globalreplace (string arg_strall, string ls_name, string dec_temp) public subroutine wf_hidecol () end prototypes event ue_dft_set();Long uc_row uc_row = dw_UC.GetRow() IF uc_row <= 0 THEN MessageBox('提示','没有操作目标记录!', Information!, OK! ) RETURN END IF INS_RT_DEFAULT.defmtrlcode = Trim(dw_UC.Object.mtrlcode[uc_row]) INS_RT_DEFAULT.defmtrlname = Trim(dw_UC.Object.mtrlname[uc_row]) //INS_RT_DEFAULT.defmtrltype = dw_UC.Object.mtrltypeid[uc_row] INS_RT_DEFAULT.defsecmtrltype = Trim(dw_UC.Object.mtrlsectype[uc_row]) INS_RT_DEFAULT.defmtrlmode = Trim(dw_UC.Object.mtrlmode[uc_row]) INS_RT_DEFAULT.defunit = Trim(dw_UC.Object.unit[uc_row]) INS_RT_DEFAULT.defPrdpackcode = Trim(dw_UC.Object.Prdpackcode[uc_row]) INS_RT_DEFAULT.defpackqty = dw_UC.Object.packqty[uc_row] INS_RT_DEFAULT.defmtrlorigin = dw_UC.Object.mtrlorigin[uc_row] INS_RT_DEFAULT.defmtrlengname = dw_UC.Object.mtrlengname[uc_row] OpenWithParm(w_mtrldef_default,INS_RT_DEFAULT) INS_RT_DEFAULT = Message.PowerObjectParm b_setdef = TRUE df_mtrlcode = INS_RT_DEFAULT.defmtrlcode df_mtrlname = INS_RT_DEFAULT.defmtrlname //df_mtrltype = INS_RT_DEFAULT.defmtrltype df_mtrlsectype = INS_RT_DEFAULT.defsecmtrltype df_mtrlmode = INS_RT_DEFAULT.defmtrlmode df_prdpackcode = INS_RT_DEFAULT.defPrdpackcode df_packqty = INS_RT_DEFAULT.defpackqty df_unit = INS_RT_DEFAULT.defunit df_mtrlorigin = INS_RT_DEFAULT.defmtrlorigin df_mtrlengname=INS_RT_DEFAULT.defmtrlengname end event event ue_dft_candel();b_setdef = FALSE df_mtrlcode = '' df_mtrlname = '' df_mtrltype = 0 df_mtrlorigin = 0 df_mtrlsectype = '' df_mtrlmode = '' df_prdpackcode = '' df_packqty = 0 df_unit = '' df_mtrlengname='' end event event ue_pic();if dw_uc.getrow()<=0 then return dw_uc.accepttext() cur_mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()] openwithparm(w_mtrldef_pic,cur_mtrlid) end event event ue_setstorage();if dw_edit_mode then return if dw_uc.getrow()<=0 or isnull(dw_uc.getrow()) then return long ll_mtrlid ll_mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()] openwithparm(w_mtrl_storage,ll_mtrlid) end event event ue_commpcubl();if not dw_edit_mode then return dw_base.accepttext() long ll_first_star,ll_sec_star long ll_row ll_row=dw_base.getrow() if ll_row<=0 then messagebox('提示','请选定目标行', Information!, OK! ) return end if string ls_zxmtrlmode,ls_mtrlmode,ls_mode ls_zxmtrlmode=dw_base.object.zxmtrlmode[ll_row] ls_mtrlmode=dw_base.object.mtrlmode[ll_row] if ls_zxmtrlmode<>'' then ls_mode = ls_zxmtrlmode else if ls_mtrlmode<>'' then ls_mode = ls_mtrlmode else ls_mode='' messagebox('提示','没有纸箱规格或物料规格', Information!, OK! ) return end if end if string ls string s_rtn='' decimal ll_cubage ls=dw_base.modify("compute_2.expression='"+ls_mode+"'") s_rtn=string(dw_base.object.compute_2[ll_row]) if s_rtn='false' then messagebox('提示','规格计算公式有误', Information!, OK! ) return else ll_cubage =round( dec(s_rtn)/1000000 ,2) end if dw_base.object.cubage[ll_row] = ll_cubage dw_base.accepttext() end event event ue_addzeromtrlware();if not (f_power_ind(31) or f_power_ind(62)) then messagebox('提示',sys_msg_pow, Information!, OK! ) return end if long zero_storageid,zero_mtrlid string ls_mtrlcode ,ls_mtrlname string arg_msg if dw_uc.getrow()<=0 then messagebox('提示','请选择要加 0 零库存的物料', Information!, OK! ) return end if zero_mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()] ls_mtrlcode=dw_uc.object.mtrlcode[dw_uc.getrow()] ls_mtrlname=dw_uc.object.mtrlname[dw_uc.getrow()] IF MessageBox ("询问","是否确定["+ls_mtrlcode+"]"+ls_mtrlname+'加0库存',Question!,YesNo! ) = 2 THEN RETURN END IF openwithparm(w_addzero_mtrlware,zero_mtrlid) end event event ue_fj_edit();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 MessageBox('提示','请选择资料', Information!, OK! ) 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 = 201 //物料资料 mainID s_pic.f_string = dw_uc.Object.mtrlcode[ls_row] s_pic.g_long = dw_uc.Object.mtrlid[ls_row] s_pic.d_long = 0 //relid_mx s_pic.d_string = '' //relcode_mx s_pic.e_long = 0 // scid s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) 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 MessageBox('提示','请选择资料', Information!, OK! ) 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 = 201 //物料资料 mainID s_pic.f_string = dw_uc.Object.mtrlcode[ls_row] s_pic.g_long = dw_uc.Object.mtrlid[ls_row] s_pic.d_long = 0 //relid_mx s_pic.d_string = '' //relcode_mx s_pic.e_long = 0 // scid s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event event ue_retrieve_info();Long ll_row, i Long ll_mtrlid long ll_storageid ll_row = dw_index.GetRow() IF ll_row <= 0 THEN ll_mtrlid = 0 ELSE ll_mtrlid = dw_index.Object.mtrlid[ll_row] END IF IF IsValid(w_mtrl_info) THEN w_mtrl_info.WindowState = Normal! w_mtrl_info.ins_mtrlid = ll_mtrlid w_mtrl_info.wf_retrieve(ll_mtrlid) END IF ////检查默认仓库 //wf_get_storage(ll_mtrlid) end event event ue_mtrl_info();Long ll_row ll_row = dw_index.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择物料') RETURN END IF Long ll_mtrlid ll_mtrlid = dw_index.Object.mtrlid[ll_row] IF IsValid(w_mtrl_info) THEN w_mtrl_info.WindowState = Normal! w_mtrl_info.ins_mtrlid = ll_mtrlid w_mtrl_info.wf_retrieve(ll_mtrlid) ELSE OpenWithParm(w_mtrl_info,ll_mtrlid) END IF end event event ue_moddscrp();s_view_dscrp s_view,s_return String ls_dscrp dw_base.AcceptText() ls_dscrp = dw_base.Object.dscrp[dw_base.GetRow()] s_view.Title = '备注' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_base.Object.dscrp[dw_base.GetRow()] = s_return.dscrp END IF end event event ue_mtrltype_rtr();if dw_edit_mode then return tv_1.f_maketree(-1) f_init_mtrltype() end event event ue_mtrltype_set();if dw_edit_mode then return open(w_mtrltype_def) end event event ue_woodcode_config_ch();Long ls_i Long ll_row_con Long ll_row string rslt_pz dw_cost.AcceptText() dw_config_def.accepttext() ll_row = dw_cost.GetRow() IF ll_row <= 0 THEN MessageBox('error','请选定目标行') RETURN END IF ll_row_con = dw_config_def.getrow() IF ll_row_con <= 0 THEN MessageBox('error','请选定目标行') RETURN END IF IF dw_cost.Object.woodcodeflag[ll_row] <> 4 THEN MessageBox('系统提示',sys_option_change_woodcode + ' 类型不是"部件选配",不能设置默认值') RETURN END IF IF dw_cost.Object.u_mtrldef_woodcodetype_1[ll_row] <= 0 THEN MessageBox('系统提示','请先选择 ' +sys_option_change_woodcode + ' 分类') RETURN END IF s_pzwin_open arg_s_win IF Not dw_edit_mode THEN RETURN IF Not IsValid(w_configure_pzmx_ch) THEN arg_s_win.arg_x = This.X + This.PointerX() //+ PARENT.X arg_s_win.arg_y = This.Y + This.PointerY() //+ PARENT.Y arg_s_win.arg_col_value = dw_config_def.Object.woodcode_config[ll_row_con] arg_s_win.arg_mtrlid = dw_cost.Object.u_mtrldef_woodcodetype_1[ll_row] arg_s_win.arg_editmode = True OpenWithParm(w_configure_pzmx_ch,arg_s_win) rslt_pz = Message.StringParm IF rslt_pz = '' THEN RETURN dw_config_def.Object.woodcode_config[ll_row_con] = rslt_pz dw_config_def.accepttext() END IF end event event ue_status_config_ch();Long ls_i Long ll_row_con Long ll_row string rslt_pz dw_cost.AcceptText() dw_config_def.accepttext() ll_row = dw_cost.GetRow() IF ll_row <= 0 THEN MessageBox('error','请选定目标行') RETURN END IF ll_row_con = dw_config_def.getrow() IF ll_row_con <= 0 THEN MessageBox('error','请选定目标行') RETURN END IF IF dw_cost.Object.statusflag[ll_row] <> 4 THEN MessageBox('系统提示',sys_option_change_status + ' 类型不是"部件选配",不能设置默认值') RETURN END IF IF dw_cost.Object.u_mtrldef_statustype_1[ll_row] <= 0 THEN MessageBox('系统提示','请先选择 ' +sys_option_change_status + ' 分类') RETURN END IF s_pzwin_open arg_s_win IF Not dw_edit_mode THEN RETURN IF Not IsValid(w_configure_pzmx_ch) THEN arg_s_win.arg_x = This.X + This.PointerX() //+ PARENT.X arg_s_win.arg_y = This.Y + This.PointerY() //+ PARENT.Y arg_s_win.arg_col_value = dw_config_def.Object.status_config[ll_row_con] arg_s_win.arg_mtrlid = dw_cost.Object.u_mtrldef_statustype_1[ll_row] arg_s_win.arg_editmode = True OpenWithParm(w_configure_pzmx_ch,arg_s_win) rslt_pz = Message.StringParm IF rslt_pz = '' THEN RETURN dw_config_def.Object.status_config[ll_row_con] = rslt_pz dw_config_def.accepttext() END IF end event event ue_pcode_config_ch();Long ls_i Long ll_row_con Long ll_row string rslt_pz dw_cost.AcceptText() dw_config_def.accepttext() ll_row = dw_cost.GetRow() IF ll_row <= 0 THEN MessageBox('error','请选定目标行') RETURN END IF ll_row_con = dw_config_def.getrow() IF ll_row_con <= 0 THEN MessageBox('error','请选定目标行') RETURN END IF IF dw_cost.Object.pcodeflag[ll_row] <> 4 THEN MessageBox('系统提示',sys_option_change_pcode + ' 类型不是"部件选配",不能设置默认值') RETURN END IF IF dw_cost.Object.u_mtrldef_pcodetype_1[ll_row] <= 0 THEN MessageBox('系统提示','请先选择 ' +sys_option_change_pcode + ' 分类') RETURN END IF s_pzwin_open arg_s_win IF Not dw_edit_mode THEN RETURN IF Not IsValid(w_configure_pzmx_ch) THEN arg_s_win.arg_x = This.X + This.PointerX() //+ PARENT.X arg_s_win.arg_y = This.Y + This.PointerY() //+ PARENT.Y arg_s_win.arg_col_value = dw_config_def.Object.pcode_config[ll_row_con] arg_s_win.arg_mtrlid = dw_cost.Object.u_mtrldef_pcodetype_1[ll_row] arg_s_win.arg_editmode = True OpenWithParm(w_configure_pzmx_ch,arg_s_win) rslt_pz = Message.StringParm IF rslt_pz = '' THEN RETURN dw_config_def.Object.pcode_config[ll_row_con] = rslt_pz dw_config_def.accepttext() END IF end event event ue_packpz_copy();Int i long ll_row,uc_row String ls_mtrlcode long ll_mtrlid ll_row = dw_packpz.getrow() if ll_row <= 0 then messagebox('系统提示','请选择要复制的内容') return end if uc_row = dw_index.getrow() if uc_row <= 0 then messagebox('系统提示','请选择要复制的内容') return end if ll_mtrlid = dw_index.object.mtrlid[uc_row] ls_mtrlcode = dw_index.object.mtrlcode[uc_row] IF dw_configure2.GetRow() <= 0 THEN MessageBox('系统提示','没有可复制的内容') RETURN END IF FOR i = 1 TO dw_configure2.RowCount() s_pz_pack_arr.pzid[i] = dw_configure2.Object.pzid[i] s_pz_pack_arr.pzcode[i] = dw_configure2.Object.pzcode[i] s_pz_pack_arr.pzname[i] = dw_configure2.Object.pzname[i] s_pz_pack_arr.pzcodemx[i] = "" s_pz_pack_arr.pznamemx[i] = dw_configure2.Object.pznamemx[i] s_pz_pack_arr.printid[i] = 0 ll_mxbt_pack = i NEXT ll_copy_configcodetype = dw_packpz.object.u_mtrldef_configcodetype[ll_row] ls_copy_configcode = dw_packpz.object.u_mtrldef_configcode[ll_row] ls_copy_configname = dw_packpz.object.u_mtrldef_configname[ll_row] ls_copy_mtrlcolor = dw_packpz.object.u_mtrldef_mtrlcolor[ll_row] tab_1.tabpage_4.cb_pastepack.Enabled = TRUE SELECT mtrlcode INTO :ls_mtrlcode FROM u_mtrldef Where mtrlid = :ll_mtrlid; IF sqlca.SQLCode <> 0 THEN st_msg.Text = '' ELSE st_msg.Text = '已复制 '+ls_mtrlcode+' 的部件配置' END IF MessageBox('系统提示','复制成功') end event event ue_packpz_paste();Int rslt = 1 String arg_msg Long uc_row,ll_mtrlid,ll_row IF UpperBound(s_pz_pack_arr.pzid[]) = 0 THEN arg_msg = '没有复制的内容' rslt = 0 GOTO ext END IF uc_row = dw_index.GetRow() IF uc_row <= 0 THEN rslt = 0 arg_msg = '请选定目标行' GOTO ext END IF ll_row = dw_packpz.GetRow() IF ll_row <= 0 THEN rslt = 0 arg_msg = '请选定目标行' GOTO ext END IF IF MessageBox('系统提示','确定要粘贴当前物料配置吗?',Question!,YesNo!,2) = 2 THEN RETURN ll_mtrlid = dw_index.Object.mtrlid[uc_row] UPDATE u_mtrldef SET configcodetype = :ll_copy_configcodetype, configcode = :ls_copy_configcode , configname = :ls_copy_configname , mtrlcolor = :ls_copy_mtrlcolor Where mtrlid = :ll_mtrlid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '更新产品配置失败'+sqlca.SQLErrText GOTO ext END IF IF uo_mtrl.uof_update_configure2(ll_mtrlid,s_pz_pack_arr,FALSE,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN ROLLBACK; MessageBox('Error',arg_msg) ELSE COMMIT; MessageBox('系统提示','粘贴产品配置成功') dw_packpz.Object.u_mtrldef_configcodetype[ll_row] = ll_copy_configcodetype dw_packpz.Object.u_mtrldef_configcode[ll_row] = ls_copy_configcode dw_packpz.Object.u_mtrldef_configname[ll_row] = ls_copy_configname dw_packpz.Object.u_mtrldef_mtrlcolor[ll_row] = ls_copy_mtrlcolor dw_index.Object.u_mtrldef_configcodetype[uc_row] = ll_copy_configcodetype dw_index.Object.u_mtrldef_configcode[uc_row] = ls_copy_configcode dw_index.Object.u_mtrldef_configname[uc_row] = ls_copy_configname dw_index.Object.u_mtrldef_mtrlcolor[uc_row] = ls_copy_mtrlcolor THIS.TriggerEvent('retr_configure') END IF end event event ue_retrieve_mx();Long ll_row, i Long ll_mtrlid long ll_storageid ll_row = dw_index.GetRow() IF ll_row <= 0 THEN ll_mtrlid = 0 ELSE ll_mtrlid = dw_index.Object.mtrlid[ll_row] END IF //刷新存放仓库 wf_get_storage(ll_mtrlid) //刷新产品配置, 组合配置, 部件选配 //产品配置 dw_packpz.retrieve(ll_mtrlid) dw_configure2.retrieve(ll_mtrlid) //组合配置 dw_mtrl_configure.retrieve(ll_mtrlid) //部件选配 dw_config_def.retrieve(ll_mtrlid) dw_mtrldef_pack.retrieve(ll_mtrlid) end event event ue_ch_mtrltype();IF Not IsValid(w_mtrltype_ch) THEN Open(w_mtrltype_ch) s_mtrltype s_ch s_ch = Message.PowerObjectParm IF s_ch.mtrltypeid > 0 THEN dw_base.Object.mtrltypeid[dw_base.GetRow()] = s_ch.mtrltypeid END IF datawindowchild childdw dw_base.GetChild("mtrltypeid",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF end event event ue_pzcopy();Int i String ls_mtrlcode IF dw_mtrl_configure.GetRow() <= 0 THEN messagebox('系统提示','没有可复制的内容') RETURN end if FOR i = 1 TO dw_mtrl_configure.RowCount() s_pz_arr.mtrlid[i] = dw_mtrl_configure.Object.mtrlid[i] s_pz_arr.code[i] = dw_mtrl_configure.Object.code[i] s_pz_arr.Name[i] = dw_mtrl_configure.Object.Name[i] s_pz_arr.ename[i] = dw_mtrl_configure.Object.ename[i] s_pz_arr.ctype[i] = dw_mtrl_configure.Object.TYPE[i] s_pz_arr.dscrp[i] = dw_mtrl_configure.Object.dscrp[i] s_pz_arr.defaultpz[i] = dw_mtrl_configure.Object.defaultpz[i] s_pz_arr.ifzj[i] = dw_mtrl_configure.Object.ifzj[i] s_pz_arr.capacity[i] = dw_mtrl_configure.Object.capacity[i] s_pz_arr.capaparm[i] = dw_mtrl_configure.Object.capaparm[i] s_pz_arr.ifgeneral[i] = dw_mtrl_configure.Object.ifgeneral[i] ll_mxbt = i NEXT tab_1.tabpage_5.cb_pastepz.Enabled = TRUE SELECT mtrlcode INTO :ls_mtrlcode FROM u_mtrldef Where mtrlid = :s_pz_arr.mtrlid[1]; IF sqlca.SQLCode <> 0 THEN st_msg.Text = '' ELSE st_msg.Text = '已复制 '+ls_mtrlcode+' 的组合配置' END IF messagebox('系统提示','复制成功') end event event ue_pzpaste();Int i,rslt = 1,uc_row String arg_msg Long ll_newid //uo_mtrl_pf uo_mp //uo_mp = CREATE uo_mtrl_pf long ll_mtrlid IF UpperBound(s_pz_arr.mtrlid[]) = 0 THEN arg_msg = '没有复制的内容' rslt = 0 GOTO ext END IF uc_row = dw_cost.GetRow() IF uc_row <= 0 THEN rslt = 0 arg_msg = '请选定目标行' GOTO ext END IF Long ll_ifmtrlpz ll_ifmtrlpz = dw_cost.Object.statusflag[uc_row] IF ll_ifmtrlpz <> 2 THEN MessageBox('系统提示','物料配置属性不是组合配套,不能粘贴配置!') RETURN END IF IF MessageBox('系统提示','确定要粘贴当前物料配置吗?',Question!,YesNo!,2) = 2 THEN RETURN ll_mtrlid = dw_cost.Object.mtrlid[uc_row] string ls_mtrlcode ls_mtrlcode = dw_cost.Object.mtrlcode[uc_row] Long cnt FOR i = 1 TO ll_mxbt ll_newid = f_sys_scidentity(0,"u_mtrl_configure","cid",arg_msg,TRUE,id_sqlca) IF ll_newid <= 0 THEN rslt = 0 GOTO ext END IF INSERT INTO u_mtrl_configure( cid, mtrlid, code, name, ename, type, dscrp, defaultpz, ifzj, planprice, capacity, capaparm, ifgeneral) VALUES( :ll_newid, :ll_mtrlid, :s_pz_arr.code[i], :s_pz_arr.name[i], :s_pz_arr.ename[i], :s_pz_arr.ctype[i], :s_pz_arr.dscrp[i], :s_pz_arr.defaultpz[i], :s_pz_arr.ifzj[i], :s_pz_arr.planprice[i], :s_pz_arr.capacity[i], :s_pz_arr.capaparm[i], :s_pz_arr.ifgeneral[i]); IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '因网络或者其他原因导致插入纪录失败!>>'+sqlca.SQLErrText GOTO ext END IF // cnt = 0 // SELECT count(*) INTO :cnt // FROM u_mtrl_pf // WHERE mtrlid = :ll_mtrlid // AND pfcode = :s_pz_arr.Name[i]; // IF sqlca.SQLCode <> 0 THEN // rslt = 0 // arg_msg = '由于网络或者其他原因导致查询操作失败!>>'+sqlca.SQLErrText // GOTO ext // END IF // // IF cnt = 0 THEN //存在时不插入 // IF uo_mp.uof_addpflist(ll_mtrlid,s_pz_arr.Name[i],'',0,0,0,FALSE,arg_msg) = 0 THEN // rslt = 0 // GOTO ext // END IF // END IF NEXT ext: IF rslt = 0 THEN ROLLBACK; MessageBox('提示',arg_msg) ELSE COMMIT; MessageBox('提示','粘贴成功') THIS.TriggerEvent('ue_retrieve_mx') END IF //DESTROY uo_mp end event event ue_packcopy();Int i String ls_mtrlcode IF dw_mtrldef_pack.RowCount() <= 0 THEN MessageBox('系统提示','没有可复制的内容') RETURN END IF s_mtrldef_pack s_pack[] FOR i = 1 To dw_mtrldef_pack.RowCount() s_pack[i].mtrlid = dw_mtrldef_pack.Object.mtrlid[i] s_pack[i].printid = dw_mtrldef_pack.Object.printid[i] s_pack[i].packcode = dw_mtrldef_pack.Object.packcode[i] s_pack[i].packname = dw_mtrldef_pack.Object.packname[i] s_pack[i].packnum = dw_mtrldef_pack.Object.packnum[i] s_pack[i].net_weight = dw_mtrldef_pack.Object.net_weight[i] s_pack[i].gross_weight = dw_mtrldef_pack.Object.gross_weight[i] s_pack[i].cubage = dw_mtrldef_pack.Object.cubage[i] NEXT s_pack_arr = s_pack tab_1.tabpage_7.cb_pastempack.Enabled = True SELECT mtrlcode INTO :ls_mtrlcode FROM u_mtrldef Where mtrlid = :s_pack[1].mtrlid; IF sqlca.SQLCode <> 0 THEN st_msg.Text = '' ELSE st_msg.Text = '已复制 '+ls_mtrlcode+' 的包件' END IF MessageBox('系统提示','复制成功') end event event ue_packpaste();int rslt = 1 string arg_msg IF UpperBound(s_pack_arr) = 0 THEN arg_msg = '没有复制的内容' rslt = 0 GOTO ext END IF long uc_row uc_row = dw_cost.GetRow() IF uc_row <= 0 THEN rslt = 0 arg_msg = '请选定目标行' GOTO ext END IF IF MessageBox('系统提示','确定要粘贴当前包件定义吗?',Question!,YesNo!,2) = 2 THEN RETURN long ll_mtrlid ll_mtrlid = dw_cost.Object.mtrlid[uc_row] string ls_mtrlcode ls_mtrlcode = dw_cost.Object.mtrlcode[uc_row] s_mtrldef_pack s_pack long i FOR i = 1 TO UpperBound(s_pack_arr) s_pack = s_pack_arr[i] s_pack.mtrlid = ll_mtrlid s_pack.printid = 0 if uo_mtrl.save_pack(s_pack, arg_msg, false) <> 1 then rslt = 0 goto ext end if NEXT ext: IF rslt = 0 THEN ROLLBACK; MessageBox('提示',arg_msg) ELSE COMMIT; MessageBox('提示','粘贴成功') THIS.TriggerEvent('ue_retrieve_mx') END IF end event event ue_cmp_zh();Long i,j,contractcnt Long llkk_mtrlid long llkk_cid datastore ds ds = Create datastore ds.DataObject = "dw_mtrl_color_color_df" ds.SetTransObject(sqlca) Open(w_sys_wait) w_sys_wait.wf_set_msg('正在计算...') w_sys_wait.Show() FOR i = 1 To dw_index.RowCount() //针对第一个配置使用了组合配置的产品 IF dw_index.Object.statusflag[i] = 2 THEN llkk_mtrlid = 0 contractcnt = 0 llkk_mtrlid = dw_index.Object.mtrlid[i] contractcnt = ds.Retrieve(llkk_mtrlid) FOR j = 1 To contractcnt IF ds.Object.ifzj[j] = 0 THEN llkk_cid=0 llkk_cid=ds.Object.cid[j] wf_cmp_zh(llkk_mtrlid, string(ds.Object.name[j]) , llkk_cid) END IF NEXT END IF NEXT w_sys_wait.Hide() messagebox('提示','批计算完成!!') end event event ue_ch_mtrlsectype();String ls_str IF Not IsValid(w_mtrlsectype_def) THEN Open(w_mtrlsectype_def) ls_str = Message.StringParm IF ls_str <> '' THEN dw_base.Object.mtrlsectype[dw_base.GetRow()] = ls_str END IF END IF end event event ue_ch_zxmtrlmode();String ls_str IF Not IsValid(w_zxmtrlmode_def) THEN Open(w_zxmtrlmode_def) ls_str = Message.StringParm IF ls_str <> '' THEN dw_base.Object.zxmtrlmode[dw_base.GetRow()] = ls_str END IF END IF end event event retrieve_fjnum(); Long i,ls_filecount Long arg_billid dw_index.SetRedraw(False) FOR i = 1 To dw_index.RowCount() arg_billid = dw_index.Object.mtrlid[i] ls_filecount = 0 SELECT count(*) INTO :ls_filecount FROM u_file WHERE relid = :arg_billid AND scid = 0 AND billtype = 201 Using sys_filedb_sqlca; IF ls_filecount <> 0 then dw_index.Object.fj_num[i] = String(ls_filecount) end if NEXT dw_index.SetRedraw(true) end event event ue_cmpl_price();IF dw_cost.GetRow() = 0 THEN RETURN Long row dw_cost.AcceptText() row = dw_cost.GetRow() s_cmpl_qty s_cmpl,s_return IF NOT IsValid(w_cmpl_qty_ch) THEN OpenWithParm(w_cmpl_qty_ch,s_cmpl) s_return = Message.PowerObjectParm IF s_return.formula<> '' THEN dw_cost.Object.u_mtrldef_priceformula[row] = s_return.formula END IF END IF end event event ue_cmpl_qty();IF dw_cost.GetRow() = 0 THEN RETURN Long row dw_cost.AcceptText() row = dw_cost.GetRow() s_cmpl_qty s_cmpl,s_return IF NOT IsValid(w_cmpl_qty_ch) THEN OpenWithParm(w_cmpl_qty_ch,s_cmpl) s_return = Message.PowerObjectParm IF s_return.formula<> '' THEN dw_cost.Object.u_mtrldef_strcheckaddqty[row] = s_return.formula END IF END IF end event public function long wf_delpic (long arg_mtrlid, ref string arg_msg);Int rslt = 1 DELETE FROM u_mtrlpic Where mtrlid = :arg_mtrlid ; IF sqlca.SQLCode <> 0 THEN arg_msg = '删除产品图片失败,原因:'+sqlca.SQLErrText rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN ROLLBACK; END IF Return (rslt) end function public function long wf_del_storage (long arg_mtrlid, ref string arg_msg);Int rslt = 1 DELETE FROM u_mtrl_storage Where mtrlid = :arg_mtrlid ; IF sqlca.SQLCode <> 0 THEN arg_msg = '删除物料存放仓位失败,原因:'+sqlca.SQLErrText rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN ROLLBACK; END IF Return (rslt) end function public function integer wf_add_mtrltype (long arg_mtrltypeid);String ls_mtrltype,lls_handtype IF arg_mtrltypeid = 0 THEN arg_mtrltypeid = 0 ls_mtrltype = '' lls_handtype = '' ELSE SELECT u_mtrltype.mtrltype,u_mtrltype.handtype INTO :ls_mtrltype,:lls_handtype FROM u_mtrltype Where u_mtrltype.mtrltypeid = :arg_mtrltypeid; END IF dw_uc.SetRedraw( False) dw_uc.Object.mtrltypeid[dw_uc.GetRow()] = arg_mtrltypeid dw_uc.Object.mtrltype[dw_uc.GetRow()] = ls_mtrltype dw_uc.Object.handtype[dw_uc.GetRow()] = lls_handtype dw_uc.SetRedraw( True) IF dw_base.GetRow() > 0 THEN dw_base.Object.mtrltypeid[dw_base.GetRow()] = arg_mtrltypeid dw_base.Object.mtrltype[dw_base.GetRow()] = ls_mtrltype dw_base.Object.handtype[dw_base.GetRow()] = lls_handtype END IF dw_uc.AcceptText() dw_base.AcceptText() dw_cost.AcceptText() RETURN 1 end function public function integer wf_hc (string arg_bt_text);If (mode = 1) THEN IF arg_bt_text = '<<' THEN dw_index.Height = tv_1.Height cb_mx_del.Visible = FALSE cb_mx_ch.Visible = FALSE cbx_ifch_repeat.Visible = FALSE dw_ch.Visible = FALSE cbx_hc.Visible = FALSE ELSE IF cbx_hc.Checked THEN dw_index.Height = cb_mx_del.Y - dw_index.Y - 5 cb_mx_del.Visible = TRUE cb_mx_ch.Visible = TRUE cbx_ifch_repeat.Visible = TRUE dw_ch.Visible = TRUE END IF cbx_hc.Visible = TRUE END IF else dw_index.Height = tv_1.Height cb_mx_del.Visible = FALSE cb_mx_ch.Visible = FALSE cbx_ifch_repeat.Visible = FALSE dw_ch.Visible = FALSE cbx_hc.Visible = FALSE END IF RETURN 1 end function public function integer wf_auto_mtrlcode ();IF NOT dw_edit_mode THEN RETURN 1 IF dw_uc.GetRow() <= 0 THEN RETURN 1 IF cur_mtrltypeid = 0 THEN RETURN 1 IF cur_typecode = '' THEN RETURN 1 IF Long(em_1.Text) <= 0 THEN RETURN 1 if sys_option_auto_code=1 then return 1 //系统选项266 直接自动流水 Long ll_len_typecode Long ll_maxnum String ls_auto_code,ls_num String ls_max_mtrlcode ll_len_typecode = Len(cur_typecode) SELECT max(mtrlcode) INTO :ls_max_mtrlcode FROM u_mtrldef WHERE mtrltypeid = :cur_mtrltypeid AND Left(mtrlcode,:ll_len_typecode) = :cur_typecode ; IF sqlca.SQLCode <> 0 THEN RETURN 1 ls_num = Fill("0",Long(em_1.Text)) IF IsNull(ls_max_mtrlcode) THEN ll_maxnum = 0 ELSE ll_maxnum = Long(Mid(ls_max_mtrlcode,ll_len_typecode + 1)) END IF IF ll_maxnum < 0 THEN ls_auto_code = cur_typecode + String(ll_maxnum - 1,ls_num) ELSE ls_auto_code = cur_typecode + String(ll_maxnum + 1,ls_num) END IF dw_base.Object.mtrlcode[dw_uc.GetRow()] = ls_auto_code RETURN 1 end function public subroutine wf_get_storage (long arg_mtrlid);Long ll_storageid Long ll_dft Long ll_add Int ls_i = 1,ls_rowcount ls_rowcount = dw_storage.RowCount() FOR ls_i = 1 TO ls_rowcount ll_storageid = dw_storage.Object.storageid[ls_i] SELECT dft INTO :ll_dft FROM u_mtrl_storage WHERE mtrlid = :arg_mtrlid AND storageid = :ll_storageid; IF sqlca.SQLCode <> 0 THEN ll_add = 0 ll_dft = 0 ELSE ll_add = 1 END IF dw_storage.Object.selflag_add[ls_i] = ll_add dw_storage.Object.selflag_dft[ls_i] = ll_dft NEXT dw_storage.AcceptText() end subroutine public subroutine wf_init_sp_v ();//将所有该分割条的左右的object都进行注册 sp_v1.of_Reset() sp_v1.of_Register(dw_index, sp_v1.RIGHT) sp_v1.of_Register(tv_1, sp_v1.left) //定位拖动条--以dw_1为位移基准 sp_v1.uf_possplitbar(tv_1) end subroutine public subroutine wf_find_pz (long arg_status, long arg_row, long arg_mtrlid);//status = 0 add, 1 update, 2 del Long ls_i Long child_row s_pzwin_open arg_s_win child_row = arg_row IF NOT dw_edit_mode THEN RETURN IF arg_status = 2 THEN dw_configure2.DeleteRow( arg_row ) ELSE IF NOT IsValid(w_mtrl_configure_pzmx_ch) THEN IF dw_packpz.GetRow() < 1 THEN RETURN IF dw_packpz.Object.u_mtrldef_configcodetype[dw_packpz.GetRow()] <= 0 THEN MessageBox("系统提示","请选择配置类型!") RETURN END IF arg_s_win.arg_x = THIS.X + THIS.PointerX() //+ PARENT.X arg_s_win.arg_y = THIS.Y + THIS.PointerY() //+ PARENT.Y arg_s_win.arg_col_value = "" //dw_packpz.Object.u_mtrldef_configcode[dw_packpz.GetRow()] arg_s_win.arg_mtrlid = dw_packpz.Object.u_mtrldef_configcodetype[dw_packpz.GetRow()] arg_s_win.arg_editmode = TRUE FOR ls_i = 1 TO dw_configure2.RowCount() arg_s_win.arg_configure_arr.pzid[ls_i] = dw_configure2.Object.pzid[ls_i] arg_s_win.arg_configure_arr.pzcode[ls_i] = dw_configure2.Object.pzcode[ls_i] arg_s_win.arg_configure_arr.pzname[ls_i] = dw_configure2.Object.pzname[ls_i] arg_s_win.arg_configure_arr.pznamemx[ls_i] = dw_configure2.Object.pznamemx[ls_i] NEXT OpenWithParm(w_mtrl_configure_pzmx_ch,arg_s_win) s_mtrl_configure_array s_config s_config = Message.PowerObjectParm //接受返回结构 IF arg_status = 1 AND UpperBound(s_config.pzid) > 0 THEN dw_configure2.DeleteRow( child_row) dw_configure2.ScrollToRow (child_row) END IF FOR ls_i = 1 TO UpperBound(s_config.pzid) IF s_config.pzid[ls_i] > 0 THEN child_row = dw_configure2.Find('pzid ='+String(s_config.pzid[ls_i]),1,dw_configure2.RowCount()) IF child_row = 0 THEN child_row = dw_configure2.InsertRow (0) END IF dw_configure2.Object.mtrlid[child_row] = arg_mtrlid dw_configure2.Object.pzid[child_row] = s_config.pzid[ls_i] dw_configure2.Object.pzcode[child_row] = s_config.pzcode[ls_i] dw_configure2.Object.pzname[child_row] = s_config.pzname[ls_i] dw_configure2.Object.pznamemx[child_row] = s_config.pznamemx[ls_i] END IF NEXT END IF END IF String ls_configcode,ls_configname ls_configcode = '' ls_configname = '' dw_configure2.SetSort('pzid A') dw_configure2.Sort( ) FOR ls_i = 1 TO dw_configure2.RowCount( ) ls_configcode = ls_configcode + dw_configure2.Object.pznamemx[ls_i] +"|" ls_configname = ls_configname + dw_configure2.Object.pzname[ls_i]+":"+dw_configure2.Object.pznamemx[ls_i]+"|" NEXT dw_packpz.Object.u_mtrldef_configcode [dw_packpz.GetRow()] = ls_configcode dw_packpz.Object.u_mtrldef_configname [dw_packpz.GetRow()] = ls_configname dw_packpz.AcceptText( ) dw_configure2.AcceptText( ) end subroutine public function string wf_check_addqty (string arg_str);Int rslt = 1 String s_rtn arg_str = Trim(arg_str) datastore ds_pricestr ds_pricestr = Create datastore ds_pricestr.DataObject = 'ds_pricestr_cmpl' ds_pricestr.SetTransObject(sqlca) ds_pricestr.Retrieve() IF Left(arg_str,2) <> '数量' THEN s_rtn = '' GOTO ext END IF //IF Pos(arg_str,'辅数') <= 0 THEN // s_rtn = '' // GOTO ext //END IF //例如 数量=自定义文本1 * 4 SELECT Top 1 Replace( :arg_str,'配置1','1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'配置2','1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'配置','1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'自定义文本1','1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'自定义文本2','1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_pcode,'1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_woodcode,'1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_status,'1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_mtrlsectype,'1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,:sys_option_change_zxmtrlmode,'1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'数量','1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'辅数','1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'单包装数','1') Into :arg_str From u_user; SELECT Top 1 Replace( :arg_str,'包装数','1') Into :arg_str From u_user; ds_pricestr.Modify('cmpl.expression= "'+arg_str+'"') s_rtn = String(ds_pricestr.Object.cmpl[1]) ext: RETURN s_rtn end function public function string wf_sys_option_auto_code ();// long ll_cnt //select max(mtrlid) into :ll_cnt from u_mtrldef ; select ScIdentityno into :ll_cnt from Sys_scIdentity where Tablename ='u_mtrldef' ; if isnull(ll_cnt) then ll_cnt=0 return 'mtrl_' + string(ll_cnt + 1,'000000') end function public subroutine wf_cmp_zh (long arg_mtrlid, string arg_strall, long arg_cid);// Long i Long contractcnt String ls_tmp decimal dec_temp_net_weight decimal dec_temp_gross_weight decimal dec_temp_cubage string arg_strall_net_weight string arg_strall_gross_weight string arg_strall_cubage datastore ds ds = Create datastore ds.DataObject = "dw_mtrl_color_color_df" ds.SetTransObject(sqlca) contractcnt = ds.Retrieve(arg_mtrlid) arg_strall_net_weight=arg_strall arg_strall_gross_weight=arg_strall arg_strall_cubage=arg_strall FOR i = 1 To contractcnt IF ds.Object.ifzj[i] = 1 THEN ls_tmp='' dec_temp_net_weight=0 dec_temp_gross_weight=0 dec_temp_cubage=0 ls_tmp=trim(ds.Object.name[i]) dec_temp_net_weight=dec(ds.Object.net_weight[i]) dec_temp_gross_weight=dec(ds.Object.gross_weight[i]) dec_temp_cubage=dec(ds.Object.cubage[i]) arg_strall_net_weight=wf_pb_of_globalreplace(arg_strall_net_weight,ls_tmp,string(dec_temp_net_weight)) arg_strall_gross_weight=wf_pb_of_globalreplace(arg_strall_gross_weight,ls_tmp,string(dec_temp_gross_weight)) arg_strall_cubage=wf_pb_of_globalreplace(arg_strall_cubage,ls_tmp,string(dec_temp_cubage)) END IF NEXT //messagebox('arg_strall_net_weight',arg_strall_net_weight) //messagebox('arg_strall_gross_weight',arg_strall_gross_weight) //messagebox('arg_strall_cubage',arg_strall_cubage) datastore ds_pricestr string s_rtn decimal arg_value_dec ds_pricestr = Create datastore ds_pricestr.DataObject = 'ds_pricestr_cmpl' ds_pricestr.SetTransObject(sqlca) ds_pricestr.Retrieve() decimal arg_value_dec_net_weight ds_pricestr.Modify('cmpl.expression= "'+arg_strall_net_weight+'"') s_rtn = String(ds_pricestr.Object.cmpl[1]) arg_value_dec_net_weight=0 arg_value_dec_net_weight = Round(Dec(s_rtn),5) decimal arg_value_dec_gross_weight ds_pricestr.Modify('cmpl.expression= "'+arg_strall_gross_weight+'"') s_rtn = String(ds_pricestr.Object.cmpl[1]) arg_value_dec_gross_weight=0 arg_value_dec_gross_weight = Round(Dec(s_rtn),5) decimal arg_value_dec_cubage ds_pricestr.Modify('cmpl.expression= "'+arg_strall_cubage+'"') s_rtn = String(ds_pricestr.Object.cmpl[1]) arg_value_dec_cubage=0 arg_value_dec_cubage = Round(Dec(s_rtn),5) update u_mtrl_configure set net_weight=:arg_value_dec_net_weight, gross_weight=:arg_value_dec_gross_weight, cubage =:arg_value_dec_cubage where cid=:arg_cid; commit; end subroutine public function string wf_pb_of_globalreplace (string arg_strall, string ls_name, string dec_temp);// //f_pb_of_globalreplace(arg_strall_net_weight,ls_tmp,string(dec_temp_net_weight)) Long i String exp_arry[],resp_end String rtn_str ls_name = Trim(String(ls_name)) dec_temp=string(round(dec(dec_temp),5)) //预防名称和 值都是数字 所以转换为5位小数 f_pb_split(arg_strall,"+" ,exp_arry) FOR i = 1 To UpperBound(exp_arry) IF Len(Trim(exp_arry[i])) > 0 THEN IF Trim(exp_arry[i]) = ls_name THEN //如果相等 直接替换 exp_arry[i] = dec_temp ELSEIF Pos(Trim(exp_arry[i]),'*') > 0 THEN //有乘号 用函数替换 数字不可能有 * 不可能有2*2的存在 exp_arry[i] = f_pb_of_globalreplace(exp_arry[i],ls_name,String(dec_temp)) END IF END IF NEXT rtn_str = '' FOR i = 1 To UpperBound(exp_arry) IF Len(Trim(exp_arry[i])) > 0 THEN IF rtn_str <> '' THEN rtn_str = rtn_str + ' + ' + exp_arry[i] ELSE rtn_str = exp_arry[i] END IF END IF NEXT RETURN rtn_str end function public subroutine wf_hidecol ();String ls_modify If Not f_power_ind(1928) Then //1928 查看设定购价 ls_modify = '' ls_modify = "destroy lmbuyprice_t ~n " + "lmbuyprice.visible=0 ~n " dw_index.Modify(ls_modify) dw_cost.Modify(ls_modify) End If If Not f_power_ind(1930) Then //1930 查看设定售价 ls_modify = '' ls_modify = "destroy lmsaleprice_t ~n " + "lmsaleprice.visible=0 ~n " dw_index.Modify(ls_modify) dw_cost.Modify(ls_modify) End If If Not f_power_ind(1929) Then //1929 编辑设定购价 ls_modify = '' ls_modify = "lmbuyprice.protect = 1 ~n" + "lmbuyprice_t.color = 0 ~n" + "lmbuyprice.color = 0 ~n" dw_cost.Modify(ls_modify) End If If Not f_power_ind(1931) Then //1931 编辑设定售价 ls_modify = '' ls_modify = "lmsaleprice.protect = 1 ~n" + "lmsaleprice_t.color = 0 ~n" + "lmsaleprice.color = 0 ~n" dw_cost.Modify(ls_modify) End If end subroutine on w_mtrldef_edit.create int iCurrent call super::create this.ddlb_notuse=create ddlb_notuse this.cb_1=create cb_1 this.cb_other=create cb_other this.ddlb_storageid=create ddlb_storageid this.tab_1=create tab_1 this.cbx_hc=create cbx_hc this.cb_mx_ch=create cb_mx_ch this.cb_mx_del=create cb_mx_del this.dw_ch=create dw_ch this.cbx_auto_mtrlcode=create cbx_auto_mtrlcode this.st_2=create st_2 this.em_1=create em_1 this.sp_v1=create sp_v1 this.tv_1=create tv_1 this.st_msg=create st_msg this.ddlb_mtrlorigin=create ddlb_mtrlorigin this.cbx_ifch_repeat=create cbx_ifch_repeat iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_notuse this.Control[iCurrent+2]=this.cb_1 this.Control[iCurrent+3]=this.cb_other this.Control[iCurrent+4]=this.ddlb_storageid this.Control[iCurrent+5]=this.tab_1 this.Control[iCurrent+6]=this.cbx_hc this.Control[iCurrent+7]=this.cb_mx_ch this.Control[iCurrent+8]=this.cb_mx_del this.Control[iCurrent+9]=this.dw_ch this.Control[iCurrent+10]=this.cbx_auto_mtrlcode this.Control[iCurrent+11]=this.st_2 this.Control[iCurrent+12]=this.em_1 this.Control[iCurrent+13]=this.sp_v1 this.Control[iCurrent+14]=this.tv_1 this.Control[iCurrent+15]=this.st_msg this.Control[iCurrent+16]=this.ddlb_mtrlorigin this.Control[iCurrent+17]=this.cbx_ifch_repeat end on on w_mtrldef_edit.destroy call super::destroy destroy(this.ddlb_notuse) destroy(this.cb_1) destroy(this.cb_other) destroy(this.ddlb_storageid) destroy(this.tab_1) destroy(this.cbx_hc) destroy(this.cb_mx_ch) destroy(this.cb_mx_del) destroy(this.dw_ch) destroy(this.cbx_auto_mtrlcode) destroy(this.st_2) destroy(this.em_1) destroy(this.sp_v1) destroy(this.tv_1) destroy(this.st_msg) destroy(this.ddlb_mtrlorigin) destroy(this.cbx_ifch_repeat) end on event close;call super::close;DESTROY uo_mtrl IF IsValid(w_mtrl_info) THEN ins_if_info = 1 ELSE ins_if_info = 0 END IF f_SetProfileString (sys_empid,"w_mtrldef_edit","ins_if_info",String(ins_if_info)) f_SetProfileString (sys_empid,"w_mtrldef_edit","em_1",String(em_1.text)) CLOSEWITHRETURN(THIS,INS_RT_STRU) // 窗体级子定义结构变量,用于返回 end event event open;This.TriggerEvent('ue_before_open') wf_movetocenter() old_title = This.Title s_edit_index_tran s_tran //传递参数使用 s_tran = Message.PowerObjectParm IF Not IsNull(s_tran) THEN retrieve_all = local_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_select_all = s_tran.if_select_all cur_sptid = s_tran.d_long END IF //CHOOSE CASE mode // CASE 0 // THIS.Title = old_title+' 编辑模式' // CASE 1 // THIS.Title = old_title+' 选择模式' //END CHOOSE pkcolumndbtname = wf_get_pkcolumndbtname(dw_uc) //取第一列为关键字 ori_oldselect = dw_uc.Describe("datawindow.table.select") ls_newselect = ori_oldselect ds_curquery = Create datastore ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) This.TriggerEvent('ue_mode_itfchg') IF mode = 1 THEN cb_mode_itfchg.TriggerEvent(Clicked!) wf_editindex_lockf() //==================================================================== // Script - w_mtrldef_edit inherited from w_publ_edit_index for open // Reason: //-------------------------------------------------------------------- // Modified By: yyx Date: 2003.11.28 //-------------------------------------------------------------------- IF sys_version_type = 1 THEN ddlb_mtrlorigin.Text = "采购[2]" cur_mtrlorigin = 2 ELSE Integer li_mtrlorigin, rslt li_mtrlorigin = s_tran.b_long rslt = ddlb_mtrlorigin.uf_setitem(li_mtrlorigin) IF rslt = 0 THEN String ls_str ls_str = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_mtrlorigin",'0') li_mtrlorigin = Integer(ls_str) rslt = ddlb_mtrlorigin.uf_setitem(li_mtrlorigin) END IF IF rslt = 1 THEN cur_mtrlorigin = ddlb_mtrlorigin.uo_mtrlorigin END IF END IF //初始化仓库 IF s_tran.c_long > 0 THEN Long li_storageid, ll_storageid_arr[] Long li_spacenum String ls_space String ls_storagename li_storageid = s_tran.c_long SELECT storagename INTO :ls_storagename FROM u_storage Where storageid = :li_storageid; IF sqlca.SQLCode = 0 THEN li_spacenum = 50 - Len(Trim(ls_storagename)) - 2 - Len(String(li_storageid)) ls_space = Fill(' ',li_spacenum) ddlb_storageid.Text = ls_storagename+ls_space+'['+String(li_storageid)+']' cur_storageid = li_storageid ll_storageid_arr[1] = li_storageid cur_storageid_arr = ll_storageid_arr // cur_storagestr = "u_mtrldef.storagestr like '%,"+String(cur_storageid)+",%'" END IF ELSEIF s_tran.c_long = -1 THEN ddlb_storageid.Text = '[全部]' cur_storageid = -1 cur_storageid_arr = sys_user_storageid END IF //==================================================================== IF Not retrieve_all And Trim(arg_string_code) <> '' THEN sle_usual_query.Text = Trim(arg_string_code) This.TriggerEvent("ue_usual_query_retr") //修改ls_newselect,retrieve ELSE wf_retrieveuc(dw_uc,ls_newselect,1) //retrieve // String arg_msg = '' //f_mtrlstorage_change_dwselect( dw_uc, dw_uc.DESCRIBE("datawindow.table.select"),cur_storagestr,arg_msg) This.TriggerEvent('retrieve_uc') END IF IF retrieve_all And Trim(arg_string_code) <> '' THEN sle_usual_query.Text = Trim(arg_string_code) This.TriggerEvent("ue_usual_query_filt") END IF INS_RT_STRU.mtrlid[1] = 0 This.TriggerEvent("refresh_interface") uo_mtrl = Create uo_mtrldef uo_mtrl.commit_transaction = sqlca ins_if_info = Long(f_ProfileString (sys_empid,'w_mtrldef_edit', "ins_if_info",'0')) IF ins_if_info = 1 THEN This.PostEvent('ue_mtrl_info') END IF em_1.Text = f_ProfileString (sys_empid,'w_mtrldef_edit', "em_1",'4') wf_init_sp_v() //cbx_hc.triggerevent(constructor!) end event event retrieve_uc;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled cb_firstpage_enabled = cb_firstpage.Enabled cb_nextpage_enabled = cb_nextpage.Enabled cb_retrieveall_enabled = cb_retrieveall.Enabled cb_priorpage_enabled = cb_priorpage.Enabled cb_func_enabled = cb_func.Enabled cb_retrieve_enabled = cb_retrieve.Enabled cb_firstpage.Enabled = False cb_nextpage.Enabled = False cb_retrieveall.Enabled = False cb_priorpage.Enabled = False cb_func.Enabled = False cb_retrieve.Enabled = False tv_1.Enabled = False ddlb_mtrlorigin.Enabled = False ddlb_storageid.Enabled = False dw_UC.SetRedraw(False) dw_index.ShareDataOff() SetPointer(HourGlass!) //==================================================================== // Script - w_mtrldef_edit inherited from w_publ_edit_index for retrieve_uc // Reason: //-------------------------------------------------------------------- // Modified By: yyx Date: 2003.10.30 //-------------------------------------------------------------------- IF ddlb_notuse.Text = '有效' THEN notuse = 1 ELSEIF ddlb_notuse.Text = '无效' THEN notuse = 0 ELSEIF ddlb_notuse.Text = '[全部]' THEN notuse = -1 END IF dw_base.SetRedraw(False) dw_base.InsertRow(0) dw_base.SetRedraw(True) Open(w_sys_wait) w_sys_wait.wf_set_msg('正在查询物料资料...') w_sys_wait.Show() ddlb_storageid.Enabled = False dw_UC.Retrieve(cur_mtrlorigin,notuse,ls_handtype,cur_storageid_arr,cur_storageid,cur_sptid) ddlb_storageid.Enabled = True w_sys_wait.Hide() //==================================================================== SetPointer(Arrow!) dw_UC.ShareData(dw_index) dw_UC.SetRedraw(True) IF dw_index.RowCount() >= 1 THEN dw_index.SelectRow(0,False) dw_index.SelectRow(1,True) ELSE dw_base.Reset( ) dw_cost.Reset( ) END IF tv_1.Enabled = true ddlb_mtrlorigin.Enabled = true ddlb_storageid.Enabled = true //以下功能效率低下,改为单据功能独立功能 2018-11-27 ////刷新附件数 //THIS.TriggerEvent('retrieve_fjnum') cb_firstpage.Enabled = cb_firstpage_enabled cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_priorpage.Enabled = cb_priorpage_enabled cb_func.Enabled = cb_func_enabled cb_retrieve.Enabled = cb_retrieve_enabled end event event ue_usual_query_retr;call super::ue_usual_query_retr;IF dw_edit_mode OR KeyDown(keyf4!) OR KeyDown(keyf5!) THEN RETURN 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 =ls_querystrpart + "( u_mtrldef.mtrlcode like '%"+Trim(sle_usual_query.Text)+"%'" ls_querystrpart =ls_querystrpart + " or u_mtrldef.mtrlname like '%"+Trim(sle_usual_query.Text)+"%')" ELSE ls_querystrpart =ls_querystrpart + "( u_mtrldef.mtrlcode like '"+Trim(sle_usual_query.Text)+"'" ls_querystrpart =ls_querystrpart + " or u_mtrldef.mtrlname 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_uc,ls_newselect,1) //string arg_msg = '' //f_mtrlstorage_change_dwselect( dw_uc, dw_uc.Describe("datawindow.table.select"),cur_storagestr,arg_msg) // this.triggerevent('retrieve_uc')//注意必须有此句 end event event ue_usual_query_filt;call super::ue_usual_query_filt;IF dw_edit_mode OR KeyDown(keyf4!) OR KeyDown(keyf5!) THEN RETURN String obj_expr = '' IF Trim(sle_usual_query.Text) <> '' THEN IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN obj_expr = obj_expr+' (mtrlcode LIKE "%'+Trim(sle_usual_query.Text)+'%")' obj_expr = obj_expr+' or (mtrlname LIKE "%'+Trim(sle_usual_query.Text)+'%")' ELSE obj_expr = obj_expr+' (mtrlcode LIKE "'+Trim(sle_usual_query.Text)+'")' obj_expr = obj_expr+' or (mtrlcode LIKE "'+Trim(sle_usual_query.Text)+'")' END IF END IF dw_UC.SetFilter(obj_expr) dw_UC.SetRedraw(FALSE) dw_INDEX.SetRedraw(FALSE) dw_UC.Filter() IF dw_INDEX.RowCount() >= 1 THEN dw_INDEX.SelectRow(0,FALSE) dw_INDEX.SelectRow(1,TRUE) END IF dw_UC.SetRedraw(TRUE) dw_INDEX.SetRedraw(TRUE) end event event refresh_interface;call super::refresh_interface;ddlb_notuse.Enabled = NOT dw_edit_mode cb_other.Enabled = NOT dw_edit_mode ddlb_storageid.Enabled = NOT dw_edit_mode IF sys_version_type = 0 or sys_version_type = 2 THEN ddlb_mtrlorigin.Enabled = NOT dw_edit_mode ELSE IF dw_edit_mode THEN dw_base.settaborder('mtrlorigin',0) END IF ddlb_mtrlorigin .Enabled = FALSE END IF end event event ue_before_open;call super::ue_before_open; if_ue_retr = TRUE if_ue_filter = TRUE if_ue_sort = TRUE if_ue_sentdataout = TRUE dw_base = tab_1.tabpage_1.dw_base dw_cost = tab_1.tabpage_2.dw_cost dw_storage = tab_1.tabpage_3.dw_storage dw_packpz = tab_1.tabpage_4.dw_packpz dw_configure2 = tab_1.tabpage_4.dw_configure2 dw_mtrl_configure = tab_1.tabpage_5.dw_configure dw_config_def = tab_1.tabpage_6.dw_config_def dw_mtrldef_pack = tab_1.tabpage_7.dw_mtrldef_pack dw_base.SetTransObject (sqlca) dw_cost.SetTransObject (sqlca) dw_storage.SetTransObject (sqlca) dw_packpz.SetTransObject (sqlca) dw_configure2.SetTransObject (sqlca) dw_mtrl_configure.SetTransObject (sqlca) dw_config_def.SetTransObject (sqlca) dw_mtrldef_pack.SetTransObject(sqlca) dw_uc.SetTransObject (sqlca) dw_index.SetTransObject (sqlca) dw_index.rbutton_filter_use = TRUE //右键查询功能开关 dw_base.InsertRow(0) //refresh area tree dw_cost.InsertRow(0) //refresh area tree dw_packpz.InsertRow(0) //refresh scid tree dw_storage.retrieve() wf_hidecol() end event event ue_mode_itfchg;//因工作模式(选择\非选择)改变界面布局 //1:选择; 0:编辑 IF mode = 1 THEN IF cb_mode_itfchg.Text = '<<' THEN cb_choice.Enabled = TRUE IF if_select_all THEN cbx_mlselect.Visible = TRUE cbx_allselect.Visible = TRUE ELSE cbx_mlselect.Visible = FALSE cbx_allselect.Visible = FALSE END IF ELSE cb_choice.Enabled = FALSE cbx_mlselect.Visible = FALSE cbx_allselect.Visible = FALSE IF if_select_all THEN cbx_mlselect.Checked = FALSE cbx_mlselect.TriggerEvent(Clicked!) END IF END IF IF dw_edit_mode THEN cb_choice.Enabled = FALSE ELSE cb_choice.Enabled = TRUE END IF IF cb_mode_itfchg.Text = '<<' THEN IF if_select_all THEN cbx_hc.Visible = TRUE ELSE cbx_hc.Visible = FALSE END IF ELSE cbx_hc.Visible = FALSE IF not if_select_all THEN cbx_hc.Checked = FALSE END IF END IF ELSE cb_choice.Enabled = FALSE cbx_hc.Visible = FALSE cbx_mlselect.Visible = FALSE cbx_allselect.Visible = FALSE dw_index.Height = tv_1.Height cb_mx_del.Visible = FALSE cb_mx_ch.Visible = FALSE cbx_ifch_repeat.Visible = FALSE dw_ch.Visible = FALSE END IF end event event resize;call super::resize;IF tab_1.Visible THEN tab_1.height = height - tab_1.y - 140 tab_1.tabpage_1.dw_base.Width = tab_1.tabpage_1.Width tab_1.tabpage_1.dw_base.Height = tab_1.tabpage_1.Height - tab_1.tabpage_1.dw_base.y tab_1.tabpage_2.dw_cost.Width = tab_1.tabpage_2.Width tab_1.tabpage_2.dw_cost.Height = tab_1.tabpage_2.Height - tab_1.tabpage_2.dw_cost.y tab_1.tabpage_3.dw_storage.Width = tab_1.tabpage_3.Width tab_1.tabpage_3.dw_storage.Height = tab_1.tabpage_3.Height// - tab_1.tabpage_3.dw_storage.y tab_1.tabpage_4.dw_packpz.Width = tab_1.tabpage_4.Width tab_1.tabpage_4.dw_configure2.Width = tab_1.tabpage_4.Width tab_1.tabpage_4.dw_configure2.Height = tab_1.tabpage_4.Height - tab_1.tabpage_4.dw_configure2.y tab_1.tabpage_5.dw_configure.Width = tab_1.tabpage_5.Width tab_1.tabpage_5.dw_configure.Height = tab_1.tabpage_5.Height - tab_1.tabpage_5.dw_configure.y tab_1.tabpage_6.dw_config_def.Width = tab_1.tabpage_6.Width tab_1.tabpage_6.dw_config_def.Height = tab_1.tabpage_6.Height - tab_1.tabpage_6.dw_config_def.y tab_1.tabpage_7.dw_mtrldef_pack.Width = tab_1.tabpage_7.Width tab_1.tabpage_7.dw_mtrldef_pack.Height = tab_1.tabpage_7.Height - tab_1.tabpage_7.dw_mtrldef_pack.y dw_index.Width = This.Width - dw_index.X - tab_1.Width - 40 dw_index.Height = This.Height - dw_index.Y - 140 tab_1.X = dw_index.X + dw_index.Width + 10 ELSE dw_index.Width = This.Width - dw_index.X - 40 dw_index.Height = This.Height - dw_index.Y - 140 END IF tv_1.Height = This.Height - tv_1.Y - 140 sp_v1.Y = tv_1.Y sp_v1.Height = tv_1.Height IF mode = 1 THEN IF cbx_hc.Checked THEN //dw_index.Height = cb_mx_del.Y - dw_index.Y - 5 dw_index.Height = this.Height - dw_index.Y - 830 cb_mx_del.Y = dw_index.Y + dw_index.Height + 5 cb_mx_ch.Y = cb_mx_del.Y dw_ch.Y = cb_mx_del.Y + cb_mx_del.Height + 5 dw_ch.x = dw_index.x ELSE dw_index.Height = tv_1.Height END IF ELSE dw_index.Height = tv_1.Height END IF end event type cb_func from w_publ_edit_index`cb_func within w_mtrldef_edit integer x = 302 end type type cb_exit from w_publ_edit_index`cb_exit within w_mtrldef_edit integer x = 1851 end type type sle_usual_query from w_publ_edit_index`sle_usual_query within w_mtrldef_edit integer x = 864 integer y = 188 integer width = 549 end type type cb_nextpage from w_publ_edit_index`cb_nextpage within w_mtrldef_edit boolean visible = true integer x = 2487 end type type cb_priorpage from w_publ_edit_index`cb_priorpage within w_mtrldef_edit integer x = 2642 end type type cb_firstpage from w_publ_edit_index`cb_firstpage within w_mtrldef_edit integer x = 2491 end type type cb_retrieveall from w_publ_edit_index`cb_retrieveall within w_mtrldef_edit boolean visible = true integer x = 2336 end type type em_pagerowno from w_publ_edit_index`em_pagerowno within w_mtrldef_edit boolean visible = true integer x = 2011 integer width = 325 end type type st_pagerowno from w_publ_edit_index`st_pagerowno within w_mtrldef_edit integer x = 2213 end type type st_1 from w_publ_edit_index`st_1 within w_mtrldef_edit integer x = 512 integer y = 208 integer width = 343 string text = "编码/品名含" alignment alignment = right! end type type cb_add from w_publ_edit_index`cb_add within w_mtrldef_edit integer x = 453 end type event cb_add::clicked;IF Not (f_power_ind(31) Or f_power_ind(62)) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF Long ll_mtrltypeid,ls_mtrlwareid Long ls_sonflag String arg_msg = '' Boolean if_new = False Long ll_storageid_arr[] Long ll_storageid_dft_arr[] Long i, cnt,cnt_ck_name_mode String cnt_mtrlname,cnt_mtrlmode Long cnt_mtrlid IF dw_edit_mode THEN dw_uc.AcceptText() dw_base.AcceptText() dw_cost.AcceptText() dw_storage.AcceptText() dw_packpz.AcceptText() dw_config_def.AcceptText() dw_configure2.AcceptText() IF dw_base.GetNextModified(0, Primary!) = 0 & And dw_cost.GetNextModified(0, Primary!) = 0 & And dw_storage.GetNextModified(0, Primary!) = 0 THEN MessageBox('提示','没有任何修改,不可以保存!', Information!, OK! ) RETURN END IF IF dw_base.Object.mtrlcode[dw_base.GetRow()] = '' THEN MessageBox('提示','请输入编码!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("mtrlcode") RETURN END IF IF dw_base.Object.mtrlname[dw_base.GetRow()] = '' THEN MessageBox('提示','请输入品名!', Information!, OK! ) dw_uc.SetFocus() dw_uc.SetColumn("mtrlname") RETURN END IF IF dw_base.Object.mtrlorigin[dw_base.GetRow()] = -1 THEN MessageBox('提示','请选择来源!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("mtrlorigin") RETURN END IF IF dw_base.Object.mtrltypeid[dw_base.GetRow()] = 0 THEN MessageBox('提示','请选择类别!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("mtrltypeid") RETURN END IF IF dw_base.Object.unit[dw_base.GetRow()] = '' THEN MessageBox('提示','请输入计量单位!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("unit") RETURN END IF String lss_rtn IF dw_cost.Object.u_mtrldef_ifcheckaddqty[dw_cost.GetRow()] = 0 And dw_cost.Object.u_mtrldef_strcheckaddqty[dw_cost.GetRow()] <> '' THEN dw_cost.Object.u_mtrldef_ifcheckaddqty[dw_cost.GetRow()] = 1 END IF // IF dw_cost.Object.u_mtrldef_ifcheckaddqty[dw_cost.GetRow()] = 1 THEN //不检查数量公式 // lss_rtn = wf_check_addqty(String( dw_cost.Object.u_mtrldef_strcheckaddqty[dw_cost.GetRow()] )) // IF lss_rtn = '' THEN // MessageBox('提示','检查数量和辅数关系的公式错误!(例如 数量=自定义文本1 * 辅数*4)', Information!, OK! ) // dw_cost.SetFocus() // dw_cost.SetColumn("u_mtrldef_strcheckaddqty") // RETURN // END IF // END IF //dw_base dw_uc.Object.mtrlcode[dw_uc.GetRow()] = Trim(dw_base.Object.mtrlcode[dw_base.GetRow()]) dw_uc.Object.mtrlname[dw_uc.GetRow()] = Trim(dw_base.Object.mtrlname[dw_base.GetRow()]) dw_uc.Object.mtrlengname[dw_uc.GetRow()] = Trim(dw_base.Object.mtrlengname[dw_base.GetRow()]) dw_uc.Object.mtrlorigin[dw_uc.GetRow()] = dw_base.Object.mtrlorigin[dw_base.GetRow()] dw_uc.Object.mtrltypeid[dw_uc.GetRow()] = dw_base.Object.mtrltypeid[dw_base.GetRow()] dw_uc.Object.u_mtrldef_issuliao[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_issuliao[dw_base.GetRow()] dw_uc.Object.mtrlsectype[dw_uc.GetRow()] = Trim(dw_base.Object.mtrlsectype[dw_base.GetRow()]) dw_uc.Object.mtrlmode[dw_uc.GetRow()] = Trim(dw_base.Object.mtrlmode[dw_base.GetRow()]) dw_uc.Object.mtrlsectype[dw_uc.GetRow()] = Trim(dw_base.Object.mtrlsectype[dw_base.GetRow()]) dw_uc.Object.zxmtrlmode[dw_uc.GetRow()] = Trim(dw_base.Object.zxmtrlmode[dw_base.GetRow()]) dw_uc.Object.net_weight[dw_uc.GetRow()] = dw_base.Object.net_weight[dw_base.GetRow()] dw_uc.Object.gross_weight[dw_uc.GetRow()] = dw_base.Object.gross_weight[dw_base.GetRow()] dw_uc.Object.cubage[dw_uc.GetRow()] = dw_base.Object.cubage[dw_base.GetRow()] dw_uc.Object.isuse[dw_uc.GetRow()] = dw_base.Object.isuse[dw_base.GetRow()] dw_uc.Object.iflimitprice[dw_uc.GetRow()] = dw_base.Object.iflimitprice[dw_base.GetRow()] dw_uc.Object.barcode[dw_uc.GetRow()] = Trim(dw_base.Object.barcode[dw_base.GetRow()]) dw_uc.Object.prdpackcode[dw_uc.GetRow()] = Trim(dw_base.Object.prdpackcode[dw_base.GetRow()]) dw_uc.Object.packqty[dw_uc.GetRow()] = dw_base.Object.packqty[dw_base.GetRow()] dw_uc.Object.u_mtrldef_ifpacktype[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_ifpacktype[dw_base.GetRow()] dw_uc.Object.u_mtrldef_unit_buy[dw_uc.GetRow()] = Trim(dw_base.Object.u_mtrldef_unit_buy[dw_base.GetRow()]) dw_uc.Object.u_mtrldef_unit_scll[dw_uc.GetRow()] = Trim(dw_base.Object.u_mtrldef_unit_scll[dw_base.GetRow()]) dw_uc.Object.u_mtrldef_unit_sale[dw_uc.GetRow()] = Trim(dw_base.Object.u_mtrldef_unit_sale[dw_base.GetRow()]) dw_uc.Object.u_mtrldef_rate_buy[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_rate_buy[dw_base.GetRow()] dw_uc.Object.u_mtrldef_rate_scll[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_rate_scll[dw_base.GetRow()] dw_uc.Object.u_mtrldef_rate_sale[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_rate_sale[dw_base.GetRow()] dw_uc.Object.dscrp[dw_uc.GetRow()] = Trim(dw_base.Object.dscrp[dw_base.GetRow()]) dw_uc.Object.unit[dw_uc.GetRow()] = Trim(dw_base.Object.unit[dw_base.GetRow()]) dw_uc.Object.u_mtrldef_buyunit[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_buyunit[dw_base.GetRow()] dw_uc.Object.u_mtrldef_scllunit[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_scllunit[dw_base.GetRow()] dw_uc.Object.u_mtrldef_saleunit[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_saleunit[dw_base.GetRow()] dw_uc.Object.u_mtrldef_wfjgunit[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_wfjgunit[dw_base.GetRow()] dw_uc.Object.u_mtrldef_buydec[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_buydec[dw_base.GetRow()] dw_uc.Object.u_mtrldef_saledec[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_saledec[dw_base.GetRow()] dw_uc.Object.u_mtrldef_sclldec[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_sclldec[dw_base.GetRow()] dw_uc.Object.u_mtrldef_wfjgdec[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_wfjgdec[dw_base.GetRow()] dw_uc.Object.u_mtrldef_lljg[dw_uc.GetRow()] = dw_base.Object.u_mtrldef_lljg[dw_base.GetRow()] dw_uc.Object.opdate[dw_uc.GetRow()] = Today() dw_uc.Object.opemp[dw_uc.GetRow()] = publ_operator //dw_cost dw_uc.Object.lmbuyprice[dw_uc.GetRow()] = dw_cost.Object.lmbuyprice[dw_cost.GetRow()] dw_uc.Object.lmsaleprice[dw_uc.GetRow()] = dw_cost.Object.lmsaleprice[dw_cost.GetRow()] dw_uc.Object.taskrate[dw_uc.GetRow()] = dw_cost.Object.taskrate[dw_cost.GetRow()] dw_uc.Object.taskaddqty[dw_uc.GetRow()] = dw_cost.Object.taskaddqty[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_ifautoscll[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_ifautoscll[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_ifautoscll_saletask[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_ifautoscll_saletask[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_fklevel[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_fklevel[dw_cost.GetRow()] dw_uc.Object.maxqty[dw_uc.GetRow()] = dw_cost.Object.maxqty[dw_cost.GetRow()] dw_uc.Object.minqty[dw_uc.GetRow()] = dw_cost.Object.minqty[dw_cost.GetRow()] dw_uc.Object.mtrlkind[dw_uc.GetRow()] = dw_cost.Object.mtrlkind[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_scllflag[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_scllflag[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_colorprp[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_colorprp[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_dftmtrlcost[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_dftmtrlcost[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_dftempcost[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_dftempcost[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_wfjgcost[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_wfjgcost[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_dftsccost[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_dftsccost[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_dftglcost[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_dftglcost[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_othercost[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_othercost[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_salerate[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_salerate[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_uprate[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_uprate[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_upqty[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_upqty[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_upsalerate[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_upsalerate[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_upsaleqty[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_upsaleqty[dw_cost.GetRow()] Decimal lde_tmp lde_tmp = dw_cost.Object.u_mtrldef_upscllrate[dw_cost.GetRow()] lde_tmp = dw_cost.Object.u_mtrldef_upscllqty[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_upscllrate[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_upscllrate[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_upscllqty[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_upscllqty[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_mrp_unit[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_mrp_unit[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_dftsptid[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_dftsptid[dw_cost.GetRow()] dw_uc.Object.u_spt_name[dw_uc.GetRow()] = dw_cost.Object.u_spt_name[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_inprice_mode[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_inprice_mode[dw_cost.GetRow()] // dw_uc.Object.u_mtrldef_ifHqcl[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_ifHqcl[dw_cost.GetRow()] // dw_uc.Object.u_mtrldef_HqclMtrlid[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_HqclMtrlid[dw_cost.GetRow()] // dw_uc.Object.u_mtrldef_Hqcl_Mtrlcode[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_Hqcl_Mtrlcode[dw_cost.GetRow()] // dw_uc.Object.u_mtrldef_Hqcl_Mtrlname[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_Hqcl_Mtrlname[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_ifcheckaddqty[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_ifcheckaddqty[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_strcheckaddqty[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_strcheckaddqty[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_strcheck_digit[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_strcheck_digit[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_priceformula[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_priceformula[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_qtyformula[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_qtyformula[dw_cost.GetRow()] //配置相关 dw_uc.Object.u_mtrldef_ifcustom[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_ifcustom[dw_cost.GetRow()] dw_uc.Object.statusflag[dw_uc.GetRow()] = dw_cost.Object.statusflag[dw_cost.GetRow()] dw_uc.Object.woodcodeflag[dw_uc.GetRow()] = dw_cost.Object.woodcodeflag[dw_cost.GetRow()] dw_uc.Object.pcodeflag[dw_uc.GetRow()] = dw_cost.Object.pcodeflag[dw_cost.GetRow()] IF dw_uc.Object.statusflag[dw_uc.GetRow()] = 4 THEN dw_uc.Object.u_mtrldef_statustype[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_statustype_1[dw_cost.GetRow()] ELSE dw_uc.Object.u_mtrldef_statustype[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_statustype[dw_cost.GetRow()] END IF IF dw_uc.Object.woodcodeflag[dw_uc.GetRow()] = 4 THEN dw_uc.Object.u_mtrldef_woodcodetype[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_woodcodetype_1[dw_cost.GetRow()] ELSE dw_uc.Object.u_mtrldef_woodcodetype[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_woodcodetype[dw_cost.GetRow()] END IF IF dw_uc.Object.pcodeflag[dw_uc.GetRow()] = 4 THEN dw_uc.Object.u_mtrldef_pcodetype[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_pcodetype_1[dw_cost.GetRow()] ELSE dw_uc.Object.u_mtrldef_pcodetype[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_pcodetype[dw_cost.GetRow()] END IF // dw_uc.Object.u_mtrldef_statustype[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_statustype[dw_cost.GetRow()] // dw_uc.Object.u_mtrldef_woodcodetype[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_woodcodetype[dw_cost.GetRow()] // dw_uc.Object.u_mtrldef_pcodetype[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_pcodetype[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_status_check[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_status_check[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_woodcode_check[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_woodcode_check[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_pcode_check[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_pcode_check[dw_cost.GetRow()] //3属性默认值 dw_uc.Object.u_mtrldef_status_default[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_status_default[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_woodcode_default[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_woodcode_default[dw_cost.GetRow()] dw_uc.Object.u_mtrldef_pcode_default[dw_uc.GetRow()] = dw_cost.Object.u_mtrldef_pcode_default[dw_cost.GetRow()] cnt_mtrlname = dw_uc.Object.mtrlname[dw_uc.GetRow()] cnt_mtrlmode = dw_uc.Object.mtrlmode[dw_uc.GetRow()] cnt_mtrlid = dw_uc.Object.mtrlID[dw_uc.GetRow()] cnt_ck_name_mode = 0 SELECT count(*) INTO :cnt_ck_name_mode FROM u_mtrldef WHERE mtrlname = :cnt_mtrlname AND mtrlmode = :cnt_mtrlmode And mtrlID <> :cnt_mtrlid; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询物料名称+物料规格是否重复失败', Information!, OK! ) RETURN END IF IF cnt_ck_name_mode > 0 THEN IF MessageBox ("询问","物料名称+物料规格重复,是否继续保存资料",question!,yesno! ) = 2 THEN RETURN END IF END IF FOR i = 1 To dw_storage.RowCount() IF dw_storage.Object.selflag_add[i] = 1 THEN cnt++ ll_storageid_arr[cnt] = dw_storage.Object.storageid[i] ll_storageid_dft_arr[cnt] = dw_storage.Object.selflag_dft[i] END IF NEXT IF cnt <= 0 THEN MessageBox('提示','请选择存放仓库!', Information!, OK! ) tab_1.SelectTab(3) dw_storage.SetFocus() RETURN END IF dw_uc.AcceptText( ) //////////////////////////////////////////////// // IF dw_uc.Object.mtrlID[dw_uc.GetRow()] = 0 THEN uo_mtrl.newbegin(0) if_new = True ELSE newcode = dw_uc.Object.mtrlcode[dw_uc.GetRow()] newname = dw_uc.Object.mtrlname[dw_uc.GetRow()] f_setsysoplog('定义资料','产品修改,原:'+oldcode+','+oldname+'->新:'+newcode+','+newname,arg_msg,False) END IF /////////////////////////// // dw_uc.AcceptText() ll_mtrltypeid = dw_uc.Object.mtrltypeid[dw_uc.GetRow()] wf_add_mtrltype(ll_mtrltypeid ) uo_mtrl.s_mtrl. mtrlcode [1] = dw_uc.Object.mtrlcode[dw_uc.GetRow()] uo_mtrl.s_mtrl. mtrlname [1] = dw_uc.Object.mtrlname[dw_uc.GetRow()] uo_mtrl.s_mtrl. mtrltype [1] = dw_uc.Object.mtrltype[dw_uc.GetRow()] uo_mtrl.s_mtrl. mtrlsectype [1] = dw_uc.Object.mtrlsectype[dw_uc.GetRow()] uo_mtrl.s_mtrl. mtrlmode [1] = dw_uc.Object.mtrlmode[dw_uc.GetRow()] uo_mtrl.s_mtrl. mtrlorigin[1] = dw_uc.Object.mtrlorigin[dw_uc.GetRow()] uo_mtrl.s_mtrl. unit [1] = dw_uc.Object.unit[dw_uc.GetRow()] uo_mtrl.s_mtrl. lspacklimit[1] = dw_uc.Object.lspacklimit[dw_uc.GetRow()] uo_mtrl.s_mtrl. planprice[1] = dw_uc.Object.planprice[dw_uc.GetRow()] uo_mtrl.s_mtrl. lmsaleprice[1] = dw_uc.Object.lmsaleprice[dw_uc.GetRow()] uo_mtrl.s_mtrl. lmbuyprice[1] = dw_uc.Object.lmbuyprice[dw_uc.GetRow()] uo_mtrl.s_mtrl. dscrp[1] = dw_uc.Object.dscrp[dw_uc.GetRow()] uo_mtrl.s_mtrl. Mtrlprp[1] = dw_uc.Object.Mtrlprp[dw_uc.GetRow()] uo_mtrl.s_mtrl. maxqty[1] = dw_uc.Object.maxqty[dw_uc.GetRow()] uo_mtrl.s_mtrl. minqty[1] = dw_uc.Object.minqty[dw_uc.GetRow()] uo_mtrl.s_mtrl. ctokg [1] = dw_uc.Object.ctokg[dw_uc.GetRow()] uo_mtrl.s_mtrl. isuse[1] = dw_uc.Object.isuse[dw_uc.GetRow()] uo_mtrl.s_mtrl. iflimitprice[1] = dw_uc.Object.iflimitprice[dw_uc.GetRow()] uo_mtrl.s_mtrl. packqty[1] = dw_uc.Object.packqty[dw_uc.GetRow()] uo_mtrl.s_mtrl. prdpackcode[1] = dw_uc.Object.prdpackcode[dw_uc.GetRow()] uo_mtrl.s_mtrl. ifpacktype[1] = dw_uc.Object.u_mtrldef_ifpacktype[dw_uc.GetRow()] uo_mtrl.s_mtrl. mtrltypeid[1] = dw_uc.Object.mtrltypeid[dw_uc.GetRow()] uo_mtrl.s_mtrl. handtype[1] = dw_uc.Object.handtype[dw_uc.GetRow()] uo_mtrl.s_mtrl. barcode[1] = dw_uc.Object.barcode[dw_uc.GetRow()] uo_mtrl.s_mtrl. mtrlkind[1] = dw_uc.Object.mtrlkind[dw_uc.GetRow()] uo_mtrl.s_mtrl. net_weight[1] = dw_uc.Object.net_weight[dw_uc.GetRow()] uo_mtrl.s_mtrl. gross_weight[1] = dw_uc.Object.gross_weight[dw_uc.GetRow()] uo_mtrl.s_mtrl. cubage[1] = dw_uc.Object.cubage[dw_uc.GetRow()] uo_mtrl.s_mtrl. mtrlengname[1] = dw_uc.Object.mtrlengname[dw_uc.GetRow()] uo_mtrl.s_mtrl. zxmtrlmode[1] = dw_uc.Object.zxmtrlmode[dw_uc.GetRow()] uo_mtrl.s_mtrl. unit_scll[1] = dw_uc.Object.u_mtrldef_unit_scll[dw_uc.GetRow()] uo_mtrl.s_mtrl. unit_buy[1] = dw_uc.Object.u_mtrldef_unit_buy[dw_uc.GetRow()] uo_mtrl.s_mtrl. rate_buy[1] = dw_uc.Object.u_mtrldef_rate_buy[dw_uc.GetRow()] uo_mtrl.s_mtrl. rate_scll[1] = dw_uc.Object.u_mtrldef_rate_scll[dw_uc.GetRow()] uo_mtrl.s_mtrl. rate_sale[1] = dw_uc.Object.u_mtrldef_rate_sale[dw_uc.GetRow()] uo_mtrl.s_mtrl. unit_sale[1] = dw_uc.Object.u_mtrldef_unit_sale[dw_uc.GetRow()] uo_mtrl.s_mtrl. colorprp[1] = dw_uc.Object.u_mtrldef_colorprp[dw_uc.GetRow()] uo_mtrl.s_mtrl. scllflag[1] = dw_uc.Object.u_mtrldef_scllflag[dw_uc.GetRow()] uo_mtrl.s_mtrl. taskrate[1] = dw_uc.Object.taskrate[dw_uc.GetRow()] uo_mtrl.s_mtrl. taskaddqty[1] = dw_uc.Object.taskaddqty[dw_uc.GetRow()] uo_mtrl.s_mtrl. ifautoscll[1] = dw_uc.Object.u_mtrldef_ifautoscll[dw_uc.GetRow()] uo_mtrl.s_mtrl. ifautoscll_saletask[1] = dw_uc.Object.u_mtrldef_ifautoscll_saletask[dw_uc.GetRow()] uo_mtrl.s_mtrl. fklevel[1] = dw_uc.Object.u_mtrldef_fklevel[dw_uc.GetRow()] uo_mtrl.s_mtrl. dftmtrlcost[1] = dw_uc.Object.u_mtrldef_dftmtrlcost[dw_uc.GetRow()] uo_mtrl.s_mtrl. dftempcost[1] = dw_uc.Object.u_mtrldef_dftempcost[dw_uc.GetRow()] uo_mtrl.s_mtrl. wfjgcost[1] = dw_uc.Object.u_mtrldef_wfjgcost[dw_uc.GetRow()] uo_mtrl.s_mtrl. dftsccost[1] = dw_uc.Object.u_mtrldef_dftsccost[dw_uc.GetRow()] uo_mtrl.s_mtrl. dftglcost[1] = dw_uc.Object.u_mtrldef_dftglcost[dw_uc.GetRow()] uo_mtrl.s_mtrl. othercost[1] = dw_uc.Object.u_mtrldef_othercost[dw_uc.GetRow()] uo_mtrl.s_mtrl. salerate[1] = dw_uc.Object.u_mtrldef_salerate[dw_uc.GetRow()] uo_mtrl.s_mtrl.uprate[1] = dw_uc.Object.u_mtrldef_uprate[dw_uc.GetRow()] uo_mtrl.s_mtrl.upqty[1] = dw_uc.Object.u_mtrldef_upqty[dw_uc.GetRow()] uo_mtrl.s_mtrl.upsalerate[1] = dw_uc.Object.u_mtrldef_upsalerate[dw_uc.GetRow()] uo_mtrl.s_mtrl.upsaleqty[1] = dw_uc.Object.u_mtrldef_upsaleqty[dw_uc.GetRow()] uo_mtrl.s_mtrl.upscllrate[1] = dw_uc.Object.u_mtrldef_upscllrate[dw_uc.GetRow()] uo_mtrl.s_mtrl.upscllqty[1] = dw_uc.Object.u_mtrldef_upscllqty[dw_uc.GetRow()] uo_mtrl.s_mtrl. mrp_unit[1] = dw_uc.Object.u_mtrldef_mrp_unit[dw_uc.GetRow()] uo_mtrl.s_mtrl. dftsptid[1] = dw_uc.Object.u_mtrldef_dftsptid[dw_uc.GetRow()] uo_mtrl.s_mtrl. issuliao[1] = dw_uc.Object.u_mtrldef_issuliao[dw_uc.GetRow()] uo_mtrl.s_mtrl.inprice_mode[1] = dw_uc.Object.u_mtrldef_inprice_mode[dw_uc.GetRow()] uo_mtrl.s_mtrl. ifcheckaddqty[1] = dw_uc.Object.u_mtrldef_ifcheckaddqty[dw_uc.GetRow()] uo_mtrl.s_mtrl. strcheckaddqty[1] = dw_uc.Object.u_mtrldef_strcheckaddqty[dw_uc.GetRow()] uo_mtrl.s_mtrl. strcheck_digit[1] = Int(dw_uc.Object.u_mtrldef_strcheck_digit[dw_uc.GetRow()]) uo_mtrl.s_mtrl. priceformula[1] = dw_uc.Object.u_mtrldef_priceformula[dw_uc.GetRow()] uo_mtrl.s_mtrl. qtyformula[1] = dw_uc.Object.u_mtrldef_qtyformula[dw_uc.GetRow()] uo_mtrl.s_mtrl.buyunit[1] = Int(dw_uc.Object.u_mtrldef_buyunit[dw_uc.GetRow()]) uo_mtrl.s_mtrl.scllunit[1] = Int(dw_uc.Object.u_mtrldef_scllunit[dw_uc.GetRow()]) uo_mtrl.s_mtrl.saleunit[1] = Int(dw_uc.Object.u_mtrldef_saleunit[dw_uc.GetRow()]) uo_mtrl.s_mtrl.wfjgunit[1] = Int(dw_uc.Object.u_mtrldef_wfjgunit[dw_uc.GetRow()]) uo_mtrl.s_mtrl.buydec[1] = Int(dw_uc.Object.u_mtrldef_buydec[dw_uc.GetRow()]) uo_mtrl.s_mtrl.saledec[1] = Int(dw_uc.Object.u_mtrldef_saledec[dw_uc.GetRow()]) uo_mtrl.s_mtrl.sclldec[1] = Int(dw_uc.Object.u_mtrldef_sclldec[dw_uc.GetRow()]) uo_mtrl.s_mtrl.wfjgdec[1] = Int(dw_uc.Object.u_mtrldef_wfjgdec[dw_uc.GetRow()]) uo_mtrl.s_mtrl.lljg[1] = Int(dw_uc.Object.u_mtrldef_lljg[dw_uc.GetRow()]) //3属性默认值 uo_mtrl.s_mtrl. status_default[1] = trim(dw_uc.Object.u_mtrldef_status_default[dw_uc.GetRow()]) uo_mtrl.s_mtrl. woodcode_default[1] = trim(dw_uc.Object.u_mtrldef_woodcode_default[dw_uc.GetRow()]) uo_mtrl.s_mtrl. pcode_default[1] = trim(dw_uc.Object.u_mtrldef_pcode_default[dw_uc.GetRow()]) //配置相关 uo_mtrl.s_mtrl. ifcustom[1] = dw_uc.Object.u_mtrldef_ifcustom[dw_uc.GetRow()] uo_mtrl.s_mtrl. statusflag[1] = dw_uc.Object.statusflag[dw_uc.GetRow()] uo_mtrl.s_mtrl. woodcodeflag[1] = dw_uc.Object.woodcodeflag[dw_uc.GetRow()] uo_mtrl.s_mtrl. pcodeflag[1] = dw_uc.Object.pcodeflag[dw_uc.GetRow()] uo_mtrl.s_mtrl. statustype[1] = dw_uc.Object.u_mtrldef_statustype[dw_uc.GetRow()] uo_mtrl.s_mtrl. woodcodetype[1] = dw_uc.Object.u_mtrldef_woodcodetype[dw_uc.GetRow()] uo_mtrl.s_mtrl. pcodetype[1] = dw_uc.Object.u_mtrldef_pcodetype[dw_uc.GetRow()] uo_mtrl.s_mtrl. status_check[1] = dw_uc.Object.u_mtrldef_status_check[dw_uc.GetRow()] uo_mtrl.s_mtrl. woodcode_check[1] = dw_uc.Object.u_mtrldef_woodcode_check[dw_uc.GetRow()] uo_mtrl.s_mtrl. pcode_check[1] = dw_uc.Object.u_mtrldef_pcode_check[dw_uc.GetRow()] //产品配置 uo_mtrl.s_mtrl. configcodetype[1] = dw_packpz.Object.u_mtrldef_configcodetype[dw_packpz.GetRow()] uo_mtrl.s_mtrl. configcode[1] = dw_packpz.Object.u_mtrldef_configcode[dw_packpz.GetRow()] uo_mtrl.s_mtrl. configname[1] = dw_packpz.Object.u_mtrldef_configname[dw_packpz.GetRow()] uo_mtrl.s_mtrl. mtrlcolor[1] = dw_packpz.Object.u_mtrldef_mtrlcolor[dw_packpz.GetRow()] FOR i = 1 TO dw_configure2.RowCount() uo_mtrl.s_configure2.pzid[i] = dw_configure2.Object.pzid[i] uo_mtrl.s_configure2.pzcode[i] = dw_configure2.Object.pzcode[i] uo_mtrl.s_configure2.pzname[i] = dw_configure2.Object.pzname[i] uo_mtrl.s_configure2.pzcodemx[i] = "" uo_mtrl.s_configure2.pznamemx[i] = dw_configure2.Object.pznamemx[i] uo_mtrl.s_configure2.printid[i] = 0 NEXT //部件选配 uo_mtrl.s_mtrl. status_config[1] = dw_config_def.Object.status_config[dw_config_def.GetRow()] uo_mtrl.s_mtrl. woodcode_config[1] = dw_config_def.Object.woodcode_config[dw_config_def.GetRow()] uo_mtrl.s_mtrl. pcode_config[1] = dw_config_def.Object.pcode_config[dw_config_def.GetRow()] // //行情材料 // uo_mtrl.s_mtrl. ifHqcl[1] = dw_uc.Object.u_mtrldef_ifHqcl[dw_uc.GetRow()] // uo_mtrl.s_mtrl. HqclMtrlid[1] = dw_uc.Object.u_mtrldef_HqclMtrlid[dw_uc.GetRow()] uo_mtrl.s_mtrl. storageid = ll_storageid_arr uo_mtrl.s_mtrl. storageid_dft = ll_storageid_dft_arr END IF //CALL SUPER::Clicked IF dw_edit_mode THEN String ls_errmsg IF uo_mtrl.Save( True, ls_errmsg) = 0 THEN MessageBox ("提示",ls_errmsg+",保存操作失败!", Information!, OK! ) ls_update_flag = False RETURN ELSE dw_uc.Object.mtrlID[dw_uc.GetRow()] = uo_mtrl.mtrlID ls_update_flag = True END IF ins_sqlerrtext = "" dw_uc.Enabled = False dw_base.Enabled = False dw_cost.Enabled = False dw_storage.Enabled = False dw_config_def.Enabled = False // dw_mtrl_configure.Enabled = True dw_packpz.Enabled = False dw_configure2.Enabled = False dw_index.Enabled = True // dw_base,dw_cost,dw_produce ELSE Long li_row, li_cur_row li_cur_row = dw_uc.GetRow() li_row = dw_uc.InsertRow (li_cur_row) dw_uc.ScrollToRow (li_row) dw_index.ScrollToRow (li_row) // dw_cost.ScrollToRow (li_row) dw_uc.Enabled = True dw_base.Enabled = True dw_cost.Enabled = True dw_storage.Enabled = True dw_config_def.Enabled = True // dw_mtrl_configure.Enabled = False dw_packpz.Enabled = True dw_configure2.Enabled = True dw_index.Enabled = False tab_1.SetFocus() modifyrow_no = li_row ll_mtrltypeid = tv_1.uo_cur_info.mtrltypeid wf_add_mtrltype(ll_mtrltypeid ) IF dw_cost.RowCount() > 0 THEN dw_cost.Object.u_mtrldef_strcheck_digit[dw_cost.GetRow()] = 4 END IF IF dw_storage.RowCount() = 1 THEN dw_storage.Object.selflag_add[1] = 1 ELSE IF cur_storageid > 0 THEN li_row = dw_storage.Find("storageid = "+String(cur_storageid), 1, dw_storage.RowCount()) IF li_row > 0 THEN dw_storage.Object.selflag_add[li_row] = 1 END IF END IF END IF END IF dw_edit_mode = Not dw_edit_mode wf_face_change() wf_editindex_lockf() dw_index.rbutton_filter_use = Not dw_edit_mode IF dw_edit_mode THEN IF cb_mode_itfchg.Text = '<<' THEN cb_mode_itfchg.TriggerEvent(Clicked!) END IF dw_base.SetFocus( ) dw_base.SetColumn('mtrlcode') IF Not if_modify_mode THEN IF dw_base.GetRow() = 0 THEN RETURN dw_base.Object.mtrlname[dw_base.GetRow()] = df_mtrlname dw_base.Object.mtrlcode[dw_base.GetRow()] = df_mtrlcode dw_base.Object.mtrlorigin[dw_base.GetRow()] = df_mtrlorigin dw_base.Object.mtrltypeid[dw_base.GetRow()] = cur_mtrltypeid dw_base.Object.mtrlorigin[dw_base.GetRow()] = cur_mtrlorigin dw_base.Object.mtrlsectype[dw_base.GetRow()] = df_mtrlsectype dw_base.Object.mtrlmode[dw_base.GetRow()] = df_mtrlmode dw_base.Object.unit[dw_base.GetRow()] = df_unit dw_base.Object.prdpackcode[dw_base.GetRow()] = df_prdpackcode dw_base.Object.packqty[dw_base.GetRow()] = df_packqty dw_base.Object.mtrlengname[dw_base.GetRow()] = df_mtrlengname dw_base.SelectText(Len(df_mtrlcode)+1,0) END IF //系统选项266 直接自动流水号 IF sys_option_auto_code = 1 THEN dw_base.Object.mtrlcode[dw_base.GetRow()] = wf_sys_option_auto_code() ELSE IF cbx_auto_mtrlcode.Checked THEN wf_auto_mtrlcode() END IF END IF dw_packpz.Reset() dw_config_def.Reset() dw_packpz.InsertRow(0) dw_config_def.InsertRow(0) ELSE wf_index_uc() if_modify_mode = False END IF end event type cb_edit from w_publ_edit_index`cb_edit within w_mtrldef_edit integer x = 645 end type event cb_edit::clicked;IF NOT (f_power_ind(31) OR f_power_ind(2048)) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF IF dw_uc.GetRow() < 1 THEN RETURN IF dw_edit_mode THEN IF dw_uc.GetItemStatus(dw_uc.GetRow(), 0, primary!) = newmodified! OR dw_uc.GetItemStatus(dw_uc.GetRow(), 0, primary!) = new! THEN dw_uc.DeleteRow(dw_uc.GetRow()) ELSE dw_uc.ReselectRow(dw_uc.GetRow()) END IF modifyrow_no = 0 dw_uc.Enabled = FALSE dw_base.Enabled = FALSE dw_cost.Enabled = FALSE dw_storage.Enabled = FALSE dw_config_def.Enabled = FALSE // dw_mtrl_configure.Enabled = TRUE dw_packpz.Enabled = FALSE dw_configure2.Enabled = FALSE dw_index.Enabled = TRUE ELSE dw_uc.Enabled = TRUE dw_base.Enabled = TRUE dw_cost.Enabled = TRUE dw_storage.Enabled = TRUE dw_config_def.Enabled = TRUE // dw_mtrl_configure.Enabled = FALSE dw_packpz.Enabled = TRUE dw_configure2.Enabled = TRUE dw_index.Enabled = FALSE tab_1.SetFocus() modifyrow_no = dw_uc.GetRow() String arg_msg = '' IF uo_mtrl.updatebegin(dw_uc.Object.mtrlid[dw_uc.GetRow()],arg_msg) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) RETURN END IF END IF dw_edit_mode = NOT dw_edit_mode wf_face_change() IF dw_edit_mode THEN IF cb_mode_itfchg.Text = '<<' THEN cb_mode_itfchg.TriggerEvent(Clicked!) END IF ELSE wf_index_uc() END IF dw_index.rbutton_filter_use = NOT dw_edit_mode wf_editindex_lockf() IF dw_edit_mode THEN dw_base.SetFocus( ) dw_base.SetColumn('mtrlcode') if_modify_mode = TRUE oldcode = dw_uc.Object.mtrlcode[dw_uc.GetRow()] oldname = dw_uc.Object.mtrlname[dw_uc.GetRow()] dw_uc.SelectText(Len(String(dw_uc.Object.mtrlcode[dw_uc.GetRow()]))+1,0) ELSE if_modify_mode = FALSE oldcode = '' oldname = '' END IF end event type cb_delet from w_publ_edit_index`cb_delet within w_mtrldef_edit integer x = 837 end type event cb_delet::clicked;IF Not (f_power_ind(31) OR f_power_ind(62)) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF IF MessageBox ("询问","是否确定要删除当前记录?(选择确定后记录将不可恢复)",question!,yesno! ) = 2 THEN RETURN END IF Long ls_id,rslt = 1 Long ls_long = 0,uc_row String ls_mtrlcode uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','没有操作目标记录!', Information!, OK! ) RETURN END IF ls_id = dw_uc.Object.mtrlid[uc_row] ls_mtrlcode = dw_uc.Object.mtrlcode[uc_row] String arg_msg = "" dw_uc.SetRedraw (FALSE) IF uo_mtrl.del( ls_id, ls_mtrlcode,arg_msg, TRUE) = 0 THEN MessageBox ("提示","删除记录操作失败!"+arg_msg, Information!, OK! ) RETURN END IF dw_uc.SetRedraw (TRUE) PARENT.TriggerEvent('retrieve_uc') wf_index_uc() end event type cb_choice from w_publ_edit_index`cb_choice within w_mtrldef_edit integer x = 1550 end type event cb_choice::clicked;call super::clicked;Long ROW,ls_i,chC = 0 datawindow dw IF cbx_hc.Checked THEN dw_ch.AcceptText() dw = dw_ch ELSE dw = dw_index END IF ROW = dw.GetRow() IF ROW <= 0 THEN MessageBox('提示','请先选择目标行!', Information!, OK! ) RETURN END IF FOR ls_i = 1 To dw.RowCount() IF cbx_hc.Checked Or dw.IsSelected(ls_i) THEN chC++ ins_rt_stru.mtrlid[chC] = dw.Object.mtrlid[ls_i] ins_rt_stru.mtrlname[chC] = dw.Object.mtrlname[ls_i] ins_rt_stru.mtrlengname[chC] = dw.Object.mtrlengname[ls_i] ins_rt_stru.mtrlcode[chC] = dw.Object.mtrlcode[ls_i] ins_rt_stru.mtrltype[chC] = dw.Object.mtrltype[ls_i] ins_rt_stru.mtrlmode[chC] = dw.Object.mtrlmode[ls_i] ins_rt_stru.unit[chC] = dw.Object.unit[ls_i] ins_rt_stru.storageid[chC] = cur_storageid ins_rt_stru.planprice[chC] = dw.Object.planprice[ls_i] ins_rt_stru.dscrp[chC] = dw.Object.dscrp[ls_i] ins_rt_stru.mtrlsectype[chC] = dw.Object.mtrlsectype[ls_i] ins_rt_stru.lmbuyprice[chC] = dw.Object.lmbuyprice[ls_i] ins_rt_stru.lmsaleprice[chC] = dw.Object.lmsaleprice[ls_i] ins_rt_stru.prdpackcode[chC] = dw.Object.prdpackcode[ls_i] ins_rt_stru.packqty[chC] = dw.Object.packqty[ls_i] ins_rt_stru.zxmtrlmode[chC] = dw.Object.zxmtrlmode[ls_i] ins_rt_stru.unit_buy[chC] = dw.Object.u_mtrldef_unit_buy[ls_i] ins_rt_stru.rate_buy[chC] = dw.Object.u_mtrldef_rate_buy[ls_i] ins_rt_stru.unit_scll[chC] = dw.Object.u_mtrldef_unit_scll[ls_i] ins_rt_stru.rate_scll[chC] = dw.Object.u_mtrldef_rate_scll[ls_i] ins_rt_stru.unit_sale[chC] = dw.Object.u_mtrldef_unit_sale[ls_i] ins_rt_stru.rate_sale[chC] = dw.Object.u_mtrldef_rate_sale[ls_i] ins_rt_stru.barcode[chC] = dw.Object.barcode[ls_i] IF dw.Object.u_mtrldef_unit_buy[chC] = '' THEN ins_rt_stru.unit_buy[chC] = dw.Object.unit[ls_i] ins_rt_stru.rate_buy[chC] = 1 ELSE ins_rt_stru.unit_buy[ls_i] = dw.Object.u_mtrldef_unit_buy[ls_i] ins_rt_stru.rate_buy[chC] = dw.Object.u_mtrldef_rate_buy[ls_i] END IF IF dw.Object.u_mtrldef_unit_scll[chC] = '' THEN ins_rt_stru.unit_scll[chC] = dw.Object.unit[ls_i] ins_rt_stru.rate_scll[chC] = 1 ELSE ins_rt_stru.unit_scll[chC] = dw.Object.u_mtrldef_unit_scll[ls_i] ins_rt_stru.rate_scll[chC] = dw.Object.u_mtrldef_rate_scll[ls_i] END IF IF dw.Object.u_mtrldef_unit_sale[chC] = '' THEN ins_rt_stru.unit_sale[chC] = dw.Object.unit[ls_i] ins_rt_stru.rate_sale[chC] = 1 ELSE ins_rt_stru.unit_sale[chC] = dw.Object.u_mtrldef_unit_sale[ls_i] ins_rt_stru.rate_sale[chC] = dw.Object.u_mtrldef_rate_sale[ls_i] END IF ins_rt_stru.ifcustom[chC] = dw.Object.u_mtrldef_ifcustom[ls_i] ins_rt_stru.statusflag[chC] = dw.Object.statusflag[ls_i] ins_rt_stru.woodcodeflag[chC] = dw.Object.woodcodeflag[ls_i] ins_rt_stru.pcodeflag[chC] = dw.Object.pcodeflag[ls_i] ins_rt_stru.statustype[chC] = dw.Object.u_mtrldef_statustype[ls_i] ins_rt_stru.woodcodetype[chC] = dw.Object.u_mtrldef_woodcodetype[ls_i] ins_rt_stru.pcodetype[chC] = dw.Object.u_mtrldef_pcodetype[ls_i] ins_rt_stru.status_check[chC] = dw.Object.u_mtrldef_status_check[ls_i] ins_rt_stru.woodcode_check[chC] = dw.Object.u_mtrldef_woodcode_check[ls_i] ins_rt_stru.pcode_check[chC] = dw.Object.u_mtrldef_pcode_check[ls_i] ins_rt_stru.configcode[chC] = dw.Object.u_mtrldef_configcode[ls_i] ins_rt_stru.configname[chC] = dw.Object.u_mtrldef_configname[ls_i] ins_rt_stru.configcodetype[chC] = dw.Object.u_mtrldef_configcodetype[ls_i] ins_rt_stru.mtrlcolor[chC] = dw.Object.u_mtrldef_mtrlcolor[ls_i] ins_rt_stru.status_config[chC] = dw.Object.u_mtrldef_status_config[ls_i] ins_rt_stru.woodcode_config[chC] = dw.Object.u_mtrldef_woodcode_config[ls_i] ins_rt_stru.pcode_config[chC] = dw.Object.u_mtrldef_pcode_config[ls_i] IF ins_rt_stru.statusflag[chC] = 4 THEN ins_rt_stru.status[chC] = dw.Object.u_mtrldef_status_config[ls_i] ELSE ins_rt_stru.status[chC] = "" END IF IF ins_rt_stru.woodcodeflag[chC] = 4 THEN ins_rt_stru.woodcode[chC] = dw.Object.u_mtrldef_woodcode_config[ls_i] ELSE ins_rt_stru.woodcode[chC] = "" END IF IF ins_rt_stru.pcodeflag[chC] = 4 THEN ins_rt_stru.pcode[chC] = dw.Object.u_mtrldef_pcode_config[ls_i] ELSE ins_rt_stru.pcode[chC] = "" END IF ins_rt_stru.usermtrlmode[chC] = dw.Object.u_mtrldef_usermtrlmode[ls_i] ins_rt_stru.buyunit[chC] = dw.Object.u_mtrldef_buyunit[ls_i] ins_rt_stru.wfjgunit[chC] = dw.Object.u_mtrldef_wfjgunit[ls_i] ins_rt_stru.scllunit[chC] = dw.Object.u_mtrldef_scllunit[ls_i] ins_rt_stru.saleunit[chC] = dw.Object.u_mtrldef_saleunit[ls_i] ins_rt_stru.buydec[chC] = dw.Object.u_mtrldef_buydec[ls_i] ins_rt_stru.wfjgdec[chC] = dw.Object.u_mtrldef_wfjgdec[ls_i] ins_rt_stru.sclldec[chC] = dw.Object.u_mtrldef_sclldec[ls_i] ins_rt_stru.saledec[chC] = dw.Object.u_mtrldef_saledec[ls_i] ins_rt_stru.ifpack[chC] = dw.Object.u_mtrldef_ifpack[ls_i] ins_rt_stru.ifpackpro[chC] = dw.Object.u_mtrldef_ifpackpro[ls_i] ins_rt_stru.ifpackpz[chC] = dw.Object.u_mtrldef_ifpackpz[ls_i] ins_rt_stru.ifpackpro2[chC] = dw.Object.u_mtrldef_ifpackpro2[ls_i] ins_rt_stru.ifpacktype[chC] = dw.Object.u_mtrldef_ifpacktype[ls_i] ins_rt_stru.net_weight[chC] = dw.Object.net_weight[ls_i] ins_rt_stru.gross_weight[chC] = dw.Object.gross_weight[ls_i] ins_rt_stru.cubage[chC] = dw.Object.cubage[ls_i] ins_rt_stru.handtype[chC] = dw.Object.handtype[ls_i] ins_rt_stru.mtrltypeid[chC] = dw.Object.mtrltypeid[ls_i] ins_rt_stru.mtrlorigin[chC] = dw.Object.mtrlorigin[ls_i] ins_rt_stru.mtrlprp[chC] = dw.Object.mtrlprp[ls_i] ins_rt_stru.status_default[chC] = dw.Object.u_mtrldef_mstatus_default[ls_i] ins_rt_stru.woodcode_default[chC] = dw.Object.u_mtrldef_mwoodcode_default[ls_i] ins_rt_stru.pcode_default[chC] = dw.Object.u_mtrldef_mpcode_default[ls_i] ins_rt_stru.priceformula[chC] = dw.Object.u_mtrldef_priceformula[ls_i] END IF NEXT IF chC = 0 THEN MessageBox('提示','请至少选择一个目标行!', Information!, OK! ) RETURN END IF Close(Parent) // FOR ls_i = 1 TO dw_ch.RowCount() // ins_rt_stru.mtrlid[ls_i] = dw_ch.Object.mtrlid[ls_i] // ins_rt_stru.mtrlname[ls_i] = dw_ch.Object.mtrlname[ls_i] // ins_rt_stru.mtrlengname[ls_i] = dw_ch.Object.mtrlengname[ls_i] // ins_rt_stru.mtrlcode[ls_i] = dw_ch.Object.mtrlcode[ls_i] // ins_rt_stru.mtrltype[ls_i] = dw_ch.Object.mtrltype[ls_i] // ins_rt_stru.mtrlmode[ls_i] = dw_ch.Object.mtrlmode[ls_i] // ins_rt_stru.unit[ls_i] = dw_ch.Object.unit[ls_i] // ins_rt_stru.storageid[ls_i] = cur_storageid // ins_rt_stru.planprice[ls_i] = dw_ch.Object.planprice[ls_i] // ins_rt_stru.dscrp[ls_i] = dw_ch.Object.dscrp[ls_i] // ins_rt_stru.mtrlsectype[ls_i] = dw_ch.Object.mtrlsectype[ls_i] // ins_rt_stru.lmbuyprice[ls_i] = dw_ch.Object.lmbuyprice[ls_i] // ins_rt_stru.lmsaleprice[ls_i] = dw_ch.Object.lmsaleprice[ls_i] // ins_rt_stru.prdpackcode[ls_i] = dw_ch.Object.prdpackcode[ls_i] // ins_rt_stru.packqty[ls_i] = dw_ch.Object.packqty[ls_i] // ins_rt_stru.zxmtrlmode[ls_i] = dw_ch.Object.zxmtrlmode[ls_i] // ins_rt_stru.unit_buy[ls_i] = dw_ch.Object.u_mtrldef_unit_buy[ls_i] // ins_rt_stru.rate_buy[ls_i] = dw_ch.Object.u_mtrldef_rate_buy[ls_i] // ins_rt_stru.unit_scll[ls_i] = dw_ch.Object.u_mtrldef_unit_scll[ls_i] // ins_rt_stru.rate_scll[ls_i] = dw_ch.Object.u_mtrldef_rate_scll[ls_i] // ins_rt_stru.unit_sale[ls_i] = dw_ch.Object.u_mtrldef_unit_sale[ls_i] // ins_rt_stru.rate_sale[ls_i] = dw_ch.Object.u_mtrldef_rate_sale[ls_i] // // // IF dw_ch.Object.u_mtrldef_unit_buy[ls_i] = '' THEN // ins_rt_stru.unit_buy[ls_i] = dw_ch.Object.unit[ls_i] // ins_rt_stru.rate_buy[ls_i] = 1 // ELSE // ins_rt_stru.unit_buy[ls_i] = dw_ch.Object.u_mtrldef_unit_buy[ls_i] // ins_rt_stru.rate_buy[ls_i] = dw_ch.Object.u_mtrldef_rate_buy[ls_i] // END IF // // // IF dw_ch.Object.u_mtrldef_unit_scll[ls_i] = '' THEN // ins_rt_stru.unit_scll[ls_i] = dw_ch.Object.unit[ls_i] // ins_rt_stru.rate_scll[ls_i] = 1 // ELSE // ins_rt_stru.unit_scll[ls_i] = dw_ch.Object.u_mtrldef_unit_scll[ls_i] // ins_rt_stru.rate_scll[ls_i] = dw_ch.Object.u_mtrldef_rate_scll[ls_i] // END IF // // IF dw_ch.Object.u_mtrldef_unit_sale[ls_i] = '' THEN // ins_rt_stru.unit_sale[ls_i] = dw_ch.Object.unit[ls_i] // ins_rt_stru.rate_sale[ls_i] = 1 // ELSE // ins_rt_stru.unit_sale[ls_i] = dw_ch.Object.u_mtrldef_unit_sale[ls_i] // ins_rt_stru.rate_sale[ls_i] = dw_ch.Object.u_mtrldef_rate_sale[ls_i] // END IF // // // ins_rt_stru.ifcustom[ls_i] = dw_ch.Object.u_mtrldef_ifcustom[ls_i] // ins_rt_stru.statusflag[ls_i] = dw_ch.Object.statusflag[ls_i] // ins_rt_stru.woodcodeflag[ls_i] = dw_ch.Object.woodcodeflag[ls_i] // ins_rt_stru.pcodeflag[ls_i] = dw_ch.Object.pcodeflag[ls_i] // ins_rt_stru.statustype[ls_i] = dw_ch.Object.u_mtrldef_statustype[ls_i] // ins_rt_stru.woodcodetype[ls_i] = dw_ch.Object.u_mtrldef_woodcodetype[ls_i] // ins_rt_stru.pcodetype[ls_i] = dw_ch.Object.u_mtrldef_pcodetype[ls_i] // ins_rt_stru.status_check[ls_i] = dw_ch.Object.u_mtrldef_status_check[ls_i] // ins_rt_stru.woodcode_check[ls_i] = dw_ch.Object.u_mtrldef_woodcode_check[ls_i] // ins_rt_stru.pcode_check[ls_i] = dw_ch.Object.u_mtrldef_pcode_check[ls_i] // // ins_rt_stru.configcode[ls_i] = dw_ch.Object.u_mtrldef_configcode[ls_i] // ins_rt_stru.configname[ls_i] = dw_ch.Object.u_mtrldef_configname[ls_i] // ins_rt_stru.configcodetype[ls_i] = dw_ch.Object.u_mtrldef_configcodetype[ls_i] // ins_rt_stru.mtrlcolor[ls_i] = dw_ch.Object.u_mtrldef_mtrlcolor[ls_i] // // ins_rt_stru.status_config[ls_i] = dw_ch.Object.u_mtrldef_status_config[ls_i] // ins_rt_stru.woodcode_config[ls_i] = dw_ch.Object.u_mtrldef_woodcode_config[ls_i] // ins_rt_stru.pcode_config[ls_i] = dw_ch.Object.u_mtrldef_pcode_config[ls_i] // NEXT //ELSE // // // // FOR ls_i = 1 TO dw_INDEX.RowCount() // IF dw_INDEX.IsSelected(ls_i) THEN // chC++ // ins_rt_stru.mtrlid[chC] = dw_INDEX.Object.mtrlid[ls_i] // ins_rt_stru.mtrlname[chC] = dw_INDEX.Object.mtrlname[ls_i] // ins_rt_stru.mtrlengname[chC] = dw_INDEX.Object.mtrlengname[ls_i] // ins_rt_stru.mtrlcode[chC] = dw_INDEX.Object.mtrlcode[ls_i] // ins_rt_stru.mtrltype[chC] = dw_INDEX.Object.mtrltype[ls_i] // ins_rt_stru.mtrlmode[chC] = dw_INDEX.Object.mtrlmode[ls_i] // ins_rt_stru.unit[chC] = dw_INDEX.Object.unit[ls_i] // ins_rt_stru.storageid[chC] = cur_storageid // ins_rt_stru.planprice[chC] = dw_INDEX.Object.planprice[ls_i] // ins_rt_stru.dscrp[chC] = dw_INDEX.Object.dscrp[ls_i] // ins_rt_stru.mtrlsectype[chC] = dw_INDEX.Object.mtrlsectype[ls_i] // ins_rt_stru.lmbuyprice[chC] = dw_INDEX.Object.lmbuyprice[ls_i] // ins_rt_stru.lmsaleprice[chC] = dw_INDEX.Object.lmsaleprice[ls_i] // ins_rt_stru.prdpackcode[chC] = dw_INDEX.Object.prdpackcode[ls_i] // ins_rt_stru.packqty[chC] = dw_INDEX.Object.packqty[ls_i] // ins_rt_stru.zxmtrlmode[chC] = dw_INDEX.Object.zxmtrlmode[ls_i] // ins_rt_stru.unit_buy[chC] = dw_INDEX.Object.u_mtrldef_unit_buy[ls_i] // ins_rt_stru.rate_buy[chC] = dw_INDEX.Object.u_mtrldef_rate_buy[ls_i] // ins_rt_stru.unit_scll[chC] = dw_INDEX.Object.u_mtrldef_unit_scll[ls_i] // ins_rt_stru.rate_scll[chC] = dw_INDEX.Object.u_mtrldef_rate_scll[ls_i] // ins_rt_stru.unit_sale[chC] = dw_INDEX.Object.u_mtrldef_unit_sale[ls_i] // ins_rt_stru.rate_sale[chC] = dw_INDEX.Object.u_mtrldef_rate_sale[ls_i] // // ins_rt_stru.statusflag[chC] = dw_INDEX.Object.statusflag[ls_i] // ins_rt_stru.woodcodeflag[chC] = dw_INDEX.Object.woodcodeflag[ls_i] // ins_rt_stru.pcodeflag[chC] = dw_INDEX.Object.pcodeflag[ls_i] // // IF dw_INDEX.Object.u_mtrldef_unit_buy[ls_i] = '' THEN // ins_rt_stru.unit_buy[chC] = dw_INDEX.Object.unit[ls_i] // ins_rt_stru.rate_buy[chC] = 1 // ELSE // ins_rt_stru.unit_buy[chC] = dw_INDEX.Object.u_mtrldef_unit_buy[ls_i] // ins_rt_stru.rate_buy[chC] = dw_INDEX.Object.u_mtrldef_rate_buy[ls_i] // END IF // // // IF dw_INDEX.Object.u_mtrldef_unit_scll[ls_i] = '' THEN // ins_rt_stru.unit_scll[chC] = dw_INDEX.Object.unit[ls_i] // ins_rt_stru.rate_scll[chC] = 1 // ELSE // ins_rt_stru.unit_scll[chC] = dw_INDEX.Object.u_mtrldef_unit_scll[ls_i] // ins_rt_stru.rate_scll[chC] = dw_INDEX.Object.u_mtrldef_rate_scll[ls_i] // END IF // // IF dw_INDEX.Object.u_mtrldef_unit_sale[ls_i] = '' THEN // ins_rt_stru.unit_sale[chC] = dw_INDEX.Object.unit[ls_i] // ins_rt_stru.rate_sale[chC] = 1 // ELSE // ins_rt_stru.unit_sale[chC] = dw_INDEX.Object.u_mtrldef_unit_sale[ls_i] // ins_rt_stru.rate_sale[chC] = dw_INDEX.Object.u_mtrldef_rate_sale[ls_i] // END IF // // END IF // NEXT // IF chC = 0 THEN // MessageBox('提示','请至少选择一个目标行!', Information!, OK! ) // RETURN // END IF //END IF //Close(PARENT) end event type cb_cancel from w_publ_edit_index`cb_cancel within w_mtrldef_edit end type type cbx_mlselect from w_publ_edit_index`cbx_mlselect within w_mtrldef_edit integer x = 2633 integer y = 212 end type type cbx_allselect from w_publ_edit_index`cbx_allselect within w_mtrldef_edit integer x = 2853 integer y = 212 end type type cb_mode_itfchg_b from w_publ_edit_index`cb_mode_itfchg_b within w_mtrldef_edit end type type cb_mode_itfchg from w_publ_edit_index`cb_mode_itfchg within w_mtrldef_edit integer x = 1454 end type event cb_mode_itfchg::clicked;wf_hc(THIS.Text) IF THIS.Text = '<<' THEN THIS.Text = '>>' dw_index.Width = tab_1.X + 1 - 713 dw_index.Y = tab_1.Y tab_1.Visible = TRUE ELSE THIS.Text = '<<' dw_index.Width = tab_1.X + 1 + tab_1.Width - 713 dw_index.Y = tab_1.Y tab_1.Visible = FALSE END IF dw_ch.Width = dw_index.Width THIS.TriggerEvent('ue_textchange') PARENT.TriggerEvent('ue_mode_itfchg') cb_mode_itfchg_b.Text = THIS.Text cb_mode_itfchg_b.TriggerEvent('ue_textchange') end event type gb_1 from w_publ_edit_index`gb_1 within w_mtrldef_edit end type type dw_uc from w_publ_edit_index`dw_uc within w_mtrldef_edit boolean visible = false integer x = 3113 integer y = 784 integer width = 411 integer height = 372 string dataobject = "dw_mtrl_edit_base" end type type cb_retrieve from w_publ_edit_index`cb_retrieve within w_mtrldef_edit integer x = 151 end type type cb_print from w_publ_edit_index`cb_print within w_mtrldef_edit integer x = 1262 end type event cb_print::clicked;call super::clicked;S_print_MSG LS_PRMSG LS_PRMSG.obj_dwNAME = 'dw_rp_mtrl_xsbj' LS_PRMSG.obj_dwNAME = 'dw_rp_mtrl_xsbj112233' LS_PRMSG.SHARE_DW = DW_UC LS_PRMSG.TAG_TEXT = PARENT.Title LS_PRMSG.SETUP_FLAG = 0 LS_PRMSG.PAGECH_FLAG = 1 LS_PRMSG.retr_pram_falg = 19 OpenWithParm(w_publ_preview,LS_PRMSG) end event type ln_bar from w_publ_edit_index`ln_bar within w_mtrldef_edit end type type ln_bar2 from w_publ_edit_index`ln_bar2 within w_mtrldef_edit end type type r_bar from w_publ_edit_index`r_bar within w_mtrldef_edit integer x = 2702 end type type ln_1 from w_publ_edit_index`ln_1 within w_mtrldef_edit end type type ln_2 from w_publ_edit_index`ln_2 within w_mtrldef_edit end type type dw_index from w_publ_edit_index`dw_index within w_mtrldef_edit integer x = 727 integer width = 1065 integer height = 1756 string dataobject = "dw_mtrl_index" boolean rbutton_filter_use = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event dw_index::rowfocuschanged;currentrow = This.GetRow() IF if_mlselect = 1 THEN IF currentrow <= 0 THEN RETURN IF KeyDown(keycontrol!) THEN IF This.IsSelected(currentrow) THEN This.SelectRow(currentrow,False) if_changeselect = False ELSE if_changeselect = True END IF ELSE IF Not This.IsSelected(currentrow) THEN This.SelectRow(currentrow,True) if_changeselect = False ELSE if_changeselect = True END IF END IF ELSE IF currentrow <= 0 THEN RETURN This.SelectRow(0,False) This.SelectRow(currentrow,True) dw_uc.SetRow(currentrow) dw_uc.ScrollToRow (currentrow) dw_uc.RowsCopy(currentrow, currentrow, Primary!, dw_base , 1, Primary!) dw_uc.RowsCopy(currentrow, currentrow, Primary!, dw_cost , 1, Primary!) Parent.triggerevent("ue_retrieve_mx") END IF Parent.TriggerEvent('ue_retrieve_info') end event event dw_index::doubleclicked;IF mode = 1 THEN IF cbx_hc.Checked THEN cb_mx_ch.TriggerEvent(Clicked!) ELSE cb_choice.TriggerEvent(Clicked!) END IF END IF end event type cb_help from w_publ_edit_index`cb_help within w_mtrldef_edit integer x = 1701 end type type ddlb_notuse from dropdownlistbox within w_mtrldef_edit integer x = 1417 integer y = 192 integer width = 256 integer height = 300 integer taborder = 30 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "有效" boolean sorted = false string item[] = {"[全部]","有效","无效"} borderstyle borderstyle = stylelowered! end type event selectionchanged;cb_retrieve.triggerevent(clicked!) end event type cb_1 from uo_imflatbutton within w_mtrldef_edit integer width = 151 integer height = 164 integer taborder = 40 boolean bringtotop = true string text = "类别" string normalpicname = "update.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu string menustr menustr="Text=刷新类别~tEvent=ue_mtrltype_rtr" menustr=menustr + "|" + "Text=建立类别~tEvent=ue_mtrltype_set" if len(trim(menustr))<>0 then dmPopupMenu = Create m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(This, menustr) dmPopupMenu.mf_PopMenu() Destroy dmPopupMenu end if //if dw_edit_mode then return //open(w_mtrltype_def) end event type cb_other from uo_imflatbutton within w_mtrldef_edit integer x = 987 integer width = 274 integer height = 164 integer taborder = 150 boolean bringtotop = true string text = "辅助功能" string normalpicname = "other.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu string menustr menustr="Text=指定仓库~tEvent=ue_setstorage" //menustr=menustr + "|" + "Text=图片~tEvent=ue_pic" 100126取消 menustr=menustr + "|" + "Text=加0库存~tEvent=ue_addzeromtrlware" menustr=menustr + "|" + "Text=计算体积~tEvent=ue_commpcubl" menustr=menustr + "|" + "Text=-" menustr=menustr + "|" + "Text=设置默认值~tEvent=ue_dft_set" menustr=menustr + "|" + "Text=取消默认值~tEvent=ue_dft_candel" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=附件管理~tEvent=ue_fj_edit" menustr = menustr + "|" + "Text=附件查看~tEvent=ue_fj_view" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=物料相关查询~tEvent=ue_mtrl_info" menustr = menustr + "|" + "Text=按列表批计算组合配置产品的组合体积,净重,毛重~tEvent=ue_cmp_zh" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=查询列表物料的附件数~tEvent=retrieve_fjnum" 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 ddlb_storageid from uo_ddlb_storageid within w_mtrldef_edit integer x = 1682 integer y = 192 integer width = 942 integer height = 1340 integer taborder = 20 boolean bringtotop = true end type event selectionchanged;call super::selectionchanged;cur_storageid = this.uo_storageid cur_storageid_arr = this.uo_storageid_arr //cur_storagestr=THIS.ls_storage_ter parent.triggerevent('ue_usual_query_retr') end event event constructor;call super::constructor;cur_storageid = this.uo_storageid cur_storageid_arr = this.uo_storageid_arr //cur_storagestr = THIS.ls_storage_ter end event type tab_1 from tab within w_mtrldef_edit integer x = 1792 integer y = 300 integer width = 1797 integer height = 2240 integer taborder = 50 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 boolean multiline = true boolean raggedright = true boolean focusonbuttondown = true boolean boldselectedtext = true integer selectedtab = 1 tabpage_1 tabpage_1 tabpage_2 tabpage_2 tabpage_3 tabpage_3 tabpage_4 tabpage_4 tabpage_5 tabpage_5 tabpage_6 tabpage_6 tabpage_7 tabpage_7 end type on tab_1.create this.tabpage_1=create tabpage_1 this.tabpage_2=create tabpage_2 this.tabpage_3=create tabpage_3 this.tabpage_4=create tabpage_4 this.tabpage_5=create tabpage_5 this.tabpage_6=create tabpage_6 this.tabpage_7=create tabpage_7 this.Control[]={this.tabpage_1,& this.tabpage_2,& this.tabpage_3,& this.tabpage_4,& this.tabpage_5,& this.tabpage_6,& this.tabpage_7} end on on tab_1.destroy destroy(this.tabpage_1) destroy(this.tabpage_2) destroy(this.tabpage_3) destroy(this.tabpage_4) destroy(this.tabpage_5) destroy(this.tabpage_6) destroy(this.tabpage_7) end on event selectionchanged;choose case newindex case 1 dw_base.setfocus( ) case 2 dw_cost.setfocus( ) end choose end event type tabpage_1 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 1760 integer height = 2128 long backcolor = 134217739 string text = "基础" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_base dw_base end type on tabpage_1.create this.dw_base=create dw_base this.Control[]={this.dw_base} end on on tabpage_1.destroy destroy(this.dw_base) end on type dw_base from u_dw_rbtnfilter within tabpage_1 event ue_scroll pbm_vscroll integer width = 1760 integer height = 2008 integer taborder = 20 boolean enabled = false string dataobject = "dw_mtrl_edit_base" end type event ue_scroll;return 1 end event event constructor;f_title_change(this) autosave_setlayout_USE= false end event event dwnkey;call super::dwnkey;IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF end event event clicked;call super::clicked; IF dwo.Name = 'p_1' THEN GetParentWin().TriggerEvent('ue_moddscrp') END IF IF dw_edit_mode THEN IF dwo.Name = 'p_mtrltype' THEN GetParentWin().TriggerEvent('ue_ch_mtrltype') ELSEIF dwo.Name = 'p_mtrlsectype' THEN GetParentWin().TriggerEvent('ue_ch_mtrlsectype') ELSEIF dwo.Name = 'p_zxmtrlmode' THEN GetParentWin().TriggerEvent('ue_ch_zxmtrlmode') END IF END IF end event type tabpage_2 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 1760 integer height = 2128 long backcolor = 134217739 string text = "辅助" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_cost dw_cost end type on tabpage_2.create this.dw_cost=create dw_cost this.Control[]={this.dw_cost} end on on tabpage_2.destroy destroy(this.dw_cost) end on type dw_cost from u_dw_rbtnfilter within tabpage_2 integer width = 1760 integer height = 2076 integer taborder = 20 boolean bringtotop = true boolean enabled = false string dataobject = "dw_mtrl_edit_cost" end type event dwnkey;call super::dwnkey;IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF end event event buttonclicked;call super::buttonclicked;IF dw_edit_mode THEN IF dwo.Name = 'b_spt' THEN Long uc_row uc_row = dw_cost.GetRow() IF uc_row = 0 THEN MessageBox('系统提示','请选定订单!') RETURN END IF dw_cost.AcceptText() IF NOT IsValid(W_spt_edit) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.arg_string_code = '' OpenWithParm(W_spt_edit,s_ch_tran) //调用 S_spt S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值 THIS.SetRedraw(FALSE) THIS.Object.u_mtrldef_dftsptid[uc_row] = S_INSCUST.sptid THIS.Object.u_spt_name[uc_row] = S_INSCUST.name THIS.SetColumn("u_mtrldef_dftsptid") THIS.SetRedraw(TRUE) END IF END IF ELSEIF dwo.Name = 'b_setnull_spt' THEN THIS.Object.u_mtrldef_dftsptid[THIS.GetRow()] = 0 THIS.Object.u_spt_name[THIS.GetRow()] = '' ELSEIF dwo.Name = 'b_pf' THEN PARENT.GetParent( ).GetParent( ).TriggerEvent('ue_cmpl_price') ELSEIF dwo.Name = 'b_pfqty' THEN PARENT.GetParent( ).GetParent( ).TriggerEvent('ue_cmpl_qty') END IF END IF end event event clicked;call super::clicked;IF row > 0 THEN IF dwo.Name = 'u_mtrldef_ifcustom' THEN //This.AcceptText() IF This.Object.u_mtrldef_ifcustom[row] = 0 THEN //意思相反的 This.Object.statusflag[row] = 3 This.Object.woodcodeflag[row] = 3 This.Object.pcodeflag[row] = 3 END IF ELSEIF dwo.Name = 'u_mtrldef_ifhqcl' THEN IF This.Object.u_mtrldef_ifhqcl[row] = 1 THEN //意思相反的 This.Object.u_mtrldef_hqclmtrlid[row] = 0 This.Object.u_mtrldef_hqcl_mtrlcode[row] = '' This.Object.u_mtrldef_hqcl_mtrlname[row] = '' END IF END IF END IF end event event doubleclicked;call super::doubleclicked;//IF dw_edit_mode THEN // IF dwo.Name = 'b_spt' THEN // Long uc_row // uc_row = dw_cost.GetRow() // IF uc_row = 0 THEN // MessageBox('系统提示','请选定订单!') // RETURN // END IF // dw_cost.AcceptText() // IF NOT IsValid(W_spt_edit) THEN // s_edit_index_tran s_ch_tran //传递参数使用 // s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行 // s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 // s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) // //查询列(物料编码)部分内容,用于初步筛选 // s_ch_tran.arg_string_code = '' // // OpenWithParm(W_spt_edit,s_ch_tran) //调用 // // S_spt S_INSCUST // S_INSCUST = Message.PowerObjectParm //接受返回结构 // // IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值 // THIS.SetRedraw(FALSE) // THIS.Object.u_mtrldef_dftsptid[uc_row] = S_INSCUST.sptid // THIS.Object.u_spt_name[uc_row] = S_INSCUST.name // THIS.SetColumn("u_mtrldef_dftsptid") // THIS.SetRedraw(TRUE) // // END IF // END IF // ELSEIF dwo.Name = 'b_setnull_spt' THEN // THIS.Object.u_mtrldef_dftsptid[THIS.GetRow()] = 0 // THIS.Object.u_spt_name[THIS.GetRow()] = '' // END IF //END IF // // // end event event constructor;f_title_change(this) autosave_setlayout_USE= false end event type tabpage_3 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 1760 integer height = 2128 long backcolor = 134217739 string text = "存放仓库" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_storage dw_storage end type on tabpage_3.create this.dw_storage=create dw_storage this.Control[]={this.dw_storage} end on on tabpage_3.destroy destroy(this.dw_storage) end on type dw_storage from u_dw_rbtnfilter within tabpage_3 integer width = 1760 integer height = 1784 integer taborder = 20 string dataobject = "dw_mtrldef_storage" boolean hscrollbar = true boolean vscrollbar = true end type event clicked;call super::clicked;IF dw_edit_mode THEN IF Pos(dwo.Name ,"selflag" ) > 0 THEN THIS.SetTabOrder("selflag_dft",10) THIS.SetTabOrder("selflag_add",20) ELSE THIS.SetTabOrder("selflag_dft",0) THIS.SetTabOrder("selflag_add",0) END IF ELSE THIS.SetTabOrder("selflag_dft",0) THIS.SetTabOrder("selflag_add",0) END IF end event type tabpage_4 from userobject within tab_1 event create ( ) event destroy ( ) integer x = 18 integer y = 96 integer width = 1760 integer height = 2128 long backcolor = 134217739 string text = "产品配置" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 cb_pastepack cb_pastepack cb_copypack cb_copypack cb_del_con cb_del_con cb_edit_con cb_edit_con cb_add_con cb_add_con dw_configure2 dw_configure2 dw_packpz dw_packpz end type on tabpage_4.create this.cb_pastepack=create cb_pastepack this.cb_copypack=create cb_copypack this.cb_del_con=create cb_del_con this.cb_edit_con=create cb_edit_con this.cb_add_con=create cb_add_con this.dw_configure2=create dw_configure2 this.dw_packpz=create dw_packpz this.Control[]={this.cb_pastepack,& this.cb_copypack,& this.cb_del_con,& this.cb_edit_con,& this.cb_add_con,& this.dw_configure2,& this.dw_packpz} end on on tabpage_4.destroy destroy(this.cb_pastepack) destroy(this.cb_copypack) destroy(this.cb_del_con) destroy(this.cb_edit_con) destroy(this.cb_add_con) destroy(this.dw_configure2) destroy(this.dw_packpz) end on type cb_pastepack from uo_imflatbutton within tabpage_4 integer x = 1394 integer y = 4 integer width = 238 integer height = 84 integer taborder = 240 boolean enabled = false string text = "粘贴" end type event clicked;call super::clicked;IF dw_edit_mode THEN MessageBox('系统提示','编辑状态下不可用') RETURN END IF IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF PARENT.GetParent( ).GetParent( ).TriggerEvent('ue_packpz_paste') end event type cb_copypack from uo_imflatbutton within tabpage_4 integer x = 1161 integer y = 4 integer width = 238 integer height = 84 integer taborder = 240 string text = "复制" end type event clicked;call super::clicked;IF dw_edit_mode THEN MessageBox('系统提示','编辑状态下不可用') RETURN END IF IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF PARENT.GetParent( ).GetParent( ).TriggerEvent('ue_packpz_copy') end event type cb_del_con from uo_imflatbutton within tabpage_4 integer x = 928 integer y = 4 integer width = 238 integer height = 84 integer taborder = 240 string text = "删除" end type event clicked;call super::clicked;IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF NOT dw_edit_mode THEN RETURN Long currow currow = dw_configure2.GetRow() IF currow <= 0 THEN MessageBox('NO','请选择要删除的明细项') RETURN END IF wf_find_pz(2,currow,dw_uc.Object.mtrlid[dw_uc.GetRow()]) end event type cb_edit_con from uo_imflatbutton within tabpage_4 integer x = 695 integer y = 4 integer width = 238 integer height = 84 integer taborder = 240 string text = "修改" end type event clicked;call super::clicked;IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF NOT dw_edit_mode THEN RETURN Long currow currow = dw_configure2.GetRow() IF currow <= 0 THEN MessageBox('NO','请选择要修改的明细项') RETURN END IF wf_find_pz(1,currow,dw_uc.Object.mtrlid[dw_uc.GetRow()]) end event type cb_add_con from uo_imflatbutton within tabpage_4 integer x = 462 integer y = 4 integer width = 238 integer height = 84 integer taborder = 240 string text = "新增" end type event clicked;call super::clicked;IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF NOT dw_edit_mode THEN RETURN Long currow currow = dw_configure2.RowCount() wf_find_pz(0,0,dw_uc.Object.mtrlid[dw_uc.GetRow()]) end event type dw_configure2 from u_dw_rbtnfilter within tabpage_4 integer y = 720 integer width = 1719 integer height = 1072 integer taborder = 30 string dataobject = "dw_mtrl_configure2_df" boolean vscrollbar = true end type event rowfocuschanged;call super::rowfocuschanged; if currentrow <=0 then return this.selectrow(0,false) this.selectrow(currentrow,true) end event type dw_packpz from u_dw_rbtnfilter within tabpage_4 integer y = 100 integer width = 1719 integer height = 616 boolean enabled = false string dataobject = "dw_mtrl_edit_packpz_df" end type event buttonclicked;call super::buttonclicked;IF row > 0 THEN IF dwo.Name = 'b_ch' THEN wf_find_pz(0,0,dw_uc.Object.mtrlid[dw_uc.GetRow()]) ELSEIF dwo.Name = 'b_del' THEN IF MessageBox('询问','是否确认要清空配置内容?',question!,yesno!) = 2 THEN RETURN dw_configure2.Reset() THIS.Object.u_mtrldef_configcode [row] = "" THIS.Object.u_mtrldef_configname [row] = "" THIS.Object.u_mtrldef_mtrlcolor [row] = "" THIS.Object.u_mtrldef_configcodetype [row] = 0 END IF END IF end event event constructor;f_title_change(this) autosave_setlayout_USE= false end event event itemchanged;call super::itemchanged;IF row <= 0 THEN RETURN If (THIS.GetColumnName() = "u_mtrldef_configcodetype" ) THEN dw_configure2.Reset() THIS.Object.u_mtrldef_configcode [row] = "" THIS.Object.u_mtrldef_configname [row] = "" END IF end event type tabpage_5 from userobject within tab_1 event create ( ) event destroy ( ) integer x = 18 integer y = 96 integer width = 1760 integer height = 2128 long backcolor = 134217739 string text = "组合配置" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 cb_pastepz cb_pastepz cb_copypz cb_copypz cb_delpz cb_delpz cb_modpz cb_modpz cb_addpz cb_addpz cbx_all_pz cbx_all_pz dw_configure dw_configure end type on tabpage_5.create this.cb_pastepz=create cb_pastepz this.cb_copypz=create cb_copypz this.cb_delpz=create cb_delpz this.cb_modpz=create cb_modpz this.cb_addpz=create cb_addpz this.cbx_all_pz=create cbx_all_pz this.dw_configure=create dw_configure this.Control[]={this.cb_pastepz,& this.cb_copypz,& this.cb_delpz,& this.cb_modpz,& this.cb_addpz,& this.cbx_all_pz,& this.dw_configure} end on on tabpage_5.destroy destroy(this.cb_pastepz) destroy(this.cb_copypz) destroy(this.cb_delpz) destroy(this.cb_modpz) destroy(this.cb_addpz) destroy(this.cbx_all_pz) destroy(this.dw_configure) end on type cb_pastepz from uo_imflatbutton within tabpage_5 integer x = 1472 integer y = 8 integer width = 238 integer height = 84 integer taborder = 250 boolean enabled = false string text = "粘贴" end type event clicked;call super::clicked;IF dw_edit_mode THEN MessageBox('系统提示','编辑状态下不可用') RETURN END IF IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF PARENT.GetParent( ).GetParent( ).TriggerEvent('ue_pzpaste') end event type cb_copypz from uo_imflatbutton within tabpage_5 integer x = 1239 integer y = 8 integer width = 238 integer height = 84 integer taborder = 250 string text = "复制" end type event clicked;call super::clicked;IF dw_edit_mode THEN MessageBox('系统提示','编辑状态下不可用') RETURN END IF IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF PARENT.GetParent( ).GetParent( ).TriggerEvent('ue_pzcopy') end event type cb_delpz from uo_imflatbutton within tabpage_5 integer x = 1006 integer y = 8 integer width = 238 integer height = 84 integer taborder = 250 string text = "删除" end type event clicked;call super::clicked;IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF s_mtrl_pz s_mtrlpz s_mtrl_pz s_mp String arg_msg Long ll_ifmtrlpz Long ll_cnt,ll_i Long ll_pztype,cnt,ll_mtrlid,ll_pzid,ll_ifzj String ls_pzname Long ll_cnt_lp String arg_msg_tmp Long ll_fail = 0,ll_suc = 0 IF dw_edit_mode THEN RETURN uo_mtrlpz uo_mtrl_pz uo_mtrl_pz = Create uo_mtrlpz uo_func_mtrlcfg uo_func_mtrl_config uo_func_mtrl_config = Create uo_func_mtrlcfg IF dw_index.GetRow( ) <= 0 THEN MessageBox('系统提示','请选定当前物料') RETURN END IF ll_ifmtrlpz = dw_index.Object.statusflag[dw_index.GetRow()] IF ll_ifmtrlpz <> 2 THEN MessageBox('系统提示','物料配置属性不是组合配套,不能删除配置!') RETURN END IF FOR ll_i = 1 To dw_mtrl_configure.RowCount() IF dw_mtrl_configure.Object.ch[ll_i] = 1 THEN ll_cnt++ END IF NEXT IF ll_cnt = 0 THEN IF dw_mtrl_configure.GetRow( ) <= 0 THEN MessageBox('系统提示','请选定当前物料配置') RETURN END IF IF MessageBox ("询问","是否确定要删除当前记录?(选择确定后记录将不可恢复)",question!,yesno! ) = 2 THEN RETURN END IF ll_mtrlid = dw_index.Object.mtrlid[dw_index.GetRow()] ll_pzid = dw_mtrl_configure.Object.cid[dw_mtrl_configure.GetRow()] ll_pztype = dw_mtrl_configure.Object.Type[dw_mtrl_configure.GetRow()] ls_pzname = dw_mtrl_configure.Object.Name[dw_mtrl_configure.GetRow()] ll_ifzj = dw_mtrl_configure.Object.ifzj[dw_mtrl_configure.GetRow()] IF ll_pztype = 1 THEN //当类型为组合配置时检查 IF ll_ifzj = 1 THEN //当删除子件时先判断是否用于组合配置中 IF uo_func_mtrl_config.check_mtrlcfg_exist(ll_mtrlid,ls_pzname,arg_msg) = 0 THEN MessageBox('系统提示','删除物料配置失败!>>'+arg_msg) RETURN END IF END IF END IF s_mp.mode = 2 s_mp.cid = dw_mtrl_configure.Object.cid[dw_mtrl_configure.GetRow()] s_mp.mtrlid = dw_index.Object.mtrlid[dw_index.GetRow()] IF uo_mtrl_pz.save_mtrlpz(s_mp,arg_msg) = 1 THEN IF dw_mtrl_configure.Object.defaultpz[dw_mtrl_configure.GetRow()] = 1 THEN IF uo_mtrl_pz.SetDefaultPZ(0,s_mp.mtrlid,arg_msg,-1) = 0 THEN arg_msg = "更新默认配置失败~n"+arg_msg MessageBox('警告',arg_msg) END IF END IF dw_index.TriggerEvent(RowFocusChanged!) ELSE MessageBox('警告',arg_msg ) END IF ELSE IF MessageBox ("询问","是否确定要删除选中的配置?",question!,yesno! ) = 2 THEN RETURN Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(ll_cnt) FOR ll_i = dw_mtrl_configure.RowCount() To 1 Step -1 IF dw_mtrl_configure.Object.ch[ll_i] = 1 THEN ll_cnt_lp++ w_sys_wait_jdt.st_msg.Text = dw_mtrl_configure.Object.Name[ll_i] + " 正在删除..." //进度信息 w_sys_wait_jdt.wf_inc(ll_cnt_lp) ll_mtrlid = dw_index.Object.mtrlid[dw_index.GetRow()] ll_pzid = dw_mtrl_configure.Object.cid[ll_i] ll_pztype = dw_mtrl_configure.Object.Type[ll_i] ls_pzname = dw_mtrl_configure.Object.Name[ll_i] ll_ifzj = dw_mtrl_configure.Object.ifzj[ll_i] IF ll_pztype = 1 THEN //当类型为组合配置时检查 IF ll_ifzj = 1 THEN //当删除子件时先判断是否用于组合配置中 IF uo_func_mtrl_config.check_mtrlcfg_exist(ll_mtrlid,ls_pzname,arg_msg_tmp) = 0 THEN arg_msg = arg_msg + '删除物料配置失败!>>'+arg_msg_tmp + '~r~n' ll_fail++ CONTINUE END IF END IF END IF s_mp.mode = 2 s_mp.cid = dw_mtrl_configure.Object.cid[ll_i] s_mp.mtrlid = dw_index.Object.mtrlid[dw_index.GetRow()] IF uo_mtrl_pz.save_mtrlpz(s_mp,arg_msg_tmp) = 1 THEN IF dw_mtrl_configure.Object.defaultpz[ll_i] = 1 THEN IF uo_mtrl_pz.SetDefaultPZ(0,s_mp.mtrlid,arg_msg_tmp,-1) = 0 THEN arg_msg = arg_msg + "更新默认配置失败"+arg_msg_tmp + '~r~n' ll_fail++ CONTINUE END IF END IF ELSE arg_msg = arg_msg + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE END IF dw_mtrl_configure.DeleteRow(ll_i) dw_mtrl_configure.PostEvent(RowFocusChanged!) ll_suc++ END IF NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批删除完成!成功:'+String(ll_suc)+',失败:'+String(ll_fail)) IF ll_fail > 0 THEN OpenWithParm(w_message_err,arg_msg) END IF END IF Destroy uo_mtrl_pz end event type cb_modpz from uo_imflatbutton within tabpage_5 integer x = 773 integer y = 8 integer width = 238 integer height = 84 integer taborder = 250 string text = "修改" end type event clicked;call super::clicked;IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF s_mtrl_pz s_mtrlpz Long ll_mtrlid,ll_row,ll_colorprp,ll_pzrow,ll_pzid,ll_pztype,ll_ifzj Long ll_contfigtype = 0,ll_ifmtrlpz String ll_pzname IF dw_edit_mode THEN RETURN ll_row = dw_index.GetRow( ) IF ll_row <= 0 THEN MessageBox('系统提示','请选定当前物料') RETURN END IF ll_ifmtrlpz = dw_index.Object.statusflag[ll_row] if ll_ifmtrlpz <> 2 THEN Messagebox('系统提示','物料配置属性不是组合配套,不能新建配置!') RETURN END IF ll_pzrow = dw_mtrl_configure.GetRow() IF ll_pzrow <= 0 THEN MessageBox('系统提示','请选定当前物料配置') RETURN END IF ll_mtrlid = dw_index.Object.mtrlid[ll_row] ll_pzid = dw_mtrl_configure.Object.cid[ll_pzrow] ll_pztype = dw_mtrl_configure.Object.type[ll_pzrow] ll_pzname = dw_mtrl_configure.Object.name[ll_pzrow] ll_ifzj = dw_mtrl_configure.Object.ifzj[ll_pzrow] s_mtrlpz.cid = ll_pzid s_mtrlpz.mtrlid = ll_mtrlid s_mtrlpz.Name = ll_pzname s_mtrlpz.ename = '' s_mtrlpz.ctype = ll_pztype s_mtrlpz.dscrp = '' s_mtrlpz.newpzflag = 0 s_mtrlpz.ifzj = ll_ifzj OpenWithParm(w_mtrl_configure,s_mtrlpz) dw_index.TriggerEvent(RowFocusChanged!) end event type cb_addpz from uo_imflatbutton within tabpage_5 integer x = 539 integer y = 8 integer width = 238 integer height = 84 integer taborder = 250 string text = "新增" end type event clicked;call super::clicked;IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF s_mtrl_pz s_mtrlpz Long ll_mtrlid,ll_row,ll_colorprp,ll_pzrow,ll_pzid Long ll_contfigtype = 0 Long ll_ifmtrlpz IF dw_edit_mode THEN RETURN ll_row = dw_index.GetRow( ) IF ll_row <= 0 THEN RETURN ll_mtrlid = dw_index.Object.mtrlid[ll_row] ll_ifmtrlpz = dw_index.object.statusflag[ll_row] if ll_ifmtrlpz <> 2 THEN Messagebox('系统提示','物料配置属性不是组合配套,不能新建配置!') RETURN END IF s_mtrlpz.cid = 0 s_mtrlpz.mtrlid = ll_mtrlid s_mtrlpz.Name = '' s_mtrlpz.ename = '' s_mtrlpz.ctype = 1 // 1-组合配套 s_mtrlpz.dscrp = '' s_mtrlpz.newpzflag = 1 OpenWithParm(w_mtrl_configure,s_mtrlpz) dw_index.TriggerEvent(RowFocusChanged!) end event type cbx_all_pz from checkbox within tabpage_5 integer x = 219 integer y = 20 integer width = 201 integer height = 60 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "全选" end type event clicked;Int li_ch Long ll_i IF This.Checked THEN li_ch = 1 ELSE li_ch = 0 END IF dw_mtrl_configure.SetRedraw(False) FOR ll_i = 1 To dw_mtrl_configure.RowCount() dw_mtrl_configure.Object.ch[ll_i] = li_ch NEXT dw_mtrl_configure.SetRedraw(True) end event type dw_configure from u_dw_rbtnfilter within tabpage_5 integer y = 100 integer width = 1719 integer height = 1692 string dataobject = "dw_mtrl_color_color_df" boolean hscrollbar = true boolean vscrollbar = true end type event clicked;call super::clicked;IF row > 0 THEN This.SelectRow(0,False) This.SelectRow(row,True) This.SetRow(row) END IF end event event rowfocuschanged;call super::rowfocuschanged;IF dw_edit_mode THEN RETURN IF currentrow > 0 THEN THIS.SelectRow(0,FALSE) THIS.SetRow(currentrow) THIS.SelectRow(currentrow,TRUE) END IF end event type tabpage_6 from userobject within tab_1 event create ( ) event destroy ( ) integer x = 18 integer y = 96 integer width = 1760 integer height = 2128 long backcolor = 134217739 string text = "部件选配" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_config_def dw_config_def end type on tabpage_6.create this.dw_config_def=create dw_config_def this.Control[]={this.dw_config_def} end on on tabpage_6.destroy destroy(this.dw_config_def) end on type dw_config_def from u_dw_rbtnfilter within tabpage_6 integer width = 1714 integer height = 1876 string dataobject = "dw_mtrl_edit_config_def_df" end type event clicked;call super::clicked;IF row > 0 THEN IF dwo.Name = 'b_ch_status' THEN Parent.GetParent().GetParent().TriggerEvent('ue_status_config_ch') ELSEIF dwo.Name = 'b_ch_woodcode' THEN Parent.GetParent().GetParent().TriggerEvent('ue_woodcode_config_ch') ELSEIF dwo.Name = 'b_ch_pcode' THEN Parent.GetParent().GetParent().TriggerEvent('ue_pcode_config_ch') ELSEIF dwo.Name = 'b_del_status' THEN IF MessageBox('询问','是否确认要清空配置内容?',question!,yesno!) = 2 THEN RETURN This.Object.status_config [row] = "" ELSEIF dwo.Name = 'b_del_woodcode' THEN IF MessageBox('询问','是否确认要清空配置内容?',question!,yesno!) = 2 THEN RETURN This.Object.woodcode_config [row] = "" ELSEIF dwo.Name = 'b_del_pcode' THEN IF MessageBox('询问','是否确认要清空配置内容?',question!,yesno!) = 2 THEN RETURN This.Object.pcode_config [row] = "" END IF END IF end event type tabpage_7 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 1760 integer height = 2128 long backcolor = 134217739 string text = "包件" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 cb_pastempack cb_pastempack cb_copympack cb_copympack cb_delpack cb_delpack cb_modpack cb_modpack cb_addpack cb_addpack cbx_allpack cbx_allpack dw_mtrldef_pack dw_mtrldef_pack end type on tabpage_7.create this.cb_pastempack=create cb_pastempack this.cb_copympack=create cb_copympack this.cb_delpack=create cb_delpack this.cb_modpack=create cb_modpack this.cb_addpack=create cb_addpack this.cbx_allpack=create cbx_allpack this.dw_mtrldef_pack=create dw_mtrldef_pack this.Control[]={this.cb_pastempack,& this.cb_copympack,& this.cb_delpack,& this.cb_modpack,& this.cb_addpack,& this.cbx_allpack,& this.dw_mtrldef_pack} end on on tabpage_7.destroy destroy(this.cb_pastempack) destroy(this.cb_copympack) destroy(this.cb_delpack) destroy(this.cb_modpack) destroy(this.cb_addpack) destroy(this.cbx_allpack) destroy(this.dw_mtrldef_pack) end on type cb_pastempack from uo_imflatbutton within tabpage_7 integer x = 1513 integer y = 4 integer width = 238 integer height = 84 integer taborder = 260 boolean enabled = false string text = "粘贴" end type event clicked;call super::clicked;IF dw_edit_mode THEN MessageBox('系统提示','编辑状态下不可用') RETURN END IF IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF PARENT.GetParent( ).GetParent( ).TriggerEvent('ue_packpaste') end event type cb_copympack from uo_imflatbutton within tabpage_7 integer x = 1280 integer y = 4 integer width = 238 integer height = 84 integer taborder = 260 string text = "复制" end type event clicked;call super::clicked;IF dw_edit_mode THEN MessageBox('系统提示','编辑状态下不可用') RETURN END IF IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF PARENT.GetParent( ).GetParent( ).TriggerEvent('ue_packcopy') end event type cb_delpack from uo_imflatbutton within tabpage_7 integer x = 1047 integer y = 4 integer width = 238 integer height = 84 integer taborder = 260 string text = "删除" end type event clicked;call super::clicked;IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF dw_edit_mode THEN RETURN Long arr_mtrlid[], arr_printid[] Long k = 0 Long i FOR i = 1 To dw_mtrldef_pack.RowCount() IF dw_mtrldef_pack.Object.ch[i] = 1 THEN k++ arr_mtrlid[k] = dw_mtrldef_pack.Object.mtrlid[i] arr_printid[k] = dw_mtrldef_pack.Object.printid[i] END IF NEXT IF k = 0 THEN i = dw_mtrldef_pack.GetRow() IF i <= 0 THEN RETURN IF MessageBox ("询问","是否确定要删除当前记录?(选择确定后记录将不可恢复)",question!,yesno! ) = 2 THEN RETURN END IF k++ arr_mtrlid[k] = dw_mtrldef_pack.Object.mtrlid[i] arr_printid[k] = dw_mtrldef_pack.Object.printid[i] ELSE IF MessageBox ("询问","是否确定要删除当前记录?(选择确定后记录将不可恢复)",question!,yesno! ) = 2 THEN RETURN END IF END IF String arg_msg = '' String ls_msg = '' FOR i = 1 To k IF uo_mtrl.del_pack(arr_mtrlid[i], arr_printid[i], arg_msg, True) <> 1 THEN ls_msg += arg_msg + '~r~n' END IF NEXT if ls_msg <> '' then MessageBox('ERROR', ls_msg) end if dw_index.TriggerEvent(RowFocusChanged!) end event type cb_modpack from uo_imflatbutton within tabpage_7 integer x = 814 integer y = 4 integer width = 238 integer height = 84 integer taborder = 260 string text = "修改" end type event clicked;call super::clicked;IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF s_mtrldef_pack_edit s_edit long ll_row IF dw_edit_mode THEN RETURN ll_row = dw_mtrldef_pack.GetRow( ) IF ll_row <= 0 THEN RETURN s_edit.mtrlid = dw_mtrldef_pack.Object.mtrlid[ll_row] s_edit.printid = dw_mtrldef_pack.Object.printid[ll_row] OpenWithParm(w_mtrldef_pack_edit,s_edit) dw_index.TriggerEvent(RowFocusChanged!) end event type cb_addpack from uo_imflatbutton within tabpage_7 integer x = 581 integer y = 4 integer width = 238 integer height = 84 integer taborder = 260 string text = "新增" end type event clicked;call super::clicked;IF NOT f_power_ind(62) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF s_mtrldef_pack_edit s_edit long ll_row IF dw_edit_mode THEN RETURN ll_row = dw_index.GetRow( ) IF ll_row <= 0 THEN RETURN s_edit.mtrlid = dw_index.Object.mtrlid[ll_row] s_edit.printid = 0 OpenWithParm(w_mtrldef_pack_edit,s_edit) dw_index.TriggerEvent(RowFocusChanged!) end event type cbx_allpack from checkbox within tabpage_7 integer x = 256 integer y = 16 integer width = 201 integer height = 60 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "全选" end type event clicked;Int li_ch Long ll_i IF This.Checked THEN li_ch = 1 ELSE li_ch = 0 END IF dw_mtrldef_pack.SetRedraw(False) FOR ll_i = 1 To dw_mtrldef_pack.RowCount() dw_mtrldef_pack.Object.ch[ll_i] = li_ch NEXT dw_mtrldef_pack.SetRedraw(True) end event type dw_mtrldef_pack from u_dw_rbtnfilter within tabpage_7 integer y = 100 integer width = 1760 integer height = 1692 integer taborder = 20 string dataobject = "dw_mtrldef_pack" boolean hscrollbar = true boolean vscrollbar = true end type event clicked;call super::clicked;IF row > 0 THEN This.SetRow(row) This.ScrollToRow(row) END IF end event event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False) IF currentrow > 0 THEN This.SelectRow(currentrow,True) END IF end event type cbx_hc from checkbox within w_mtrldef_edit integer x = 3090 integer y = 212 integer width = 325 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 134217739 string text = "缓冲选择" end type event clicked;Int use_hc IF This.Checked THEN use_hc = 1 dw_index.Height = parent.Height - dw_index.Y - 830 //cb_mx_del.Y - dw_index.Y - 5 cb_mx_del.Visible = True cb_mx_ch.Visible = True cbx_ifch_repeat.Visible = True dw_ch.Visible = True cbx_ifch_repeat.Y = dw_index.Y + dw_index.Height + 5 cb_mx_del.Y = dw_index.Y + dw_index.Height + 5 cb_mx_ch.Y = cb_mx_del.Y dw_ch.Y = cb_mx_del.Y + cb_mx_del.Height + 5 ELSE use_hc = 0 dw_index.Height = tv_1.Height cbx_ifch_repeat.Visible = False cb_mx_del.Visible = False cb_mx_ch.Visible = False dw_ch.Visible = False END IF f_SetProfileString (sys_empid,dw_index.DataObject, "use_hc", String(use_hc)) end event event constructor;Int use_hc use_hc = integer(f_ProfileString (sys_empid,dw_index.DataObject, "use_hc", "0")) IF use_hc = 1 THEN THIS.Checked = true //dw_index.Height = cb_mx_del.Y - dw_index.Y - 5 cbx_ifch_repeat.Visible = TRUE cb_mx_del.Visible = TRUE cb_mx_ch.Visible = TRUE dw_ch.Visible = TRUE ELSE THIS.Checked = FALSE //dw_index.Height = tv_1.Height cbx_ifch_repeat.Visible = FALSE cb_mx_del.Visible = FALSE cb_mx_ch.Visible = FALSE dw_ch.Visible = FALSE END IF end event type cb_mx_ch from commandbutton within w_mtrldef_edit boolean visible = false integer x = 731 integer y = 1624 integer width = 302 integer height = 100 integer taborder = 170 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "↓ 选择" end type event clicked;Long ROW,ls_i,chC = 0 ROW = dw_index.GetRow() IF ROW <= 0 THEN MessageBox('提示','请先选择目标行!', Information!, OK! ) RETURN END IF dw_ch.setredraw(false) FOR ls_i = 1 TO dw_index.RowCount() IF dw_index.IsSelected(ls_i) THEN IF cbx_ifch_repeat.Checked THEN IF dw_ch.Find('mtrlid ='+String(dw_index.Object.mtrlid[ls_i]),1,dw_ch.RowCount()) = 0 THEN chC++ dw_index.RowsCopy(ls_i, ls_i, Primary!, dw_ch, dw_ch.RowCount() + 1, Primary!) END IF ELSE chC++ dw_index.RowsCopy(ls_i, ls_i, Primary!, dw_ch, dw_ch.RowCount() + 1, Primary!) END IF END IF NEXT dw_ch.setredraw(true) end event type cb_mx_del from commandbutton within w_mtrldef_edit boolean visible = false integer x = 1038 integer y = 1624 integer width = 357 integer height = 100 integer taborder = 180 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "↑ 删除选择" end type event clicked;IF dw_ch.GETROW()=0 THEN MESSAGEBOX('提示','请选择删除的行对象!', Information!, OK! ) RETURN END IF dw_ch.DeleteRow (0) dw_ch.TriggerEvent (rowfocuschanged!) end event type dw_ch from u_dw_rbtnfilter within w_mtrldef_edit boolean visible = false integer x = 718 integer y = 1732 integer width = 1065 integer height = 588 integer taborder = 20 boolean bringtotop = true string dataobject = "dw_mtrl_index" boolean hscrollbar = true boolean vscrollbar = true boolean setcolumn_visible_use = false boolean autosave_filter_use = false boolean autosave_sort_use = false boolean autosave_setlayout_use = false boolean autosave_columnvisible_use = false end type event clicked;call super::clicked;this.setrow(row) this.selectrow(0,false) this.selectrow(row,true) end event event rowfocuschanged;call super::rowfocuschanged;IF currentrow <= 0 THEN RETURN THIS.SelectRow(0,FALSE) THIS.SelectRow(currentrow,TRUE) end event type cbx_auto_mtrlcode from checkbox within w_mtrldef_edit integer x = 2578 integer y = 12 integer width = 466 integer height = 64 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 string text = "按类别自动编码" end type event constructor;THIS.BackColor = 14215660 Int li_flag li_flag = Integer(f_ProfileString (sys_empid,dw_index.DataObject, "if_auto_mtrlcode", '0')) IF li_flag = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event event clicked;Int li_flag IF THIS.Checked THEN li_flag = 1 ELSE li_flag = 0 END IF f_SetProfileString (sys_empid,dw_index.DataObject, "if_auto_mtrlcode", String(li_flag)) end event type st_2 from statictext within w_mtrldef_edit integer x = 2578 integer y = 92 integer width = 229 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 = 67108864 string text = "序号长度" boolean focusrectangle = false end type event constructor;this.backcolor = 14215660 end event type em_1 from editmask within w_mtrldef_edit integer x = 2811 integer y = 80 integer width = 192 integer height = 84 integer taborder = 70 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "4" alignment alignment = right! borderstyle borderstyle = stylelowered! string mask = "#####0" boolean autoskip = true boolean spin = true end type event constructor;this.backcolor = 14215660 end event type sp_v1 from u_lbs_stsplitbar within w_mtrldef_edit integer x = 718 integer y = 1452 integer width = 14 integer height = 752 boolean bringtotop = true long backcolor = 16777215 string text = "" end type event constructor;call super::constructor;//控制拖动条左右所能达到的边界距离 this.of_setminobjectsize(880) end event event lbuttonup;call super::lbuttonup;//wf_resizetablepage( ) //dw_index.Width = parent.Width - sp_v1.Width - 50 end event type tv_1 from uo_tv_mtrltype within w_mtrldef_edit integer y = 292 integer width = 713 integer height = 1756 integer taborder = 170 boolean bringtotop = true integer textsize = -9 fontcharset fontcharset = gb2312charset! fontfamily fontfamily = anyfont! string facename = "宋体" end type event clicked;call super::clicked;IF dw_edit_mode THEN IF THIS.uo_cur_info.sonflag = 1 THEN dw_base.SetRedraw(FALSE) dw_base.Object.mtrltypeid[dw_base.GetRow()] = THIS.uo_cur_info.mtrltypeid dw_base.SetRedraw(TRUE) END IF END IF end event event selectionchanged;call super::selectionchanged;IF dw_edit_mode THEN IF THIS.uo_cur_info.sonflag = 1 THEN dw_base.SetRedraw(FALSE) dw_base.Object.mtrltypeid[dw_uc.GetRow()] = THIS.uo_cur_info.mtrltypeid dw_base.SetRedraw(TRUE) END IF ELSE ls_handtype = THIS.uo_cur_info.handtype cur_mtrltypeid = THIS.uo_cur_info.mtrltypeid ls_handtype = ls_handtype + '%' sle_usual_query.Text = '' PARENT.TriggerEvent('ue_usual_query_retr') IF THIS.uo_cur_info.sonflag = 1 THEN cur_typecode = THIS.uo_cur_info.typecode ELSE cur_typecode = '' END IF END IF end event type st_msg from statictext within w_mtrldef_edit integer x = 3429 integer y = 212 integer width = 901 integer height = 56 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 boolean focusrectangle = false end type type ddlb_mtrlorigin from uo_ddlb_mtrlorigin within w_mtrldef_edit integer y = 192 integer taborder = 80 boolean bringtotop = true integer uo_mtrlorigin = -1 end type event selectionchanged;call super::selectionchanged;cur_mtrlorigin = this.uo_mtrlorigin cb_retrieve.TriggerEvent(Clicked!) f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_mtrlorigin",String(cur_mtrlorigin)) ls_handtype = '' parent.triggerevent('ue_usual_query_retr') end event type cbx_ifch_repeat from checkbox within w_mtrldef_edit boolean visible = false integer x = 1417 integer y = 1876 integer width = 576 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 134217739 string text = "选明细时不能重复" end type event constructor;Int li_ifch_repeat li_ifch_repeat = Integer(f_ProfileString (sys_empid,parent.classname(), "ifch_repeat", '1')) IF li_ifch_repeat = 1 THEN This.Checked = True ELSE This.Checked = False END IF end event event clicked;int li_ifch_repeat IF THIS.Checked THEN li_ifch_repeat = 1 ELSE li_ifch_repeat = 0 END IF f_SetProfileString (sys_empid,parent.classname(), "ifch_repeat", String(li_ifch_repeat)) end event