$PBExportHeader$w_order_ml_rqmtrl_chng.srw forward global type w_order_ml_rqmtrl_chng from w_publ_1ton_share_detail end type type st_2 from statictext within w_order_ml_rqmtrl_chng end type type ddlb_status from dropdownlistbox within w_order_ml_rqmtrl_chng end type type ddlb_scid from uo_ddlb_scid within w_order_ml_rqmtrl_chng end type type st_3 from statictext within w_order_ml_rqmtrl_chng end type type dw_child2 from u_dw_rbtnfilter within w_order_ml_rqmtrl_chng end type end forward global type w_order_ml_rqmtrl_chng from w_publ_1ton_share_detail string title = "增料单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_p_wrkgrpid ( ) event insert_childrow2 ( ) event ue_add_bom ( ) event ue_p_str ( ) st_2 st_2 ddlb_status ddlb_status ddlb_scid ddlb_scid st_3 st_3 dw_child2 dw_child2 end type global w_order_ml_rqmtrl_chng w_order_ml_rqmtrl_chng type variables Int child2_column_int = 1 long cur_flag= -1 //-1:全部,0未审 Long cur_scid Long cur_scid_arr[] uo_order_ml_rqmtrl_chng uo_chng datastore ds_copy String ins_choose String ins_choose_text end variables forward prototypes public function integer wf_flagstatus_rf () public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg) public function integer wf_refresh_curuc (integer arg_scid, long arg_billid) public function integer wf_lock_child () public subroutine wf_add_dwchild2 (s_saletask_mtrl s_inscust) public subroutine wf_edit_pz (integer arg_row, string arg_pzname) end prototypes event insert_childrow();long li_row li_row=dw_child.insertrow(0) dw_child.scrolltorow(li_row) dw_child.SetColumn ('u_mtrldef_mtrlcode') end event event ue_p_wrkgrpid();IF NOT dw_edit_mode THEN MessageBox('系统提示','非编辑状态不可使用') RETURN END IF IF MessageBox(publ_operator,'是否要确定要批设定领用工组', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF dw_child.Object.u_orderrqmtrl_chngmx_wrkgrpid[1] = 0 THEN RETURN IF ll_i = 1 THEN CONTINUE dw_child.Object.u_orderrqmtrl_chngmx_wrkgrpid[ll_i] = dw_child.Object.u_orderrqmtrl_chngmx_wrkgrpid[1] NEXT dw_child.SetRedraw(TRUE) end event event insert_childrow2();long li_row li_row=dw_child2.insertrow(0) dw_child2.scrolltorow(li_row) dw_child2.SetColumn ('u_mtrldef_mtrlcode') end event event ue_add_bom();IF NOT f_power_ind(1485) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_billid pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要添加清单?",Question!,YesNo! ) = 2 THEN RETURN ll_billid = dw_pageretr.Object.billid[pagerert_row] IF uo_chng.uf_add_bom(dw_pageretr.Object.scid[pagerert_row],ll_billid,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'添加清单成功!') wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row]) END IF end event event ue_p_str();IF MessageBox(publ_operator,'是否要确定要按当前选中行信息对勾选行批设定 '+ins_choose_text, question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i,ll_cnt String ls_type Dec ld_get String ls_get dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN IF dw_child.getrow() = 0 THEN RETURN ls_type = Left( dw_child.Describe( ins_choose+ ".coltype"),4) CHOOSE CASE ls_type CASE "char" ls_get = dw_child.GetItemString(dw_child.getrow(),ins_choose) CASE "int","long","deci" ld_get = dw_child.GetItemNumber(dw_child.getrow(),ins_choose) CASE ELSE RETURN END CHOOSE dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() CHOOSE CASE ls_type CASE "char" dw_child.SetItem(ll_i,ins_choose,ls_get) CASE "int","long","deci" dw_child.SetItem(ll_i,ins_choose,ld_get) CASE ELSE RETURN END CHOOSE NEXT dw_child.SetRedraw(TRUE) end event public function integer wf_flagstatus_rf ();//==================================================================== // Function: wf_flagstatus_rf() //-------------------------------------------------------------------- // Description: //-------------------------------------------------------------------- // Arguments:(None) //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.12.26 //-------------------------------------------------------------------- // Modify History: // //==================================================================== Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = FALSE GOTO ext END IF IF dw_edit_mode THEN cb_auditing.Enabled = FALSE ELSE IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN cb_auditing.Enabled = TRUE ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 THEN cb_auditing.Enabled = FALSE END IF END IF ext: RETURN 0 end function public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//============================================================================== // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata() //------------------------------------------------------------------------------ // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可 //------------------------------------------------------------------------------ Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_pageretr.Object.#1[LS_ROW] ////可选设置/// arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码 if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码 boolean xls_locked xls_locked = not (sys_option_xls_lock = 1) /// Excel 的可选设置 if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then return 0 end if for i = 1 to arg_str_billlist.count ////可选操作/// arg_str_billlist.bill[i].ds_data = create datastore // arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow // arg_str_billlist.bill[i].ds_data.settransobject(sqlca) //修改点:注意retrieve 参数与上文对应 arg_str_billlist.bill[i].ds_data.retrieve(ll_id) next return 1 end function public function integer wf_refresh_curuc (integer arg_scid, long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 DateTime billdate String relemp String relcode String dscrp Long flag DateTime opdate String opemp DateTime moddate String modemp DateTime auditingdate String auditingrep String billcode long relid, relprintid, mtrlid int CreateBomFlag SELECT billdate, relemp, relcode, dscrp, flag, opdate, opemp, moddate, modemp, auditingdate, auditingrep, billcode, CreateBomFlag INTO :billdate, :relemp, :relcode, :dscrp, :flag, :opdate, :opemp, :moddate, :modemp, :auditingdate, :auditingrep, :billcode, :CreateBomFlag FROM u_orderrqmtrl_chng Where billid = :arg_billid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示',"查询操作失败(错误单据唯一码)") RETURN 0 END IF dw_pageretr.SetRedraw(FALSE) dw_pageretr.Object.scid[uc_row] = arg_scid dw_pageretr.Object.billid[uc_row] = arg_billid dw_pageretr.Object.billcode[uc_row] = billcode dw_pageretr.Object.u_orderrqmtrl_chng_relemp[uc_row] = relemp dw_pageretr.Object.relcode[uc_row] = relcode dw_pageretr.Object.dscrp[uc_row] = dscrp dw_pageretr.Object.flag[uc_row] = flag dw_pageretr.Object.billdate[uc_row] = billdate dw_pageretr.Object.opdate[uc_row] = opdate dw_pageretr.Object.opemp[uc_row] = opemp dw_pageretr.Object.moddate[uc_row] = moddate dw_pageretr.Object.modemp[uc_row] = modemp dw_pageretr.Object.auditingdate[uc_row] = auditingdate dw_pageretr.Object.auditingrep[uc_row] = auditingrep dw_pageretr.Object.CreateBomFlag[uc_row] = CreateBomFlag dw_pageretr.SetRedraw(TRUE) dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) wf_flagstatus_rf() RETURN 1 end function public function integer wf_lock_child ();//wf_lock_child INT LS_INT IF dw_edit_mode THEN FOR LS_INT=1 TO child_column_int dw_child.SetTabOrder (LS_INT,LS_INT*10 ) NEXT FOR LS_INT=1 TO child2_column_int dw_child2.SetTabOrder (LS_INT,LS_INT*10 ) NEXT ELSE FOR LS_INT=1 TO child_column_int dw_child.SetTabOrder (LS_INT, 0) NEXT FOR LS_INT=1 TO child2_column_int dw_child2.SetTabOrder (LS_INT, 0) NEXT END IF RETURN 1 end function public subroutine wf_add_dwchild2 (s_saletask_mtrl s_inscust);Long child_row, ls_j String ls_mtrlsectype,ls_zxmtrlmode,ls_mtrlengname,ls_barcode s_mtrldef_array arg_s_mtrldef child_row = dw_child2.GetRow() FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN IF dw_child2.GetRow() > 0 THEN IF dw_child2.Object.u_orderrqmtrl_chngmx2_mtrlid[child_row] <> 0 THEN child_row = dw_child2.InsertRow (0) ELSE child_row = dw_child2.GetRow() END IF ELSE child_row = dw_child2.InsertRow (0) END IF dw_child2.Object.u_orderrqmtrl_chngmx2_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child2.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j] dw_child2.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child2.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child2.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child2.Object.u_orderrqmtrl_chngmx2_relid[child_row] = S_INSCUST.taskid[ls_j] dw_child2.Object.u_orderrqmtrl_chngmx2_relprintid[child_row] = S_INSCUST.printid[ls_j] dw_child2.Object.relcode[child_row] = S_INSCUST.taskcode[ls_j] dw_child2.Object.u_saletask_taskdate[child_row] = S_INSCUST.taskdate[ls_j] dw_child2.Object.u_saletask_requiredate[child_row] = S_INSCUST.requiredate[ls_j] dw_child2.Object.u_saletaskmx_mtrlchangecode[child_row] = S_INSCUST.mtrlchangecode[ls_j] dw_child2.Object.u_saletaskmx_status[child_row] = S_INSCUST.status[ls_j] dw_child2.Object.u_saletaskmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] dw_child2.Object.u_saletaskmx_pcode[child_row] = S_INSCUST.pcode[ls_j] dw_child2.Object.u_saletaskmx_usaleqty[child_row] = S_INSCUST.qty[ls_j] long ls_taskid string ls_relcode,ls_cusname,ls_assign_emp,ls_plancode ls_taskid = S_INSCUST.taskid[ls_j] select isnull(u_saletask.relcode,''), isnull(u_cust.name,''), isnull(u_saletask.assign_emp,''),isnull(u_saletaskmx.plancode,'') into :ls_relcode, :ls_cusname, :ls_assign_emp, :ls_plancode from u_saletask inner join u_cust on u_saletask.cusid=u_cust.cusid inner join u_saletaskmx on u_saletask.scid=u_saletaskmx.scid and u_saletask.taskid=u_saletaskmx.taskid where u_saletask.taskid= :ls_taskid; dw_child2.Object.u_saletask_relcode[child_row] = ls_relcode dw_child2.Object.u_cust_name[child_row] = ls_cusname dw_child2.Object.u_saletask_assign_emp[child_row] = ls_assign_emp dw_child2.Object.u_saletaskmx_plancode[child_row] = ls_plancode //dw_child2.Object.u_saletask_relcode[child_row] = S_INSCUST.relcode[ls_j] //dw_child2.Object.u_cust_name[child_row] = S_INSCUST.cusname[ls_j] //dw_child2.Object.u_saletask_assign_emp[child_row] = S_INSCUST.assign_emp[ls_j] //dw_child2.Object.u_saletaskmx_plancode[child_row] = S_INSCUST.plancode[ls_j] IF f_find_mtrl(S_INSCUST.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN ls_mtrlsectype = '' ls_zxmtrlmode = '' ls_mtrlengname = '' ls_barcode = '' ELSE ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1] ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1] ls_mtrlengname = arg_s_mtrldef.mtrlengname[1] ls_barcode = arg_s_mtrldef.barcode[1] END IF dw_child2.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype dw_child2.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode dw_child2.Object.u_mtrldef_mtrlengname[child_row] = ls_mtrlengname dw_child2.Object.u_mtrldef_barcode[child_row] = ls_barcode END IF NEXT dw_child.SetFocus() dw_child.SetColumn ('u_mtrldef_mtrlcode') end subroutine public subroutine wf_edit_pz (integer arg_row, string arg_pzname);if arg_row <= 0 then return string ls_findstr,ls_title long ll_flag String ls_data_type //arg_pzname //ll_flag = ls_data_type = dw_child.Describe(arg_pzname+".dddw.allowedit") IF ls_data_type = 'no' THEN RETURN s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.GetItemString(arg_row,arg_pzname) s_view.Title = ls_title s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp_log,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.SetItem (arg_row, arg_pzname, s_return.dscrp ) END IF end subroutine on w_order_ml_rqmtrl_chng.create int iCurrent call super::create this.st_2=create st_2 this.ddlb_status=create ddlb_status this.ddlb_scid=create ddlb_scid this.st_3=create st_3 this.dw_child2=create dw_child2 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.st_2 this.Control[iCurrent+2]=this.ddlb_status this.Control[iCurrent+3]=this.ddlb_scid this.Control[iCurrent+4]=this.st_3 this.Control[iCurrent+5]=this.dw_child2 end on on w_order_ml_rqmtrl_chng.destroy call super::destroy destroy(this.st_2) destroy(this.ddlb_status) destroy(this.ddlb_scid) destroy(this.st_3) destroy(this.dw_child2) end on event open;this.triggerevent('ue_before_open') wf_movetocenter() OLD_TITLE = THIS.Title s_tran = Message.PowerObjectParm IF NOT IsNull(s_tran) THEN retrieve_all = s_tran.if_retrieve_all mode = s_tran.work_mode arg_pkid = s_tran.arg_pkid arg_string_code = s_tran.arg_string_code if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效 ds_share = s_tran.ds_share if_power_sendout = s_tran.if_sendout if_power_print = s_tran.if_print END IF dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关 dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关 dw_pageretr.SetTransObject (sqlca) dw_child2.SetTransObject (sqlca) pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字 ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select") ls_newselect = ori_oldselect ds_curquery = CREATE DATASTORE ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) ds_copy_bill = CREATE datastore ds_copy_bill.DataObject = dw_child.dataobject ds_copy_bill.SetTransObject(sqlca) wf_editindex_lockf() sle_usual_query.Text = Trim(arg_string_code) IF NOT retrieve_all THEN THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve ELSE IF if_sharedata THEN ds_share.ShareData(dw_pageretr) ELSE wf_retrieveuc(dw_pageretr,ls_newselect,1) THIS.TriggerEvent('RETRIEVE_pageretr') END IF END IF IF retrieve_all THEN THIS.TriggerEvent("ue_usual_query_filt") END IF IF sys_option_taskplancode_auto = 0 THEN //不允许填批号 dw_child.Modify('u_orderrqmtrl_chngmx_plancode.protect="1"~n u_orderrqmtrl_chngmx_plancode.color="000000"') dw_child.Modify('u_orderrqmtrl_chngmx_plancode_t.color="000000"') END IF uc_column_int = 7 child_column_int = 13 child2_column_int = 5 uo_chng = create uo_order_ml_rqmtrl_chng end event event close;call super::close;destroy uo_chng end event event refresh_interface;call super::refresh_interface;wf_flagstatus_rf() ddlb_scid.Enabled = NOT dw_edit_mode ddlb_status.Enabled = NOT dw_edit_mode dw_child.RBUTTON_SETPOSITION_USE = NOT dw_edit_mode //定位 end event event retrieve_pageretr;boolean cb_nextpage_enabled,cb_retrieveall_enabled boolean cb_func_enabled,cb_retrieve_enabled cb_nextpage_enabled=cb_nextpage.enabled cb_retrieveall_enabled=cb_retrieveall.enabled cb_func_enabled=cb_func.enabled cb_nextpage.enabled=false cb_retrieveall.enabled=false cb_func.enabled=false dw_uc.Retrieve() dw_pageretr.Retrieve(cur_scid_arr, cur_flag) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.triggerevent(rowfocuschanged!) end if f_title_change(dw_uc) wf_flagstatus_rf() this.triggerevent('retrieve_childdw') cb_nextpage.enabled=cb_nextpage_enabled cb_retrieveall.enabled=cb_retrieveall_enabled cb_func.enabled=cb_func_enabled end event event ue_usual_query_filt;call super::ue_usual_query_filt;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="(billcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(billcode like '"+trim(sle_usual_query.text)+"')" end if if Pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart="(u_workprice_change.billcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_workprice_change.billcode like '"+trim(sle_usual_query.text)+"')" end if if Pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event ue_viewprint;call super::ue_viewprint; IF NOT f_power_ind(1487) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('NO','没有打印目标单据!') RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_prdpf_change_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE IF NOT f_power_ind(1487) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF LS_PRMSG.obj_dwNAME = '' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = '增料单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 2 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() OpenWithParm(w_publ_preview,LS_PRMSG) end event event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid, uc_scid row = dw_pageretr.GetRow() // IF row > 0 THEN uc_scid = dw_pageretr.Object.scid[row] uc_relid = dw_pageretr.Object.billid[row] dw_child.SetRedraw (FALSE) dw_child.Retrieve(uc_scid, uc_relid) dw_child.SetRedraw (TRUE) dw_child2.SetRedraw (FALSE) dw_child2.Retrieve(uc_scid, uc_relid) dw_child2.SetRedraw (TRUE) ELSE dw_child.Reset() dw_child2.Reset() END IF end event event ue_f8;call super::ue_f8;//用于选择物料明细内容,被f8[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row String ls_sonmtrlname child_row = dw_child.GetRow() Decimal i_newprice Long uc_row uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选择单据') RETURN END IF IF NOT IsValid(w_order_ml_mod_tree_mtrl) THEN s_edit_index_tran s_tranf8 //传递参数使用 s_tranf8.if_retrieve_all = FALSE //是否一次retrieve所有行 s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_tranf8.arg_pkid = 0 //目标定位pkid (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = TRUE //多选 s_tranf8.b_long = 0 //选产品 s_tranf8.f_long = -1 Long ls_j IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) OpenWithParm(w_order_ml_mod_tree_mtrl,s_tranf8) //调用 s_mtrldef_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_OrderRqMtrl_chngmx_mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.u_OrderRqMtrl_chngmx_mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode [child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname [child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode [child_row] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype [child_row] = s_inscust.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode [child_row] = s_inscust.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlengname [child_row] = s_inscust.mtrlengname[ls_j] dw_child.Object.u_mtrldef_barcode [child_row] = s_inscust.barcode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j] dw_child.Object.u_mtrldef_mtrlprp[child_row] = s_inscust.mtrlprp[ls_j] dw_child.Object.u_mtrldef_mtrlorigin[child_row] = s_inscust.mtrlorigin[ls_j] dw_child.Object.u_OrderRqMtrl_chngmx_plantype[child_row] = s_inscust.mtrlorigin[ls_j] dw_child.Object.u_OrderRqMtrl_chngmx_status[child_row] = s_inscust.status[ls_j] dw_child.Object.u_OrderRqMtrl_chngmx_woodcode[child_row] = s_inscust.woodcode[ls_j] dw_child.Object.u_OrderRqMtrl_chngmx_pcode[child_row] = s_inscust.pcode[ls_j] dw_child.Object.u_OrderRqMtrl_chngmx_lp[child_row] = 1 END IF NEXT this.triggerevent('ue_allowedit') dw_child.SetFocus() dw_child.SetColumn ('u_orderrqmtrl_chngmx_truerqqty') END IF end event event ue_print;call super::ue_print;//--直接打印 IF NOT f_power_ind(1487) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF uo_print_preview uo_print IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('NO','没有打印目标单据!') RETURN END IF IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_prdpf_change_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE IF NOT f_power_ind(1487) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF LS_PRMSG.obj_dwNAME = '' END IF if LS_PRMSG.obj_dwNAME = '' then return LS_PRMSG.retr_pram_falg = 2 LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = '增料单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("系统提示",arg_msg) RETURN END IF uo_print.ds_print() end event event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1486) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '',LS_STR Long uc_row s_inputbox S_SREU uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF S_SREU.Title = '请输入要补充到备注的内容' S_SREU.OLD_TEXT = '' OpenWithParm(w_inputbox,S_SREU) LS_STR = Message.StringParm IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN IF uo_chng.add_dscrp(dw_pageretr.Object.scid[uc_row],dw_pageretr.Object.billid[uc_row],LS_STR,arg_msg,true) = 0 THEN MessageBox('Error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'添加备注操作成功!') wf_refresh_curuc(dw_pageretr.Object.scid[uc_row],dw_pageretr.Object.billid[uc_row]) END IF end event event ue_f7;call super::ue_f7;//用于订单明细 IF NOT dw_edit_mode THEN RETURN Long uc_row uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选择单据') RETURN END IF Long child_row child_row = dw_child2.GetRow() IF NOT IsValid(w_saletask_mrp_ch) 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 = '' //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.e_long = 0 Long chc = 1,ls_j dw_child2.AcceptText() OpenWithParm(w_saletask_mrp_ch,s_ch_tran) s_saletask_mtrl S_INSCUST S_INSCUST = Message.PowerObjectParm wf_add_dwchild2(S_INSCUST) // FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid) // IF S_INSCUST.mtrlid[ls_j] > 0 THEN // // IF dw_child2.GetRow() > 0 THEN // IF dw_child2.Object.u_orderrqmtrl_chngmx2_mtrlid[child_row] <> 0 THEN // child_row = dw_child2.InsertRow (0) // ELSE // child_row = dw_child2.GetRow() // END IF // ELSE // child_row = dw_child2.InsertRow (0) // END IF // // dw_child2.Object.u_orderrqmtrl_chngmx2_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] // dw_child2.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j] // dw_child2.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] // dw_child2.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] // dw_child2.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] // // dw_child2.Object.u_orderrqmtrl_chngmx2_relid[child_row] = S_INSCUST.taskid[ls_j] // dw_child2.Object.u_orderrqmtrl_chngmx2_relprintid[child_row] = S_INSCUST.printid[ls_j] // dw_child2.Object.relcode[child_row] = S_INSCUST.taskcode[ls_j] // // dw_child2.Object.u_saletask_taskdate[child_row] = S_INSCUST.taskdate[ls_j] // dw_child2.Object.u_saletask_requiredate[child_row] = S_INSCUST.requiredate[ls_j] // dw_child2.Object.u_saletaskmx_mtrlchangecode[child_row] = S_INSCUST.mtrlchangecode[ls_j] // dw_child2.Object.u_saletaskmx_status[child_row] = S_INSCUST.status[ls_j] // dw_child2.Object.u_saletaskmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] // dw_child2.Object.u_saletaskmx_pcode[child_row] = S_INSCUST.pcode[ls_j] // dw_child2.Object.u_saletaskmx_usaleqty[child_row] = S_INSCUST.qty[ls_j] // // END IF // NEXT // dw_child2.SetFocus() END IF end event event resize;//dw_child2 ln_bar.EndX = THIS.Width ln_bar2.EndX = THIS.Width ln_1.EndX = THIS.Width ln_2.EndX = THIS.Width r_bar.Width = THIS.Width Long w_width,w_height w_width = 3602 w_height = 2300 IF newwidth < w_width THEN THIS.Width = w_width IF newheight < w_height THEN THIS.Height = w_height IF uc_width > 0 THEN dw_uc.Width = uc_width END IF IF uc_height > 0 THEN dw_uc.Height = uc_height END IF dw_pageretr.X = dw_uc.X + dw_uc.Width dw_pageretr.Width = THIS.Width - dw_pageretr.X - 40 dw_pageretr.Height = dw_uc.Height dw_child2.X = dw_uc.X dw_child2.Y = dw_uc.Y + dw_uc.Height + 4 dw_child2.Width = THIS.Width / 2 - 2 dw_child2.Height = THIS.Height - dw_child.Y - 150 dw_child.X = dw_child2.X + dw_child2.Width + 4 dw_child.Y = dw_uc.Y + dw_uc.Height + 4 dw_child.Width = THIS.Width / 2 - 2 dw_child.Height = THIS.Height - dw_child.Y - 150 this.triggerevent('resize_p') end event type cb_func from w_publ_1ton_share_detail`cb_func within w_order_ml_rqmtrl_chng end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_order_ml_rqmtrl_chng integer x = 2368 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_order_ml_rqmtrl_chng integer x = 229 integer width = 553 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_order_ml_rqmtrl_chng integer x = 2821 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_order_ml_rqmtrl_chng integer x = 2519 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_order_ml_rqmtrl_chng integer x = 1733 integer width = 1609 integer height = 924 string dataobject = "dw_order_ml_rqmtrl_chng_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged; wf_flagstatus_rf() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_order_ml_rqmtrl_chng integer x = 0 alignment alignment = right! end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_order_ml_rqmtrl_chng integer x = 2971 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_order_ml_rqmtrl_chng integer width = 1723 integer height = 920 string dataobject = "dw_order_ml_rqmtrl_chng_edit" end type event dw_uc::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode String ls_mtrlsectype,ls_zxmtrlmode Long ll_mtrlid,ll_ori_mtrlid String ls_procode,ls_procode_f,ls_proname_f string ls_procode_ori IF Key = KeyDownArrow! THEN RETURN 1 dw_uc.AcceptText() IF dw_uc.GetRow() <= 0 THEN RETURN IF dw_edit_mode THEN IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN dw_child2.ScrollToRow(1) dw_child2.SetFocus() dw_child2.SetColumn ('relcode') RETURN 1 ELSE IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF end event event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN IF dwo.Name = 'u_mtrldef_mtrlcode' THEN PARENT.TriggerEvent('ue_f7') END IF END IF end event event dw_uc::clicked;call super::clicked;IF dw_edit_mode AND row > 0 THEN IF dwo.Name = 'p_c' OR dwo.Name = 'choicesaletaskmx_t' THEN PARENT.TriggerEvent('ue_f7') END IF END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_order_ml_rqmtrl_chng integer x = 352 integer y = 396 integer width = 704 integer height = 400 long backcolor = 134217739 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_order_ml_rqmtrl_chng integer x = 1742 integer y = 1220 integer width = 1847 integer height = 952 string dataobject = "dw_order_ml_rqmtrl_chngmx_edit" end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') Long child_row String ls_mtrlcode,ls_mtrlname,ls_mtrlmode,ls_mtrlsectype,ls_zxmtrlmode Long ll_mtrlid string ls_unit, ls_mtrltype int li_mtrlprp, li_mtrlorigin IF dw_edit_mode THEN IF KeyDown(Keydownarrow!) THEN Long li_row IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") END IF ELSE If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN IF THIS.GetColumnName() = 'u_mtrldef_mtrlcode' THEN dw_child.AcceptText() child_row = dw_child.GetRow() IF child_row > 0 THEN ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row] SELECT mtrlid, mtrlname, mtrlmode, mtrlsectype, zxmtrlmode, unit, mtrltype, mtrlprp, mtrlorigin INTO :ll_mtrlid, :ls_mtrlname, :ls_mtrlmode, :ls_mtrlsectype, :ls_zxmtrlmode, :ls_unit, :ls_mtrltype, :li_mtrlprp, :li_mtrlorigin FROM u_mtrldef Where mtrlcode = :ls_mtrlcode; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f8') return 1 ELSE dw_child.Object.u_OrderRqMtrl_chngmx_mtrlid[child_row] = ll_mtrlid dw_child.Object.u_mtrldef_mtrlname [child_row] = ls_mtrlname dw_child.Object.u_mtrldef_mtrlmode [child_row] = ls_mtrlmode dw_child.Object.u_mtrldef_mtrlsectype [child_row] = ls_mtrlsectype dw_child.Object.u_mtrldef_zxmtrlmode [child_row] = ls_zxmtrlmode dw_child.Object.u_mtrldef_unit[child_row] = ls_unit dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype dw_child.Object.u_mtrldef_mtrlprp[child_row] = li_mtrlprp dw_child.Object.u_mtrldef_mtrlorigin[child_row] = li_mtrlorigin dw_child.Object.u_OrderRqMtrl_chngmx_plantype[child_row] = li_mtrlorigin dw_child.Object.u_OrderRqMtrl_chngmx_status[child_row] = "" dw_child.Object.u_OrderRqMtrl_chngmx_woodcode[child_row] = "" dw_child.Object.u_OrderRqMtrl_chngmx_pcode[child_row] = "" dw_child.Object.u_OrderRqMtrl_chngmx_lp[child_row] = 1 END IF parent.triggerevent('ue_allowedit') IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF // ELSEIF THIS.GetColumnName() = 'u_workprice_changemx_dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN // PARENT.TriggerEvent("insert_childrow") // RETURN 1 ELSE IF Key = keyenter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF END IF END IF end event event dw_child::doubleclicked;IF Not dw_edit_mode THEN RETURN String col[] Long i col = {'u_orderrqmtrl_chngmx_rqqty','u_orderrqmtrl_chngmx_truerqqty','u_orderrqmtrl_chngmx_wrkgrpid'} IF Lower(Left(dwo.Type,4)) = 'text' THEN s_inputbox S_SREU String LS_STR,column_name,ls_type column_name = dwo.Name ins_choose_text = this.Describe( column_name+ ".text") column_name = Left(column_name,Len(column_name) - 2) ins_choose = column_name for i =1 to upperbound(col) IF ins_choose = col[i] then Parent.TriggerEvent('ue_p_str') END IF next ELSE If (dwo.Name = "u_orderrqmtrl_chngmx_status" Or & dwo.Name = "u_orderrqmtrl_chngmx_pcode" Or & dwo.Name = "u_orderrqmtrl_chngmx_woodcode") And row > 0 Then wf_edit_pz(row,dwo.Name) Return End If IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN PARENT.TriggerEvent('ue_f8') END IF END IF end event event dw_child::editchanged;call super::editchanged;IF dw_edit_mode AND row > 0 THEN this.accepttext() IF dwo.name ='u_orderrqmtrl_chngmx_truerqqty' then IF data = '' then return this.object.u_orderrqmtrl_chngmx_rqqty[row] = this.object.u_orderrqmtrl_chngmx_truerqqty[row] end if end if end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_order_ml_rqmtrl_chng integer x = 1723 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_order_ml_rqmtrl_chng integer x = 1531 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_order_ml_rqmtrl_chng end type event cb_add::clicked;IF NOT f_power_ind(1483) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row,i,count = 0 s_order_ml_rqmtrl_chng arg_s_main IF dw_edit_mode THEN dw_uc.AcceptText() dw_child.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF NOT dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('系统提示','不合理发生时间!') dw_uc.SetFocus() dw_uc.SetColumn("billdate") RETURN END IF IF dw_uc.Object.u_orderrqmtrl_chng_relemp[uc_row] = '' THEN MessageBox('系统提示','请填写经手人!') dw_uc.SetFocus() dw_uc.SetColumn("u_orderrqmtrl_chng_relemp") RETURN END IF arg_s_main.scid = cur_scid arg_s_main.billid = dw_uc.Object.billid[uc_row] arg_s_main.billdate = dw_uc.Object.billdate[uc_row] arg_s_main.relemp = dw_uc.Object.u_orderrqmtrl_chng_relemp[uc_row] arg_s_main.dscrp = dw_uc.Object.dscrp[uc_row] arg_s_main.relcode = dw_uc.Object.relcode[uc_row] arg_s_main.CreateBomFlag = dw_uc.Object.CreateBomFlag[uc_row] count = 0 FOR i = 1 TO dw_child2.RowCount() IF dw_child2.Object.u_OrderRqMtrl_chngmx2_mtrlid[i] > 0 THEN IF dw_child2.Object.u_OrderRqMtrl_chngmx2_relid[i] = 0 OR & dw_child2.Object.u_OrderRqMtrl_chngmx2_relprintid[i] = 0 THEN MessageBox('系统提示','第'+String(i)+'行,请选择销售订单明细') RETURN END IF count++ arg_s_main.arg_s_mx2[count].printid = count arg_s_main.arg_s_mx2[count].mtrlid = dw_child2.Object.u_OrderRqMtrl_chngmx2_mtrlid[i] arg_s_main.arg_s_mx2[count].relid = dw_child2.Object.u_OrderRqMtrl_chngmx2_relid[i] arg_s_main.arg_s_mx2[count].relprintid = dw_child2.Object.u_OrderRqMtrl_chngmx2_relprintid[i] arg_s_main.arg_s_mx2[count].relcode = dw_child2.Object.relcode[i] END IF NEXT count = 0 FOR i = 1 TO dw_child.RowCount() IF dw_child.Object.u_OrderRqMtrl_chngmx_mtrlid[i] > 0 THEN IF dw_child.Object.u_orderrqmtrl_chngmx_truerqqty[i] = 0 OR & dw_child.Object.u_orderrqmtrl_chngmx_rqqty[i] = 0 THEN MessageBox('系统提示','第'+String(i)+'行,需求数或用料数不能为0') RETURN END IF IF dw_child.Object.u_orderrqmtrl_chngmx_wrkgrpid[i] = 0 THEN MessageBox('系统提示','第'+String(i)+'行,请选择领用工组') RETURN END IF count++ arg_s_main.arg_s_mx[count].printid = count arg_s_main.arg_s_mx[count].mtrlid = dw_child.Object.u_OrderRqMtrl_chngmx_mtrlid[i] arg_s_main.arg_s_mx[count].truerqqty = dw_child.Object.u_orderrqmtrl_chngmx_truerqqty[i] arg_s_main.arg_s_mx[count].plantype = dw_child.Object.u_orderrqmtrl_chngmx_plantype[i] arg_s_main.arg_s_mx[count].wrkgrpid = dw_child.Object.u_orderrqmtrl_chngmx_wrkgrpid[i] arg_s_main.arg_s_mx[count].rqqty = dw_child.Object.u_orderrqmtrl_chngmx_rqqty[i] arg_s_main.arg_s_mx[count].status = dw_child.Object.u_orderrqmtrl_chngmx_status[i] arg_s_main.arg_s_mx[count].woodcode = dw_child.Object.u_orderrqmtrl_chngmx_woodcode[i] arg_s_main.arg_s_mx[count].pcode = dw_child.Object.u_orderrqmtrl_chngmx_pcode[i] arg_s_main.arg_s_mx[count].plancode = dw_child.Object.u_orderrqmtrl_chngmx_plancode[i] IF IsNull(arg_s_main.arg_s_mx[count].plancode) then arg_s_main.arg_s_mx[count].plancode ='' END IF NEXT IF uo_chng.Save(arg_s_main,publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF MessageBox(publ_operator,'保存操作成功!') Long ll_row ll_row = dw_pageretr.GetRow() dw_pageretr.SelectRow(0,FALSE) dw_pageretr.SelectRow(ll_row,TRUE) wf_refresh_curuc(cur_scid,uo_chng.uo_billid) //刷新uc ELSE IF cur_scid < 0 THEN MessageBox('error!',"请选择分部") RETURN END IF dw_child2.RESET() END IF CALL SUPER::Clicked IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") PARENT.TriggerEvent("insert_childrow2") // dw_uc.SetRedraw(FALSE) // dw_uc.SetRedraw(TRUE) ELSE PARENT.TriggerEvent("retrieve_childdw") END IF THIS.TriggerEvent('refresh_interface') end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_order_ml_rqmtrl_chng end type event cb_edit::clicked;IF NOT f_power_ind(1483) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF NOT dw_edit_mode THEN IF uo_chng.updatebegin(dw_pageretr.Object.scid[uc_row],dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.scid[uc_row],dw_pageretr.Object.billid[uc_row]) //刷新uc PARENT.TriggerEvent("retrieve_childdw") END IF CALL SUPER::Clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_order_ml_rqmtrl_chng end type event cb_delet::clicked;IF NOT f_power_ind(1484) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("IF","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_chng.del(dw_pageretr.Object.scid[uc_row],dw_pageretr.Object.billid[uc_row],arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.billid[uc_row] ls_code = dw_pageretr.Object.billcode[uc_row] f_setsysoplog('增料单','增料单删除,ID:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.billcode[uc_row])+'成功!') dw_pageretr.DeleteRow(uc_row) dw_pageretr.Triggerevent(rowfocuschanged!) END IF end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_order_ml_rqmtrl_chng integer x = 1029 end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=增加备注~tEvent=ue_addzy" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=添加清单~tEvent=ue_add_bom" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy" menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste" IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF end event type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_order_ml_rqmtrl_chng end type event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1485) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_billid pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要审核当前单据吗(审核后单据将归档只读)?",Question!,YesNo! ) = 2 THEN RETURN ll_billid = dw_pageretr.Object.billid[pagerert_row] IF uo_chng.audit(dw_pageretr.Object.scid[pagerert_row],ll_billid,publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row]) END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_order_ml_rqmtrl_chng integer x = 1280 end type event cb_xm::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF dw_edit_mode THEN menustr = "Text=增明细~tEvent=ue_addmx" menustr = menustr + "|" + "Text=删明细~tEvent=ue_deletemx" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=批设领用工组~tEvent=ue_p_wrkgrpid" END IF IF Trim(is_mx_menustr) <> '' THEN IF dw_edit_mode THEN menustr = menustr + "|" + "Text=-" END IF menustr = menustr + is_mx_menustr END IF IF if_MtrlPicView THEN IF Trim(menustr) <> "" THEN menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=明细物料图片查看~tEvent=ue_MtrlPicView" ELSE menustr = "Text=明细物料图片查看~tEvent=ue_MtrlPicView" END IF END IF IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_order_ml_rqmtrl_chng end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_order_ml_rqmtrl_chng integer x = 1915 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_order_ml_rqmtrl_chng integer x = 2217 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_order_ml_rqmtrl_chng boolean visible = false integer x = 3209 boolean enabled = false end type type p_msg from w_publ_1ton_share_detail`p_msg within w_order_ml_rqmtrl_chng end type type p_help from w_publ_1ton_share_detail`p_help within w_order_ml_rqmtrl_chng end type type p_encl from w_publ_1ton_share_detail`p_encl within w_order_ml_rqmtrl_chng end type type p_other from w_publ_1ton_share_detail`p_other within w_order_ml_rqmtrl_chng end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_order_ml_rqmtrl_chng end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_order_ml_rqmtrl_chng end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_order_ml_rqmtrl_chng end type type r_bar from w_publ_1ton_share_detail`r_bar within w_order_ml_rqmtrl_chng integer x = 3310 end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_order_ml_rqmtrl_chng end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_order_ml_rqmtrl_chng end type type st_2 from statictext within w_order_ml_rqmtrl_chng integer x = 1531 integer y = 204 integer width = 178 integer height = 48 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "状 态" alignment alignment = right! boolean focusrectangle = false end type type ddlb_status from dropdownlistbox within w_order_ml_rqmtrl_chng integer x = 1719 integer y = 184 integer width = 480 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;if index=1 then cur_flag=-1 elseif index=2 then cur_flag= 0 elseif index=3 then cur_flag= 1 end if parent.triggerevent("retrieve_pageretr") end event type ddlb_scid from uo_ddlb_scid within w_order_ml_rqmtrl_chng integer x = 974 integer y = 184 integer width = 549 integer height = 620 integer taborder = 60 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid=this.uo_scid cur_scid_arr = THIS.uo_scid_arr end event event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid cur_scid_arr = THIS.uo_scid_arr parent.triggerevent("retrieve_pageretr") end event type st_3 from statictext within w_order_ml_rqmtrl_chng integer x = 791 integer y = 204 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 = "分 部" alignment alignment = right! boolean focusrectangle = false end type type dw_child2 from u_dw_rbtnfilter within w_order_ml_rqmtrl_chng integer y = 1232 integer width = 1294 integer height = 588 integer taborder = 20 boolean bringtotop = true boolean titlebar = true string title = "明细内容 2[双击选择]" string dataobject = "dw_order_ml_rqmtrl_chngmx2_edit" boolean maxbox = true boolean hscrollbar = true boolean vscrollbar = true boolean resizable = true boolean hsplitscroll = true boolean rbutton_setposition_use = true end type event doubleclicked;call super::doubleclicked;IF dw_edit_mode AND row > 0 THEN // IF this.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN PARENT.TriggerEvent('ue_f7') // END IF END IF end event event dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') Long child_row String ls_mtrlcode,ls_mtrlname,ls_mtrlmode,ls_mtrlsectype,ls_zxmtrlmode Long ll_mtrlid string ls_unit, ls_mtrltype int li_mtrlprp, li_mtrlorigin IF dw_edit_mode THEN IF KeyDown(Keydownarrow!) THEN Long li_row IF this.GetRow() = this.RowCount() THEN PARENT.TriggerEvent("insert_childrow2") END IF ELSE If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN IF THIS.GetColumnName() = 'u_mtrldef_mtrlcode' or THIS.GetColumnName() = 'relcode' THEN this.AcceptText() child_row = this.GetRow() PARENT.TriggerEvent('ue_f7') // IF child_row > 0 THEN // ls_mtrlcode = this.Object.u_mtrldef_mtrlcode[child_row] // SELECT mtrlid, // mtrlname, // mtrlmode, // mtrlsectype, // zxmtrlmode, // unit, // mtrltype, // mtrlprp, // mtrlorigin // // INTO :ll_mtrlid, // :ls_mtrlname, // :ls_mtrlmode, // :ls_mtrlsectype, // :ls_zxmtrlmode, // :ls_unit, // :ls_mtrltype, // :li_mtrlprp, // :li_mtrlorigin // FROM u_mtrldef // Where mtrlcode = :ls_mtrlcode; // IF sqlca.SQLCode <> 0 THEN // PARENT.TriggerEvent('ue_f7') // return 1 // ELSE // this.Object.u_OrderRqMtrl_chngmx2_mtrlid[child_row] = ll_mtrlid // this.Object.u_mtrldef_mtrlname [child_row] = ls_mtrlname // this.Object.u_mtrldef_mtrlmode [child_row] = ls_mtrlmode // END IF // // IF Key = keyenter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab // keybd_event ( 9, 0, 2, 0 ) // 释放tab // RETURN 1 // END IF // // END IF ELSE IF Key = keyenter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF END IF END IF end event event clicked;call super::clicked;IF row > 0 AND dw_edit_mode THEN THIS.SetRow(row) IF KeyDown(keycontrol!) THEN IF if_changeselect THEN THIS.SelectRow(row,NOT THIS.IsSelected(row)) ELSE if_changeselect = TRUE END IF ll_lastrow = row ELSEIF KeyDown(keyshift!) THEN //按下SHIFT键 // IF ll_lastrow = 0 THEN //上次没选中任何行 // THIS.SelectRow(row,TRUE) // ll_lastrow = currentrow //ll_lastrow为实例变量,记录上次单击的行 // ELSE // THIS.SelectRow(0,FALSE) //全都不选中 // IF currentrow > ll_lastrow THEN // FOR ll_i = ll_lastrow TO currentrow // THIS.SelectRow(ll_i,TRUE) // NEXT // ELSE // FOR ll_i = ll_lastrow TO currentrow STEP -1 // THIS.SelectRow(ll_i,TRUE) // NEXT // END IF // END IF ELSE THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) ll_lastrow = row END IF END IF end event event rowfocuschanged;call super::rowfocuschanged;//IF dw_edit_mode THEN RETURN Long ll_i IF NOT dw_edit_mode THEN IF currentrow <= 0 THEN RETURN THIS.SelectRow(0,FALSE) THIS.SelectRow(currentrow,TRUE) ELSE IF if_del THEN RETURN IF KeyDown(keycontrol!) THEN IF NOT THIS.IsSelected(currentrow) THEN THIS.SelectRow(currentrow,TRUE) if_changeselect = FALSE ELSE if_changeselect = TRUE END IF ELSEIF KeyDown(keyshift!) THEN //按下SHIFT键 IF ll_lastrow = 0 THEN //上次没选中任何行 THIS.SelectRow(currentrow,TRUE) ll_lastrow = currentrow //ll_lastrow为实例变量,记录上次单击的行 ELSE THIS.SelectRow(0,FALSE) //全都不选中 IF currentrow > ll_lastrow THEN FOR ll_i = ll_lastrow TO currentrow THIS.SelectRow(ll_i,TRUE) NEXT ELSE FOR ll_i = ll_lastrow TO currentrow STEP -1 THIS.SelectRow(ll_i,TRUE) NEXT END IF END IF ELSE THIS.SelectRow(0,FALSE) THIS.SelectRow(currentrow,TRUE) ll_lastrow = currentrow END IF parent.triggerevent('ue_allowedit') END IF end event event resize;call super::resize; dw_child.x = this.x + this.width + 5 dw_child.width = parent.width - dw_child.X - 10 end event