$PBExportHeader$w_set_mtrl_arg.srw forward global type w_set_mtrl_arg from w_publ_pageretr_easyq end type type gb_3 from groupbox within w_set_mtrl_arg end type type ddlb_3 from uo_ddlb_storageid within w_set_mtrl_arg end type type st_2 from statictext within w_set_mtrl_arg end type type cb_cancel from uo_imflatbutton within w_set_mtrl_arg end type type st_4 from statictext within w_set_mtrl_arg end type type st_5 from statictext within w_set_mtrl_arg end type type em_firstdate from editmask within w_set_mtrl_arg end type type em_enddate from editmask within w_set_mtrl_arg end type type cb_saleqty from uo_imflatbutton within w_set_mtrl_arg end type type sle_price from singlelineedit within w_set_mtrl_arg end type type st_6 from statictext within w_set_mtrl_arg end type type cb_price from uo_imflatbutton within w_set_mtrl_arg end type type rb_up from radiobutton within w_set_mtrl_arg end type type rb_down from radiobutton within w_set_mtrl_arg end type type cb_5 from uo_imflatbutton within w_set_mtrl_arg end type type tv_1 from uo_tv_mtrltype within w_set_mtrl_arg end type type cb_add from uo_imflatbutton within w_set_mtrl_arg end type type cb_del from uo_imflatbutton within w_set_mtrl_arg end type type cb_edit from uo_imflatbutton within w_set_mtrl_arg end type type cbx_1 from checkbox within w_set_mtrl_arg end type type cb_copy from uo_imflatbutton within w_set_mtrl_arg end type type cb_paste from uo_imflatbutton within w_set_mtrl_arg end type end forward global type w_set_mtrl_arg from w_publ_pageretr_easyq integer height = 2404 string title = "库存上下限参数设定" event insert_childrow ( ) event ue_copyrow ( ) event ue_f8 ( ) event ue_deletemx ( ) event ue_insertmx ( ) event ue_addmx ( ) event ue_p_maxminqty_status ( ) event ue_p_maxminqty_woodcode ( ) event ue_p_maxminqty_pcode ( ) event ue_p_maxminqty_maxqty ( ) event ue_p_maxminqty_minqty ( ) event ue_view_status ( long arg_row, string arg_status ) event ue_allowedit ( ) gb_3 gb_3 ddlb_3 ddlb_3 st_2 st_2 cb_cancel cb_cancel st_4 st_4 st_5 st_5 em_firstdate em_firstdate em_enddate em_enddate cb_saleqty cb_saleqty sle_price sle_price st_6 st_6 cb_price cb_price rb_up rb_up rb_down rb_down cb_5 cb_5 tv_1 tv_1 cb_add cb_add cb_del cb_del cb_edit cb_edit cbx_1 cbx_1 cb_copy cb_copy cb_paste cb_paste end type global w_set_mtrl_arg w_set_mtrl_arg type variables String cur_handtype Long cur_scid = 0 String ins_sqlerrtext = '' Int storage_prp = 0 //0 成品 1 原料 Long cur_mtrlorigin = -1 end variables forward prototypes public subroutine wf_lockface () public function integer wf_retrieveuc (datawindow arg_dw, string arg_newselect, integer arg_retrmode) public function integer wf_save () end prototypes event insert_childrow();long li_row li_row=dw_pageretr.insertrow(0) dw_pageretr.scrolltorow(li_row) dw_pageretr.SetColumn ('u_mtrldef_mtrlcode') end event event ue_copyrow();long ll_childrow ll_childrow = dw_pageretr.GETROW() IF ll_childrow=0 THEN MESSAGEBOX('提示','请选择复制对象!',information!,ok!) RETURN END IF dw_pageretr.RowsCopy (ll_childrow,ll_childrow,Primary!,dw_pageretr,dw_pageretr.rowcount() + 1,Primary!) //dw_pageretr.RowsCopy (1,1,Primary!,dw_pageretr,dw_pageretr.rowcount() + 1,Primary!) dw_pageretr.selectrow(0,false) dw_pageretr.setrow(dw_pageretr.rowcount()) dw_pageretr.scrolltorow(dw_pageretr.rowcount()) dw_pageretr.selectrow(dw_pageretr.rowcount(),true) end event event ue_f8();//*************** dw_pageretr.accepttext() Long i,row s_edit_index_tran s_ch_tran s_ch_tran.if_retrieve_all = FALSE s_ch_tran.work_mode = 1 s_ch_tran.arg_pkid = 0 if dw_pageretr.GetRow()>0 then s_ch_tran.arg_string_code = dw_pageretr.Object.u_mtrldef_mtrlcode[dw_pageretr.GetRow()] s_ch_tran.b_long = 0 s_ch_tran.c_long = 0 s_ch_tran.if_select_all = TRUE IF NOT IsValid(w_mtrldef_edit) THEN OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用 s_mtrldef_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 FOR i = 1 TO UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[i] > 0 THEN //正常返回值则可以取以下值 // INSERT INTO u_mtrldef_maxminqty // ( mtrlid, // status, // woodcode, // pcode, // maxqty, // minqty) // // VALUES ( :s_inscust.mtrlid[i], // '','','',999999,0 ) ; // IF dw_pageretr.Find("u_mtrldef_maxminqty_mtrlid="+String(s_inscust.mtrlid[i])+" and u_mtrldef_maxminqty_status='' and u_mtrldef_maxminqty_woodcode='' and u_mtrldef_maxminqty_pcode='' ",1,dw_pageretr.RowCount()) > 1 THEN CONTINUE IF dw_pageretr.GetRow() > 0 THEN IF dw_pageretr.Object.u_mtrldef_maxminqty_mtrlid[dw_pageretr.GetRow()] <> 0 THEN row = dw_pageretr.InsertRow (0) ELSE row = dw_pageretr.GetRow() END IF ELSE row = dw_pageretr.InsertRow (0) END IF dw_pageretr.Object.u_mtrldef_maxminqty_mtrlid[row] = s_inscust.mtrlid[i] dw_pageretr.Object.u_mtrldef_mtrlcode[row] = s_inscust.mtrlcode[i] dw_pageretr.Object.u_mtrldef_mtrlname[row] = s_inscust.mtrlname[i] dw_pageretr.Object.u_mtrldef_mtrlmode[row] = s_inscust.mtrlmode[i] dw_pageretr.Object.u_mtrldef_unit[row] = s_inscust.unit[i] dw_pageretr.Object.u_mtrldef_mtrltype[row] = s_inscust.mtrltype[i] END IF NEXT //*************** END IF end event event ue_deletemx();if keydown(KeyControl!) then IF MessageBox ("询问","是否确定要删除当前显示的全部产品吗?",Question!,YesNo! ) = 2 THEN RETURN do while dw_pageretr.getrow()>0 dw_pageretr.deleterow(dw_pageretr.getrow()) loop dw_pageretr.insertrow(0) else IF MessageBox ("询问","是否确定要删除当前一个产品吗?",Question!,YesNo! ) = 2 THEN RETURN long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('提示','请选定当前目标产品!',information!,ok!) return end if dw_pageretr.deleterow(uc_row) end if end event event ue_insertmx();long ll_childrow,li_row ll_childrow = dw_pageretr.getrow() li_row = dw_pageretr.insertrow(ll_childrow) dw_pageretr.selectrow(0,false) dw_pageretr.setrow(li_row) dw_pageretr.scrolltorow(li_row) dw_pageretr.selectrow(li_row,true) end event event ue_addmx();this.triggerevent('ue_f8') dw_pageretr.SetFocus() end event event ue_p_maxminqty_status();IF NOT dw_edit_mode THEN RETURN IF dw_pageretr.GetRow() <= 0 THEN RETURN String LS_STR Long uc_row Long i dw_pageretr.AcceptText() //s_inputbox S_SREU //S_SREU.Title = '请输入规格' //S_SREU.OLD_TEXT = '' //OpenWithParm(w_inputbox,S_SREU) //LS_STR = Message.StringParm //IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN LS_STR = string(dw_pageretr.OBJECT.u_mtrldef_maxminqty_status[1]) IF TRIM(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN IF MessageBox('提示','是否要确定要批设定属性', question!, YesNo!, 2) = 2 THEN RETURN END IF dw_pageretr.SetRedraw(FALSE) FOR i = 1 TO dw_pageretr.RowCount() dw_pageretr.Object.u_mtrldef_maxminqty_status[i] = LS_STR NEXT dw_pageretr.SetRedraw(TRUE) end event event ue_p_maxminqty_woodcode();IF NOT dw_edit_mode THEN RETURN IF dw_pageretr.GetRow() <= 0 THEN RETURN String LS_STR Long uc_row Long i dw_pageretr.AcceptText() //s_inputbox S_SREU //S_SREU.Title = '请输入规格' //S_SREU.OLD_TEXT = '' //OpenWithParm(w_inputbox,S_SREU) //LS_STR = Message.StringParm //IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN LS_STR = string(dw_pageretr.OBJECT.u_mtrldef_maxminqty_woodcode[1]) IF TRIM(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN IF MessageBox('提示','是否要确定要批设定属性一', question!, YesNo!, 2) = 2 THEN RETURN END IF dw_pageretr.SetRedraw(FALSE) FOR i = 1 TO dw_pageretr.RowCount() dw_pageretr.Object.u_mtrldef_maxminqty_woodcode[i] = LS_STR NEXT dw_pageretr.SetRedraw(TRUE) end event event ue_p_maxminqty_pcode();IF NOT dw_edit_mode THEN RETURN IF dw_pageretr.GetRow() <= 0 THEN RETURN String LS_STR Long uc_row Long i dw_pageretr.AcceptText() //s_inputbox S_SREU //S_SREU.Title = '请输入规格' //S_SREU.OLD_TEXT = '' //OpenWithParm(w_inputbox,S_SREU) //LS_STR = Message.StringParm //IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN LS_STR = string(dw_pageretr.OBJECT.u_mtrldef_maxminqty_pcode[1]) IF TRIM(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN IF MessageBox('提示','是否要确定要批设定属性二', question!, YesNo!, 2) = 2 THEN RETURN END IF dw_pageretr.SetRedraw(FALSE) FOR i = 1 TO dw_pageretr.RowCount() dw_pageretr.Object.u_mtrldef_maxminqty_pcode[i] = LS_STR NEXT dw_pageretr.SetRedraw(TRUE) end event event ue_p_maxminqty_maxqty();IF NOT dw_edit_mode THEN RETURN IF dw_pageretr.GetRow() <= 0 THEN RETURN dec DEC_LS Long uc_row Long i dw_pageretr.AcceptText() //s_inputbox S_SREU //S_SREU.Title = '请输入规格' //S_SREU.OLD_TEXT = '' //OpenWithParm(w_inputbox,S_SREU) //LS_STR = Message.StringParm //IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN DEC_LS = long(dw_pageretr.OBJECT.u_mtrldef_maxminqty_maxqty[1]) IF IsNull(DEC_LS) THEN RETURN IF MessageBox('提示','是否要确定要批设定上限', question!, YesNo!, 2) = 2 THEN RETURN END IF dw_pageretr.SetRedraw(FALSE) FOR i = 1 TO dw_pageretr.RowCount() dw_pageretr.Object.u_mtrldef_maxminqty_maxqty[i] = DEC_LS NEXT dw_pageretr.SetRedraw(TRUE) end event event ue_p_maxminqty_minqty();IF NOT dw_edit_mode THEN RETURN IF dw_pageretr.GetRow() <= 0 THEN RETURN dec DEC_LS Long uc_row Long i dw_pageretr.AcceptText() //s_inputbox S_SREU //S_SREU.Title = '请输入规格' //S_SREU.OLD_TEXT = '' //OpenWithParm(w_inputbox,S_SREU) //LS_STR = Message.StringParm //IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN DEC_LS = long(dw_pageretr.OBJECT.u_mtrldef_maxminqty_minqty[1]) IF IsNull(DEC_LS) THEN RETURN IF MessageBox('提示','是否要确定要批设定下限', question!, YesNo!, 2) = 2 THEN RETURN END IF dw_pageretr.SetRedraw(FALSE) FOR i = 1 TO dw_pageretr.RowCount() dw_pageretr.Object.u_mtrldef_maxminqty_minqty[i] = DEC_LS NEXT dw_pageretr.SetRedraw(TRUE) end event event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return String ls_dscrp long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag dw_pageretr.AcceptText() ll_mtrlid = dw_pageretr.object.u_mtrldef_mtrlid[arg_row] SELECT statusflag, woodcodeflag, pcodeflag into :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag FROM U_MTRLDEF where mtrlid = :ll_mtrlid; IF arg_status = 'u_mtrldef_maxminqty_status' THEN IF ll_statusflag<>5 THEN RETURN ELSEIF arg_status = 'u_mtrldef_maxminqty_woodcode' THEN IF ll_woodcodeflag<>5 THEN RETURN ELSEIF arg_status = 'u_mtrldef_maxminqty_pcode' then IF ll_pcodeflag<>5 THEN RETURN ELSE RETURN END IF ls_dscrp = dw_pageretr.GetItemString(arg_row, arg_status) s_view.Title = '配置内容' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_status,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_pageretr.setitem(arg_row,arg_status,s_return.dscrp) END IF end event event ue_allowedit();Long Columns Int i String ls_modify_str Long ll_row Long ll_value Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag String ls_status,ls_woodcode,ls_pcode String ls_data_type ll_row = dw_pageretr.GetRow() IF ll_row <= 0 THEN RETURN Columns = Long(dw_pageretr.Describe("DataWindow.Column.Count")) FOR i = 1 To Columns ls_modify_str = dw_pageretr.Describe("#" + String(i) + ".name") ls_modify_str = Lower(ls_modify_str) IF i = 1 THEN //第1个字段,约定物料ID ls_data_type = dw_pageretr.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_value = dw_pageretr.GetItemNumber(ll_row,ls_modify_str) END IF END IF //IF Pos(ls_modify_str,'statusflag') > 0 THEN IF Pos(ls_modify_str,'u_mtrldef_maxminqty_status') > 0 THEN ls_data_type = dw_pageretr.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_statusflag = dw_pageretr.GetItemNumber(ll_row,ls_modify_str) END IF END IF // IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN IF Pos(ls_modify_str,'u_mtrldef_maxminqty_woodcode') > 0 THEN ls_data_type = dw_pageretr.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_woodcodeflag = dw_pageretr.GetItemNumber(ll_row,ls_modify_str) END IF END IF // IF Pos(ls_modify_str,'pcodeflag') > 0 THEN IF Pos(ls_modify_str,'u_mtrldef_maxminqty_pcode') > 0 THEN ls_data_type = dw_pageretr.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_pcodeflag = dw_pageretr.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'status') > 0 And Pos(ls_modify_str,'statusflag') = 0 And Pos(ls_modify_str,'statustype') = 0 THEN IF Len(ls_modify_str) = Len('status') Or Pos(ls_modify_str,'_status') > 0 THEN IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 Or & Pos(ls_modify_str,'u_buytask_status') > 0 Or & Pos(ls_modify_str,'u_order_ml_status') > 0 Or & Pos(ls_modify_str,'u_order_wfjg_status') > 0 Or & Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN ls_status = ls_modify_str END IF END IF END IF IF Pos(ls_modify_str,'woodcode') > 0 And Pos(ls_modify_str,'woodcodeflag') = 0 And Pos(ls_modify_str,'woodcodetype') = 0 THEN IF Len(ls_modify_str) = Len('woodcode') Or Pos(ls_modify_str,'_woodcode') > 0 THEN ls_woodcode = ls_modify_str END IF END IF IF Pos(ls_modify_str,'pcode') > 0 And Pos(ls_modify_str,'pcodeflag') = 0 And Pos(ls_modify_str,'pcodetype') = 0 THEN IF Len(ls_modify_str) = Len('pcode') Or Pos(ls_modify_str,'_pcode') > 0 THEN ls_pcode = ls_modify_str END IF END IF NEXT IF ls_status <> '' THEN IF ll_statusflag = 5 THEN //只有5-仅填写时,才能用向下键切换到下一行, 使用ddlb时向下键是被屏蔽的 dw_pageretr.Modify(ls_status+".edit.case='any'") dw_pageretr.Modify(ls_status+".edit.AutoSelect='Yes'") ELSE dw_pageretr.Modify(ls_status+".ddlb.case='any'") IF ll_statusflag <> 0 Or ll_value = 0 THEN dw_pageretr.Modify(ls_status+".dddw.allowedit = no") ELSE dw_pageretr.Modify(ls_status+".dddw.allowedit = yes") END IF END IF END IF IF ls_woodcode <> '' THEN IF ll_woodcodeflag = 5 THEN dw_pageretr.Modify(ls_woodcode+".edit.case='any'") dw_pageretr.Modify(ls_woodcode+".edit.AutoSelect='Yes'") ELSE dw_pageretr.Modify(ls_woodcode+".ddlb.case='any'") IF ll_woodcodeflag <> 0 Or ll_value = 0 THEN dw_pageretr.Modify(ls_woodcode+".dddw.allowedit = no") ELSE dw_pageretr.Modify(ls_woodcode+".dddw.allowedit = yes") END IF END IF END IF IF ls_pcode <> '' THEN IF ll_pcodeflag = 5 THEN dw_pageretr.Modify(ls_pcode+".edit.case='any'") dw_pageretr.Modify(ls_pcode+".edit.AutoSelect='Yes'") ELSE dw_pageretr.Modify(ls_pcode+".ddlb.case='any'") IF ll_pcodeflag <> 0 Or ll_value = 0 THEN dw_pageretr.Modify(ls_pcode+".dddw.allowedit = no") ELSE dw_pageretr.Modify(ls_pcode+".dddw.allowedit = yes") END IF END IF END IF end event public subroutine wf_lockface ();IF dw_edit_mode THEN cb_edit.Text = '保存&S' cb_edit.normalpicname = 'save.bmp' cb_add.Enabled = TRUE cb_del.Enabled = TRUE cb_cancel.Enabled = TRUE cbx_1.Enabled = TRUE cb_refresh.Enabled = FALSE cb_func.Enabled = FALSE cb_paste.Enabled = TRUE cb_copy.Enabled = TRUE dw_pageretr.rbutton_filter_use=false IF cbx_1.Checked = FALSE THEN dw_pageretr.SetTabOrder("u_mtrlware_objmaxminqty",0) dw_pageretr.SetTabOrder("u_mtrldef_mtrlcode",10) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_status",40) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_woodcode",50) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_pcode",60) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_maxqty",70) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_minqty",80) dw_pageretr.SetFocus() em_firstdate.Enabled = FALSE em_enddate.Enabled = FALSE cb_saleqty.Enabled = FALSE rb_up.Enabled = FALSE rb_down.Enabled = FALSE sle_price.Enabled = FALSE cb_price.Enabled = FALSE cb_5.Enabled = FALSE ELSE dw_pageretr.SetTabOrder("u_mtrldef_mtrlcode",0) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_maxqty",0) dw_pageretr.SetTabOrder("u_mtrlware_saleqty",0) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_minqty",0) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_status",0) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_woodcode",0) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_pcode",0) em_firstdate.Enabled = TRUE em_enddate.Enabled = TRUE cb_saleqty.Enabled = TRUE rb_up.Enabled = TRUE rb_down.Enabled = TRUE sle_price.Enabled = TRUE cb_price.Enabled = TRUE cb_5.Enabled = TRUE END IF ELSE cb_add.Enabled = FALSE cb_del.Enabled = FALSE cb_cancel.Enabled = FALSE cbx_1.Enabled = FALSE dw_pageretr.rbutton_filter_use=true cb_edit.Text = '修改&E' cb_edit.normalpicname = 'open.bmp' dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_maxqty",0) dw_pageretr.SetTabOrder("u_mtrlware_saleqty",0) dw_pageretr.SetTabOrder("u_mtrldef_mtrlcode",0) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_minqty",0) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_status",0) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_woodcode",0) dw_pageretr.SetTabOrder("u_mtrldef_maxminqty_pcode",0) em_firstdate.Enabled = FALSE em_enddate.Enabled = FALSE cb_saleqty.Enabled = FALSE rb_up.Enabled = FALSE rb_down.Enabled = FALSE sle_price.Enabled = FALSE cb_price.Enabled = FALSE cb_5.Enabled = FALSE cb_refresh.Enabled = TRUE cb_func.Enabled = TRUE cb_paste.Enabled = FALSE cb_copy.Enabled = FALSE END IF cb_edit.of_init_draw() cb_edit.of_paint() cb_edit.TriggerEvent('ue_textchange') end subroutine public function integer wf_retrieveuc (datawindow arg_dw, string arg_newselect, integer arg_retrmode);//==================================================================== // Function: wf_retrieveuc() //-------------------------------------------------------------------- // Description: 分页拼retr语句 //-------------------------------------------------------------------- // Arguments: // integer arg_retrmode: 0 retrieve all;1 first page ;2 prior page;3 next page;4 last page //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.10.17 //-------------------------------------------------------------------- // Modify History: // //==================================================================== //取得当前的最大\最小ID //按上下翻页命令,拼接最新SELECT语句 //retrmode=arg_retrmode //IF arg_retrmode=0 or retrieve_all THEN // arg_dw.Modify("datawindow.table.select = ~"" + arg_newselect+ "~"") // GOTO EXT //END IF // //string cur_page_newselect,ls_pkcolname,LS_PAGE_ter='' //cur_page_newselect=lower(trim(arg_newselect)) //LONG MAX_ID=0,MIN_ID=0,LS_I,ls_id //ls_pkcolname=arg_dw.Describe("#1.name") //取得ID列名称 // // //if arg_retrmode<>1 then //MAX_ID=0 //Min_ID=0 //FOR LS_I=1 TO arg_dw.ROWCOUNT() // ls_id=arg_dw.GetItemNumber(ls_i, ls_pkcolname) // if LS_I=1 then // MAX_ID=ls_id // Min_ID=ls_id // end if // if not isnull(ls_id) then // if MAX_IDls_id then Min_ID=ls_id // end if //NEXT //FOR LS_I=1 TO arg_dw.FilteredCount() // ls_id=arg_dw.GetItemNumber(ls_i, ls_pkcolname,filter!,true) // if LS_I=1 and MAX_ID=0 and Min_ID=0 then // MAX_ID=ls_id // Min_ID=ls_id // end if // if not isnull(ls_id) then // if MAX_IDls_id then Min_ID=ls_id // end if //NEXT // //end if // //cur_page_newselect=trim(cur_page_newselect) // //IF not (retrieve_all or retrmode=0) then // cur_page_newselect='select top '+string(onepage_rowlmno)+' '+mid( cur_page_newselect , 8) //end if // //CHOOSE CASE arg_retrmode // CASE 1 //第一页 // LS_PAGE_ter='' // CASE 2 //上一页 // LS_PAGE_ter=pkcolumndbtname+'>'+STRING(MAX_ID) // CASE 3 //下一页 // LS_PAGE_ter=pkcolumndbtname+'<'+STRING(Min_ID) // CASE 4 //末页 // LS_PAGE_ter='' // //END CHOOSE // //IF TRIM(LS_PAGE_ter)<>'' THEN //if Pos(cur_page_newselect," where ") <> 0 then // string cur_page_newselect_first,cur_page_newselect_last // cur_page_newselect_first=mid(cur_page_newselect,1,Pos(cur_page_newselect," where ")) // cur_page_newselect_last=mid(cur_page_newselect,Pos(cur_page_newselect," where ")+7) // cur_page_newselect=cur_page_newselect_first+" where ("+LS_PAGE_ter+")"+" and "+cur_page_newselect_last // //cur_page_newselect=cur_page_newselect+" AND ("+LS_PAGE_ter+')' //else // cur_page_newselect=cur_page_newselect+" WHERE ("+LS_PAGE_ter+')' //end if //END IF // //IF arg_retrmode=2 or arg_retrmode=4 THEN // cur_page_newselect=cur_page_newselect+' ORDER BY '+pkcolumndbtname //ELSE // cur_page_newselect=cur_page_newselect+' ORDER BY '+pkcolumndbtname+' DESC' //END IF // //arg_dw.Modify("datawindow.table.select = ~"" + cur_page_newselect+ "~"") // //EXT: RETURN 1 end function public function integer wf_save ();string arg_msg='' string ls_errmsg='' IF NOT f_power_ind(451) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN 1 END IF if dw_pageretr.update()=-1 then if pos(ins_sqlerrtext,"PK_u_mtrldef_maxminqty")>0 then ls_errmsg="物料重复" else ls_errmsg="因为网络或其他原因>"+ins_sqlerrtext end if rollback; MessageBox ('错误',ls_errmsg+",保存操作失败!",stopsign!,OK!) return 0 else commit; MessageBox ('提示','保存操作成功!',information!,ok!) ins_sqlerrtext='' return 1 end if end function on w_set_mtrl_arg.create int iCurrent call super::create this.gb_3=create gb_3 this.ddlb_3=create ddlb_3 this.st_2=create st_2 this.cb_cancel=create cb_cancel this.st_4=create st_4 this.st_5=create st_5 this.em_firstdate=create em_firstdate this.em_enddate=create em_enddate this.cb_saleqty=create cb_saleqty this.sle_price=create sle_price this.st_6=create st_6 this.cb_price=create cb_price this.rb_up=create rb_up this.rb_down=create rb_down this.cb_5=create cb_5 this.tv_1=create tv_1 this.cb_add=create cb_add this.cb_del=create cb_del this.cb_edit=create cb_edit this.cbx_1=create cbx_1 this.cb_copy=create cb_copy this.cb_paste=create cb_paste iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.gb_3 this.Control[iCurrent+2]=this.ddlb_3 this.Control[iCurrent+3]=this.st_2 this.Control[iCurrent+4]=this.cb_cancel this.Control[iCurrent+5]=this.st_4 this.Control[iCurrent+6]=this.st_5 this.Control[iCurrent+7]=this.em_firstdate this.Control[iCurrent+8]=this.em_enddate this.Control[iCurrent+9]=this.cb_saleqty this.Control[iCurrent+10]=this.sle_price this.Control[iCurrent+11]=this.st_6 this.Control[iCurrent+12]=this.cb_price this.Control[iCurrent+13]=this.rb_up this.Control[iCurrent+14]=this.rb_down this.Control[iCurrent+15]=this.cb_5 this.Control[iCurrent+16]=this.tv_1 this.Control[iCurrent+17]=this.cb_add this.Control[iCurrent+18]=this.cb_del this.Control[iCurrent+19]=this.cb_edit this.Control[iCurrent+20]=this.cbx_1 this.Control[iCurrent+21]=this.cb_copy this.Control[iCurrent+22]=this.cb_paste end on on w_set_mtrl_arg.destroy call super::destroy destroy(this.gb_3) destroy(this.ddlb_3) destroy(this.st_2) destroy(this.cb_cancel) destroy(this.st_4) destroy(this.st_5) destroy(this.em_firstdate) destroy(this.em_enddate) destroy(this.cb_saleqty) destroy(this.sle_price) destroy(this.st_6) destroy(this.cb_price) destroy(this.rb_up) destroy(this.rb_down) destroy(this.cb_5) destroy(this.tv_1) destroy(this.cb_add) destroy(this.cb_del) destroy(this.cb_edit) destroy(this.cbx_1) destroy(this.cb_copy) destroy(this.cb_paste) end on event key;call super::key;this.triggerevent("user_key") end event event retrieve_pageretr; boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled cb_nextpage_enabled=cb_nextpage.enabled cb_retrieveall_enabled=cb_retrieveall.enabled cb_func_enabled=cb_func.enabled cb_nextpage.enabled=false cb_retrieveall.enabled=false cb_func.enabled=false SetPointer(HourGlass!) dw_pageretr.retrieve(cur_handtype,cur_mtrlorigin) if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1) SetPointer(Arrow!) cb_nextpage.enabled=cb_nextpage_enabled cb_retrieveall.enabled=cb_retrieveall_enabled cb_func.enabled=cb_func_enabled end event event ue_usual_query_filt;string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+'( u_mtrldef.mtrlcode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( u_mtrldef.mtrlcode LIKE "'+trim(sle_usual_query.text)+'" )' END IF end if dw_pageretr.setfilter(obj_expr) dw_pageretr.SetRedraw(False) dw_pageretr.filter() if dw_pageretr.rowcount()>=1 then dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(1,true) end if dw_pageretr.SetRedraw(TRUE) wf_retrieveuc(dw_pageretr,ls_newselect,1) //注意必须有此句 end event event ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart="(u_mtrldef.mtrlcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_mtrldef.mtrlcode like '"+trim(sle_usual_query.text)+"')" end if if Pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event open;call super::open;wf_lockface() tv_1.f_maketree(-1) if_ue_retr=true if_ue_filter=true if_ue_sort=true if_ue_sentdataout=true 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 end event event resize;call super::resize;tv_1.height=dw_pageretr.height end event type cb_func from w_publ_pageretr_easyq`cb_func within w_set_mtrl_arg end type type cb_exit from w_publ_pageretr_easyq`cb_exit within w_set_mtrl_arg integer x = 1531 integer picsize = 16 toolbaralignment pic_align = alignattop! end type type sle_usual_query from w_publ_pageretr_easyq`sle_usual_query within w_set_mtrl_arg boolean visible = false integer x = 201 end type type cb_retrieveall from w_publ_pageretr_easyq`cb_retrieveall within w_set_mtrl_arg integer x = 2062 end type type em_pagerowno from w_publ_pageretr_easyq`em_pagerowno within w_set_mtrl_arg integer x = 1755 integer y = 60 integer height = 84 end type type dw_pageretr from w_publ_pageretr_easyq`dw_pageretr within w_set_mtrl_arg event ue_insertmx ( ) event ue_addmx ( ) event ue_deletemx ( ) event ue_dwndropdown pbm_dwndropdown integer x = 887 integer y = 348 integer width = 2670 integer height = 1808 string dataobject = "dw_set_mtrl_arg" boolean maxbox = false boolean hsplitscroll = false boolean livescroll = false end type event dw_pageretr::ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN String ls_col_pz,ls_col_mtrlid String ls_pz_ch String ls_col_value String ls_data_type Long ll_row,ll_mtrlid s_pzwin_open arg_s_win ll_row = THIS.GetRow() IF ll_row > 0 THEN ls_col_mtrlid = THIS.Describe("#1.Name") IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid) ls_col_pz = THIS.GetColumnName( ) ls_data_type = dw_pageretr.Describe(ls_col_pz+".ColType") IF Pos(Lower(ls_data_type),"char") > 0 THEN ls_col_value = THIS.GetItemString(ll_row,ls_col_pz) 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 = ls_col_pz arg_s_win.arg_mtrlid = ll_mtrlid arg_s_win.arg_col_value = ls_col_value ls_pz_ch = f_mtrl_pz(arg_s_win) IF isnull(ls_pz_ch) THEN RETURN THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch) END IF end event event dw_pageretr::dwnkey;call super::dwnkey;String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_prdpackcode,ls_mtrlsectype,ls_zxmtrlmode,ls_mtrltype Long ls_mtrlid,ls_storageid Decimal ls_planprice,ls_packqty s_mtrldef_array arg_s_mtrldef Long child_row Long ls_null SetNull(ls_null) IF dw_edit_mode = FALSE THEN RETURN IF KeyDown(Keydownarrow!) THEN Long li_row IF dw_pageretr.GetRow() = dw_pageretr.RowCount() THEN PARENT.TriggerEvent("insert_childrow") END IF ELSE IF KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN IF dw_pageretr.GetColumnName() = 'u_mtrldef_mtrlcode' THEN dw_pageretr.AcceptText() child_row = dw_pageretr.GetRow() ls_mtrlcode = dw_pageretr.Object.u_mtrldef_mtrlcode[child_row] IF f_find_mtrl(ls_mtrlcode,-1 ,arg_s_mtrldef) = 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 ELSE ls_mtrlid = arg_s_mtrldef.mtrlid[1] ls_mtrlcode = arg_s_mtrldef.mtrlcode[1] ls_mtrlname = arg_s_mtrldef.mtrlname[1] ls_unit = arg_s_mtrldef.unit[1] ls_mtrlmode = arg_s_mtrldef.mtrlmode[1] ls_planprice = arg_s_mtrldef.planprice[1] ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1] ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1] ls_mtrltype = arg_s_mtrldef.mtrltype[1] END IF dw_pageretr.Object.u_mtrldef_maxminqty_mtrlid[child_row] = ls_mtrlid dw_pageretr.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname dw_pageretr.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_pageretr.Object.u_mtrldef_unit[child_row] = ls_unit dw_pageretr.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode dw_pageretr.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode dw_pageretr.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype dw_pageretr.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype IF Key = KeyEnter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEif dw_pageretr.GetColumnName() = 'u_mtrldef_maxminqty_minqty' AND dw_pageretr.GetRow() = dw_pageretr.RowCount() then PARENT.TriggerEvent("insert_childrow") else IF Key = KeyEnter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF END IF end event event dw_pageretr::rbuttondown;call super::rbuttondown; IF dw_edit_mode THEN m_dwchild_rbotton m_print m_print = CREATE m_dwchild_rbotton m_print.m_0.PopMenu(THIS.X + THIS.PointerX() + 50,THIS.Y + THIS.PointerY() + 50) END IF end event event dw_pageretr::rowfocuschanged;//IF dw_edit_mode THEN RETURN IF currentrow <=0 THEN RETURN this.selectrow(0,false) this.selectrow(currentrow,true) end event event dw_pageretr::dberror;call super::dberror;ins_sqlerrtext=sqlerrtext return 1 end event event dw_pageretr::rowfocuschanging;call super::rowfocuschanging;// end event event dw_pageretr::doubleclicked;call super::doubleclicked;IF Not dw_edit_mode THEN RETURN dw_pageretr.AcceptText() IF dw_edit_mode AND row > 0 THEN IF dwo.name = 'u_mtrldef_maxminqty_status' or dwo.name = 'u_mtrldef_maxminqty_woodcode' or dwo.name = 'u_mtrldef_maxminqty_pcode' then string name name =dwo.name PARENT.trigger event ue_view_status(row,name) END IF END IF IF Lower(Left(dwo.Type,4)) = 'text' THEN s_inputbox S_SREU String LS_STR,column_name column_name = dwo.Name column_name = Left(column_name,Len(column_name) - 2) IF Left(column_name, 10) = 'u_mtrldef_' THEN column_name = Mid(column_name, 11) END IF //MESSAGEBOX("",column_name) CHOOSE CASE column_name CASE '' Parent.TriggerEvent('ue_p_') CASE ELSE Parent.TriggerEvent('ue_p_'+column_name) END CHOOSE END IF end event type st_1 from w_publ_pageretr_easyq`st_1 within w_set_mtrl_arg boolean visible = false integer x = 0 integer width = 178 integer height = 52 end type type cb_nextpage from w_publ_pageretr_easyq`cb_nextpage within w_set_mtrl_arg integer x = 2213 end type type ddlb_yl from w_publ_pageretr_easyq`ddlb_yl within w_set_mtrl_arg boolean visible = false integer x = 617 integer y = 520 integer width = 238 end type type cbx_yl from w_publ_pageretr_easyq`cbx_yl within w_set_mtrl_arg boolean visible = false integer x = 859 integer y = 520 end type type cb_psetup from w_publ_pageretr_easyq`cb_psetup within w_set_mtrl_arg boolean visible = false integer x = 0 integer y = 436 integer width = 242 end type type cb_2 from w_publ_pageretr_easyq`cb_2 within w_set_mtrl_arg boolean visible = false integer x = 265 integer y = 432 integer width = 242 end type type cb_refresh from w_publ_pageretr_easyq`cb_refresh within w_set_mtrl_arg end type event cb_refresh::clicked;call super::clicked;//tv_1.f_maketree(-1) parent.triggerevent('RETRIEVE_pageretr') end event type cb_help from w_publ_pageretr_easyq`cb_help within w_set_mtrl_arg integer x = 1381 end type type cb_copyself from w_publ_pageretr_easyq`cb_copyself within w_set_mtrl_arg boolean visible = false end type type gb_2 from w_publ_pageretr_easyq`gb_2 within w_set_mtrl_arg end type type ln_bar from w_publ_pageretr_easyq`ln_bar within w_set_mtrl_arg end type type ln_bar2 from w_publ_pageretr_easyq`ln_bar2 within w_set_mtrl_arg integer beginy = 336 integer endx = 1879 integer endy = 336 end type type r_bar from w_publ_pageretr_easyq`r_bar within w_set_mtrl_arg integer x = 2514 end type type ln_1 from w_publ_pageretr_easyq`ln_1 within w_set_mtrl_arg integer beginy = 332 integer endy = 332 end type type ln_2 from w_publ_pageretr_easyq`ln_2 within w_set_mtrl_arg integer beginy = 176 integer endx = 1888 integer endy = 176 end type type gb_3 from groupbox within w_set_mtrl_arg boolean visible = false integer x = 73 integer y = 616 integer width = 3310 integer height = 140 integer taborder = 160 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 end type type ddlb_3 from uo_ddlb_storageid within w_set_mtrl_arg boolean visible = false integer x = 169 integer y = 192 integer width = 558 integer height = 1092 integer taborder = 80 boolean bringtotop = true end type event constructor;call super::constructor;//cur_storageid = this.uo_storageid //cur_storageid_arr = this.uo_storageid_arr end event event selectionchanged;call super::selectionchanged;//cur_storageid = THIS.uo_storageid //cur_storageid_arr = this.uo_storageid_arr //IF cur_storageid <> -1 THEN // SELECT Mtrlprp // INTO :storage_prp // FROM u_storage // Where u_storage.storageid = :cur_storageid; // IF sqlca.SQLCode <> 0 THEN // MessageBox('系统提示','查询操作失败,仓库类别') // RETURN // END IF //END IF // //parent.TriggerEvent('retrieve_pageretr') // end event type st_2 from statictext within w_set_mtrl_arg boolean visible = false integer x = 37 integer y = 204 integer width = 128 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "仓库" boolean focusrectangle = false end type type cb_cancel from uo_imflatbutton within w_set_mtrl_arg integer x = 494 integer width = 151 integer height = 164 integer taborder = 180 boolean bringtotop = true boolean enabled = false string text = "放弃" string normalpicname = "Undo.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;dw_edit_mode=false wf_lockface() parent.triggerevent('RETRIEVE_pageretr') end event type st_4 from statictext within w_set_mtrl_arg integer x = 352 integer y = 236 integer width = 174 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "日期从" boolean focusrectangle = false end type type st_5 from statictext within w_set_mtrl_arg integer x = 928 integer y = 236 integer width = 59 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "到" boolean focusrectangle = false end type type em_firstdate from editmask within w_set_mtrl_arg integer x = 535 integer y = 220 integer width = 384 integer height = 84 integer taborder = 170 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "none" borderstyle borderstyle = stylelowered! maskdatatype maskdatatype = datemask! string mask = "yyyy-mm-dd" boolean spin = true end type event constructor;this.text=string(today(),'yyyy-mm-dd') end event type em_enddate from editmask within w_set_mtrl_arg integer x = 992 integer y = 220 integer width = 384 integer height = 84 integer taborder = 180 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "none" borderstyle borderstyle = stylelowered! maskdatatype maskdatatype = datemask! string mask = "yyyy-mm-dd" boolean spin = true end type event constructor;this.text=string(today(),'yyyy-mm-dd') end event type cb_saleqty from uo_imflatbutton within w_set_mtrl_arg integer x = 1390 integer y = 216 integer width = 251 integer height = 92 integer taborder = 190 boolean bringtotop = true string text = "查询" end type event clicked;call super::clicked;DateTime firstdate,enddate Decimal saleqty Long i,mtrlid string ls_status,ls_woodcode,ls_pcode firstdate = DateTime(Date(em_firstdate.Text),Time(0)) enddate = DateTime(Date(em_enddate.Text),Time('23:59:59')) IF dw_pageretr.RowCount() <= 0 THEN RETURN Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount()) FOR i = 1 TO dw_pageretr.RowCount() mtrlid = dw_pageretr.Object.u_mtrldef_mtrlid[i] ls_status=dw_pageretr.Object.u_mtrldef_maxminqty_status[i] ls_woodcode=dw_pageretr.Object.u_mtrldef_maxminqty_woodcode[i] ls_pcode=dw_pageretr.Object.u_mtrldef_maxminqty_pcode[i] IF storage_prp = 0 THEN //成品仓对应销售出仓 w_sys_wait_jdt.st_msg.Text = "预处理[查询销量]:"+dw_pageretr.Object.u_mtrldef_mtrlname[i] //进度信息 SELECT sum(u_outwaremx.qty) INTO :saleqty FROM u_outware,u_outwaremx WHERE u_outware.scid = u_outwaremx.scid AND u_outware.outwareid = u_outwaremx.outwareid AND u_outware.flag = 1 AND u_outware.secflag = 1 AND (u_outware.billtype = 1 OR u_outware.billtype = 2) //现货销售+不记帐销售 AND u_outware.outdate >= :firstdate AND u_outware.outdate <= :enddate AND u_outwaremx.mtrlid = :mtrlid and u_outwaremx.status=:ls_status and u_outwaremx.woodcode=:ls_woodcode and u_outwaremx.pcode=:ls_pcode; ELSE //原料仓对应领料出仓 w_sys_wait_jdt.st_msg.Text = "预处理[查询领料量]:"+dw_pageretr.Object.u_mtrldef_mtrlname[i] //进度信息 SELECT sum(u_outwaremx.qty) INTO :saleqty FROM u_outware,u_outwaremx WHERE u_outware.scid = u_outwaremx.scid AND u_outware.outwareid = u_outwaremx.outwareid AND u_outware.flag = 1 // AND u_outware.secflag = 1 AND u_outware.billtype = 3 //生产领料 AND u_outware.outdate >= :firstdate AND u_outware.outdate <= :enddate AND u_outwaremx.mtrlid = :mtrlid and u_outwaremx.status=:ls_status and u_outwaremx.woodcode=:ls_woodcode and u_outwaremx.pcode=:ls_pcode; END IF IF sqlca.SQLCode <> 0 OR IsNull(saleqty) THEN saleqty = 0 dw_pageretr.Object.u_mtrlware_saleqty[i] = saleqty w_sys_wait_jdt.wf_inc(i+1) //进度 NEXT Close(w_sys_wait_jdt) end event type sle_price from singlelineedit within w_set_mtrl_arg integer x = 1838 integer y = 220 integer width = 224 integer height = 84 integer taborder = 190 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "1.0" borderstyle borderstyle = stylelowered! boolean righttoleft = true end type type st_6 from statictext within w_set_mtrl_arg integer x = 1655 integer y = 236 integer width = 178 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "×参数" boolean focusrectangle = false end type type cb_price from uo_imflatbutton within w_set_mtrl_arg integer x = 2066 integer y = 216 integer width = 210 integer height = 92 integer taborder = 200 boolean bringtotop = true string text = "计算" end type event clicked;call super::clicked;Decimal saleqty,arg Long i IF dw_pageretr.RowCount() <= 0 THEN RETURN arg = Dec(sle_price.Text) IF IsNull(arg) THEN MessageBox('提示','参数为空',information!,ok!) sle_price.SetFocus() RETURN END IF FOR i = 1 TO dw_pageretr.RowCount() saleqty = dw_pageretr.Object.u_mtrlware_saleqty[i] dw_pageretr.Object.u_mtrlware_objmaxminqty[i] = Round(saleqty * arg ,2) NEXT end event type rb_up from radiobutton within w_set_mtrl_arg integer x = 2290 integer y = 196 integer width = 375 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "更新为上限" boolean checked = true end type type rb_down from radiobutton within w_set_mtrl_arg integer x = 2290 integer y = 264 integer width = 375 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "更新为下限" end type type cb_5 from uo_imflatbutton within w_set_mtrl_arg integer x = 2683 integer y = 216 integer height = 92 integer taborder = 200 boolean bringtotop = true string text = "确定更新" end type event clicked;call super::clicked;String arg_msg = '' IF NOT f_power_ind(451) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long ls_mtrlid String ls_mtrlcode,ls_mtrlname,ls_objpname Dec ls_newqty IF dw_pageretr.RowCount() <= 0 THEN MessageBox('提示','没有可更新的产品',information!,ok!) RETURN END IF IF rb_up.Checked THEN IF MessageBox ("询问","是否确定要更新当前商品的库存上限?",Question!,YesNo! ) = 2 THEN RETURN ELSE IF MessageBox ("询问","是否确定要更新当前商品的库存下限?",Question!,YesNo! ) = 2 THEN RETURN END IF Long NbrRows, row = 0 dw_pageretr.AcceptText() NbrRows = dw_pageretr.RowCount() Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(NbrRows) DO WHILE row <= NbrRows row = dw_pageretr.GetNextModified(row, Primary!) IF row > 0 THEN ls_newqty = dw_pageretr.Object.u_mtrlware_objmaxminqty[row] IF rb_up.Checked THEN w_sys_wait_jdt.st_msg.Text = "预处理[更新上限]:"+ls_mtrlname //进度信息 dw_pageretr.Object.u_mtrldef_maxminqty_maxqty[row]=ls_newqty ELSE w_sys_wait_jdt.st_msg.Text = "预处理[更新下限]:"+ls_mtrlname //进度信息 dw_pageretr.Object.u_mtrldef_maxminqty_minqty[row]=ls_newqty END IF else row = NbrRows + 1 END IF w_sys_wait_jdt.wf_inc( row ) //进度 LOOP Close(w_sys_wait_jdt) end event type tv_1 from uo_tv_mtrltype within w_set_mtrl_arg integer x = 14 integer y = 348 integer width = 864 integer height = 1804 integer taborder = 80 boolean bringtotop = true integer textsize = -9 fontcharset fontcharset = gb2312charset! fontfamily fontfamily = anyfont! string facename = "宋体" end type event selectionchanged;call super::selectionchanged;IF dw_edit_mode THEN RETURN cur_handtype = this.uo_cur_info.handtype cur_handtype = cur_handtype + '%' cb_refresh.triggerevent( clicked! ) end event type cb_add from uo_imflatbutton within w_set_mtrl_arg integer x = 645 integer width = 251 integer height = 164 integer taborder = 170 boolean bringtotop = true string text = "增加物料" string normalpicname = "mx1.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;parent.triggerevent('ue_f8') end event type cb_del from uo_imflatbutton within w_set_mtrl_arg integer x = 896 integer width = 251 integer height = 164 integer taborder = 180 boolean bringtotop = true string text = "删除物料" string normalpicname = "mx2.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;parent.triggerevent('ue_deletemx') end event type cb_edit from uo_imflatbutton within w_set_mtrl_arg integer x = 302 integer width = 192 integer height = 164 integer taborder = 170 boolean bringtotop = true string text = "修改&E" string normalpicname = "open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked; IF dw_edit_mode THEN dw_edit_mode = FALSE if wf_save()=1 then wf_lockface() else dw_edit_mode =true end if ELSE dw_edit_mode = TRUE wf_lockface() parent.triggerevent('ue_allowedit') END IF end event type cbx_1 from checkbox within w_set_mtrl_arg integer x = 27 integer y = 232 integer width = 315 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "批量修改" end type event clicked;wf_lockface() end event type cb_copy from uo_imflatbutton within w_set_mtrl_arg integer x = 1147 integer width = 233 integer height = 164 integer taborder = 170 boolean bringtotop = true boolean enabled = false string text = "复制行&C" string normalpicname = "copy.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;parent.triggerevent('ue_copyrow') end event type cb_paste from uo_imflatbutton within w_set_mtrl_arg boolean visible = false integer x = 1115 integer y = 4 integer width = 165 integer height = 168 integer taborder = 180 boolean bringtotop = true boolean enabled = false string text = "粘贴" string normalpicname = "paste.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type