$PBExportHeader$w_order_ml.srw forward global type w_order_ml from w_publ_easyq end type type cb_auditing from uo_imflatbutton within w_order_ml end type type cb_notpermit from uo_imflatbutton within w_order_ml end type type cb_audit_scll from uo_imflatbutton within w_order_ml end type type cb_caudit_scll from uo_imflatbutton within w_order_ml end type type st_6 from statictext within w_order_ml end type type ddlb_status from dropdownlistbox within w_order_ml end type type st_7 from statictext within w_order_ml end type type ddlb_1 from dropdownlistbox within w_order_ml end type type cbx_all from checkbox within w_order_ml end type type ddlb_scid from uo_ddlb_scid within w_order_ml end type type st_2 from statictext within w_order_ml end type type st_1 from statictext within w_order_ml end type type sle_relcode from singlelineedit within w_order_ml end type type tab_1 from tab within w_order_ml end type type tabpage_4 from userobject within tab_1 end type type cb_10 from commandbutton within tabpage_4 end type type cb_mod_buyrqmtrl from commandbutton within tabpage_4 end type type dw_4 from u_dw_rbtnfilter within tabpage_4 end type type tabpage_4 from userobject within tab_1 cb_10 cb_10 cb_mod_buyrqmtrl cb_mod_buyrqmtrl dw_4 dw_4 end type type tabpage_5 from userobject within tab_1 end type type cb_5 from commandbutton within tabpage_5 end type type dw_5 from u_dw_rbtnfilter within tabpage_5 end type type tabpage_5 from userobject within tab_1 cb_5 cb_5 dw_5 dw_5 end type type tabpage_1 from userobject within tab_1 end type type cb_4 from commandbutton within tabpage_1 end type type dw_2 from u_dw_rbtnfilter within tabpage_1 end type type cb_c_woodcode from commandbutton within tabpage_1 end type type cb_c_status from commandbutton within tabpage_1 end type type cb_c_pcode from commandbutton within tabpage_1 end type type tabpage_1 from userobject within tab_1 cb_4 cb_4 dw_2 dw_2 cb_c_woodcode cb_c_woodcode cb_c_status cb_c_status cb_c_pcode cb_c_pcode end type type tabpage_2 from userobject within tab_1 end type type cb_9 from commandbutton within tabpage_2 end type type cb_8 from commandbutton within tabpage_2 end type type cb_7 from commandbutton within tabpage_2 end type type cb_6 from commandbutton within tabpage_2 end type type dw_3 from u_dw_rbtnfilter within tabpage_2 end type type tabpage_2 from userobject within tab_1 cb_9 cb_9 cb_8 cb_8 cb_7 cb_7 cb_6 cb_6 dw_3 dw_3 end type type tabpage_3 from userobject within tab_1 end type type dw_mrpmx from u_dw_rbtnfilter within tabpage_3 end type type tabpage_3 from userobject within tab_1 dw_mrpmx dw_mrpmx end type type tabpage_6 from userobject within tab_1 end type type dw_self from u_dw_rbtnfilter within tabpage_6 end type type tabpage_6 from userobject within tab_1 dw_self dw_self end type type tab_1 from tab within w_order_ml tabpage_4 tabpage_4 tabpage_5 tabpage_5 tabpage_1 tabpage_1 tabpage_2 tabpage_2 tabpage_3 tabpage_3 tabpage_6 tabpage_6 end type type cb_3 from uo_imflatbutton within w_order_ml end type type cb_11 from uo_imflatbutton within w_order_ml end type type cb_reccl from uo_imflatbutton within w_order_ml end type type cb_reccl_edit from uo_imflatbutton within w_order_ml end type type cbx_chk_zero from checkbox within w_order_ml end type type cb_viewprint from uo_imflatbutton within w_order_ml end type type st_5 from statictext within w_order_ml end type type ddlb_salestatus from dropdownlistbox within w_order_ml end type end forward global type w_order_ml from w_publ_easyq integer width = 4055 string title = "销售订单物料运算及工价设定表" event ue_pz_pcode_change ( ) event ue_pz_pcode_clear ( ) event ue_pz_status_change ( ) event ue_pz_status_clear ( ) event ue_pz_woodcode_change ( ) event ue_pz_woodcode_clear ( ) event ue_addzy ( ) event ue_create_outware_scll ( ) event ue_setspt ( ) event ue_create_buytask ( ) event ue_addmtrl ( ) event ue_create_rqmtrl_chng ( ) event ue_edit_mrp ( ) event ue_create_orderwfjg ( ) event ue_create_inware_cp ( ) event ue_print ( ) event ue_viewprint ( ) event ue_sentdataout_mrpmx ( ) event ue_usual_query_retr ( ) event retrieve_pageretr ( ) cb_auditing cb_auditing cb_notpermit cb_notpermit cb_audit_scll cb_audit_scll cb_caudit_scll cb_caudit_scll st_6 st_6 ddlb_status ddlb_status st_7 st_7 ddlb_1 ddlb_1 cbx_all cbx_all ddlb_scid ddlb_scid st_2 st_2 st_1 st_1 sle_relcode sle_relcode tab_1 tab_1 cb_3 cb_3 cb_11 cb_11 cb_reccl cb_reccl cb_reccl_edit cb_reccl_edit cbx_chk_zero cbx_chk_zero cb_viewprint cb_viewprint st_5 st_5 ddlb_salestatus ddlb_salestatus end type global w_order_ml w_order_ml type variables Int cur_status int cur_salestatus = 1 Int cur_scllflag = -1,cur_scllsecflag = -1 Long cur_scid datawindow dw_2,dw_3,dw_4,dw_5,dw_6,dw_7 uo_order_ml uo_sale uo_order_ml_mrp uo_ml_mrp String ls_newname = '' Long ll_prownum Long ls_powerid Int li_auditprint String ls_rpname = '' Long ls_msgprintid_rpt = 0 int ifpic = 0 string is_ori_select //原始查询语句 end variables forward prototypes public function integer wf_rtr_dw2 () public function integer wf_refresh_curuc (long arg_scid, long arg_taskid, long arg_printid, long arg_row, ref string arg_msg) public subroutine wf_rtr_dwmx () public function integer wf_cmp (long arg_scid, long arg_taskid, long arg_printid, ref string arg_msg) public function integer pf_cmp (long arg_scid, long arg_taskid, long arg_printid, long arg_mtrlid, decimal arg_qty, string arg_status, string arg_woodcode, string arg_pcode, integer arg_type) public function integer wf_rtr_dw1 () public function integer wf_rtr_dw3 () public function integer wf_flagstatus_rf () public function integer wf_rtr_dw4 () public function integer wf_rtr_dw5 () public function integer wf_rtr_dw6 () public subroutine wf_retrieveuc (datawindow arg_dw, string arg_newselect) public function window getparentwindow () public subroutine wf_retr_currenrow_dw_2 (long arg_row) public function integer wf_rtr_dw7 () end prototypes event ue_pz_pcode_change();IF NOT f_power_ind(1303) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_row Long ll_rqmtrlid dw_2.AcceptText() ll_row = dw_2.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请选择目标物料') RETURN END IF ll_rqmtrlid = dw_2.Object.rqmtrlid[ll_row] Open(w_color_pcode_edit) String ls_update,arg_msg ls_update = Message.StringParm IF ls_update = '' THEN RETURN IF uo_sale.uof_pz_change(3,ls_update,& ll_rqmtrlid,& arg_msg) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF wf_retr_currenrow_dw_2(ll_row) end event event ue_pz_pcode_clear();IF NOT f_power_ind(1303) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_row Long ll_rqmtrlid dw_2.AcceptText() ll_row = dw_2.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请选择目标物料') RETURN END IF ll_rqmtrlid = dw_2.Object.rqmtrlid[ll_row] String ls_update,arg_msg ls_update = '' IF uo_sale.uof_pz_change(3,ls_update,& ll_rqmtrlid,arg_msg) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF wf_retr_currenrow_dw_2(ll_row) end event event ue_pz_status_change();IF NOT f_power_ind(1301) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_row Long ll_rqmtrlid dw_2.AcceptText() ll_row = dw_2.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请选择目标物料') RETURN END IF ll_rqmtrlid = dw_2.Object.rqmtrlid[ll_row] Open(w_color_edit) String ls_update,arg_msg ls_update = Message.StringParm IF ls_update = '' THEN RETURN IF uo_sale.uof_pz_change(1,ls_update,& ll_rqmtrlid,arg_msg) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF wf_retr_currenrow_dw_2(ll_row) end event event ue_pz_status_clear();IF NOT f_power_ind(1301) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_row Long ll_rqmtrlid dw_2.AcceptText() ll_row = dw_2.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请选择目标物料') RETURN END IF ll_rqmtrlid = dw_2.Object.rqmtrlid[ll_row] String ls_update,arg_msg ls_update = '' IF uo_sale.uof_pz_change(1,ls_update,& ll_rqmtrlid,arg_msg) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF wf_retr_currenrow_dw_2(ll_row) end event event ue_pz_woodcode_change();IF NOT f_power_ind(1302) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_row Long ll_rqmtrlid dw_2.AcceptText() ll_row = dw_2.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请选择目标物料') RETURN END IF ll_rqmtrlid = dw_2.Object.rqmtrlid[ll_row] Open(w_color_wood_edit) String ls_update,arg_msg ls_update = Message.StringParm IF ls_update = '' THEN RETURN IF uo_sale.uof_pz_change(2,ls_update,& ll_rqmtrlid,arg_msg) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF wf_retr_currenrow_dw_2(ll_row) //wf_rtr_dwmx() end event event ue_pz_woodcode_clear();IF NOT f_power_ind(1302) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_row Long ll_rqmtrlid dw_2.AcceptText() ll_row = dw_2.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请选择目标物料') RETURN END IF ll_rqmtrlid = dw_2.Object.rqmtrlid[ll_row] String ls_update,arg_msg ls_update = '' IF uo_sale.uof_pz_change(2,ls_update,& ll_rqmtrlid,arg_msg) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF wf_retr_currenrow_dw_2(ll_row) //wf_rtr_dwmx() end event event ue_addzy();IF NOT f_power_ind(1304) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '',LS_STR Long uc_row s_inputbox S_SREU uc_row = dw_1.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标订单明细!',information!,ok!) RETURN END IF IF dw_1.Object.u_saletaskmx_flag[uc_row] = 0 THEN MessageBox('提示','订单明细处于待审核状态,不能添加备注!',information!,ok!) RETURN END IF S_SREU.Title = '请输入要补充到备注的内容' S_SREU.OLD_TEXT = '' OpenWithParm(w_inputbox,S_SREU) LS_STR = Message.StringParm IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN IF uo_sale.add_mxdscrp(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],LS_STR,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg) ELSE MessageBox('提示','订单明细添加备注成功!',information!,ok!) wf_refresh_curuc(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],uc_row,arg_msg) END IF end event event ue_create_outware_scll(); IF NOT f_power_ind(1305) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF Open(w_order_ml_storage) Long ll_storageid ll_storageid = Message.DoubleParm IF ll_storageid = 0 THEN RETURN Long cnt String ls_msg Long i,j s_saletask_mtrl s_saletask Long ll_scid dw_1.AcceptText() cnt = 0 FOR i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[i] = 1 & AND dw_1.Object.u_saletaskmx_flag[i] = 1 & AND dw_1.Object.u_saletaskmx_scllflag[i] = 1 THEN FOR j = 1 TO UpperBound(s_saletask.scid) IF s_saletask.scid[j] <> dw_1.Object.scid[i] THEN MessageBox('系统提示','当前选定订单明细存在不同分部!',Information!,OK!) RETURN END IF NEXT cnt++ ll_scid = dw_1.Object.scid[i] s_saletask.scid[cnt] = dw_1.Object.scid[i] s_saletask.taskid[cnt] = dw_1.Object.taskid[i] s_saletask.printid[cnt] = dw_1.Object.printid[i] s_saletask.saletaskcode[cnt] = dw_1.Object.u_saletask_taskcode[i] s_saletask.cusid[cnt] = dw_1.Object.u_saletask_cusid[i] END IF NEXT IF cnt = 0 THEN i = dw_1.GetRow() IF i <= 0 THEN MessageBox('系统提示','请选定当前目标订单明细!',Information!,OK!) RETURN END IF IF Not (dw_1.Object.u_saletaskmx_flag[i] = 1 & AND dw_1.Object.u_saletaskmx_scllflag[i] = 1) THEN MessageBox('系统提示','当前选定订单明细没有用料审!',Information!,OK!) RETURN END IF ll_scid = dw_1.Object.scid[i] s_saletask.scid[1] = dw_1.Object.scid[i] s_saletask.taskid[1] = dw_1.Object.taskid[i] s_saletask.printid[1] = dw_1.Object.printid[i] s_saletask.saletaskcode[1] = dw_1.Object.u_saletask_taskcode[i] s_saletask.cusid[1] = dw_1.Object.u_saletask_cusid[i] END IF IF Not ( f_power_ind(294) OR f_power_ind(1060) ) THEN MessageBox('提示','你没有领料出仓单的使用权限!', Information!, OK! ) RETURN END IF s_edit_index_tran s_tran IF NOT IsValid(w_outware_scll) THEN OpenWithParm(w_outware_scll,s_tran) w_outware_scll.ddlb_scid.uf_selectsc(ll_scid) // w_outware_scll.cur_scid = ll_scid w_outware_scll.cb_add.TriggerEvent(Clicked!) w_outware_scll.dw_uc.Object.u_outware_storageid[w_outware_scll.dw_uc.GetRow()] = ll_storageid w_outware_scll.wf_autoaddmx_salerqmx(s_saletask,ls_msg) END IF end event event ue_setspt();IF NOT f_power_ind(1478) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF s_edit_index_tran s_tran s_tran.b_long = cur_scid s_tran.c_long = cur_status s_tran.d_long = cur_scllflag s_tran.b_string = em_1.Text s_tran.c_string = em_2.Text s_tran.d_string = sle_relcode.Text // 只修改选中的订单 long ll_i, cnt, ll_mx = 0 long ll_scid, ll_taskid, ll_printid cnt = 0 FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN cnt++ END IF NEXT IF cnt = 0 THEN if dw_1.GetRow() <= 0 then MessageBox('提示', '请选择内容') return end if ll_scid = dw_1.Object.scid[dw_1.GetRow()] ll_taskid = dw_1.Object.taskid[dw_1.GetRow()] ll_printid = dw_1.Object.printid[dw_1.GetRow()] ll_mx++ s_tran.arr_string[ll_mx] = string(ll_scid) + '_' + string(ll_taskid) + '_' + string(ll_printid) ELSE FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN ll_scid = dw_1.Object.scid[ll_i] ll_taskid = dw_1.Object.taskid[ll_i] ll_printid = dw_1.Object.printid[ll_i] ll_mx++ s_tran.arr_string[ll_mx] = string(ll_scid) + '_' + string(ll_taskid) + '_' + string(ll_printid) END IF NEXT END IF openwithparm(w_order_ml_spt_change_forall, s_tran) end event event ue_create_buytask();IF NOT f_power_ind(1479) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_scid[],ll_taskid[],ll_printid[] Long ll_cnt = 0 String arg_msg dw_1.AcceptText() Long ch = 0 Long ll_i FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN ch++ END IF NEXT IF ch > 0 THEN FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN IF dw_1.Object.u_saletaskmx_scllflag[ll_i] <> 1 THEN arg_msg = '第'+String(ll_i)+'行,订单编号'+dw_1.Object.u_saletask_taskcode[ll_i]+'产品['+dw_1.Object.u_mtrldef_mtrlcode[ll_i]+']未用料审核' MessageBox(publ_operator, arg_msg) RETURN END IF ll_cnt++ ll_scid[ll_cnt] = dw_1.Object.scid[ll_i] ll_taskid[ll_cnt] = dw_1.Object.taskid[ll_i] ll_printid[ll_cnt] = dw_1.Object.printid[ll_i] END IF NEXT ELSE IF dw_1.GetRow() = 0 THEN RETURN IF dw_1.Object.u_saletaskmx_scllflag[dw_1.GetRow()] <> 1 THEN MessageBox(publ_operator,'该计算订单明细未用料审核,不能操作') RETURN END IF ll_scid[1] = dw_1.Object.scid[dw_1.GetRow()] ll_taskid[1] = dw_1.Object.taskid[dw_1.GetRow()] ll_printid[1] = dw_1.Object.printid[dw_1.GetRow()] END IF IF uo_sale.uof_auto_build_buy_forarr(ll_scid,ll_taskid,ll_printid,arg_msg,TRUE) = 0 THEN MessageBox('提示',arg_msg,information!,ok!) RETURN ELSE MessageBox(publ_operator,arg_msg) END IF wf_rtr_dw4() end event event ue_addmtrl();// //// DONE: 批增物料 // //Long ll_row //long ch = 0 // //s_edit_index_tran s_tran // //FOR ll_row = 1 To dw_1.RowCount() // if dw_1.Object.ch[ll_row] = 1 then // if dw_1.Object.u_saletaskmx_scllflag[ll_row] = 0 then // MessageBox('提示', '第' + string(ll_row) + '行未用料审不能增物料') // return // end if // // ch++ // s_tran.arr_long[ch] = dw_1.Object.scid[ll_row] // s_tran.arr_long2[ch] = dw_1.Object.taskid[ll_row] // s_tran.arr_long3[ch] = dw_1.Object.printid[ll_row] // // end if //NEXT // //if ch = 0 then // ll_row = dw_1.getRow() // if ll_row <= 0 then // MessageBox('提示', '请选择订单明细') // return // end if // // if dw_1.Object.u_saletaskmx_scllflag[ll_row] = 0 then // MessageBox('提示', '第' + string(ll_row) + '行未用料审不能增物料') // return // end if // // ch++ // s_tran.arr_long[ch] = dw_1.Object.scid[ll_row] // s_tran.arr_long2[ch] = dw_1.Object.taskid[ll_row] // s_tran.arr_long3[ch] = dw_1.Object.printid[ll_row] // //end if // //OpenWithParm(w_order_ml_mod_tree_bat, s_tran) end event event ue_create_rqmtrl_chng();// DONE: 批增物料 IF NOT f_power_ind(1493) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF Long ll_row , j Long ch = 0 Long ll_scid s_edit_index_tran s_tran s_saletask_mtrl S_sale_mtrl FOR ll_row = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_row] = 1 THEN IF dw_1.Object.u_saletaskmx_scllflag[ll_row] = 0 THEN MessageBox('提示', '第' + String(ll_row) + '行未用料审不能增物料') RETURN END IF FOR j = 1 TO UpperBound(S_sale_mtrl.scid) IF S_sale_mtrl.scid[j] <> dw_1.Object.scid[ll_row] THEN MessageBox('系统提示','当前选定订单明细存在不同分部!',Information!,OK!) RETURN END IF NEXT ch++ ll_scid = dw_1.Object.scid[ll_row] S_sale_mtrl.scid[ch] = dw_1.Object.scid[ll_row] S_sale_mtrl.mtrlid[ch] = dw_1.Object.mtrlid[ll_row] S_sale_mtrl.mtrlcode[ch] = dw_1.Object.u_mtrldef_mtrlcode[ll_row] S_sale_mtrl.mtrlname[ch] = dw_1.Object.mtrlname[ll_row] S_sale_mtrl.mtrlmode[ch] = dw_1.Object.u_mtrldef_mtrlmode[ll_row] S_sale_mtrl.unit[ch] = dw_1.Object.u_mtrldef_unit[ll_row] S_sale_mtrl.taskid[ch] = dw_1.Object.taskid[ll_row] S_sale_mtrl.taskcode[ch] = dw_1.Object.u_saletask_taskcode[ll_row] S_sale_mtrl.printid[ch] = dw_1.Object.printid[ll_row] S_sale_mtrl.status[ch] = dw_1.Object.u_saletaskmx_status[ll_row] S_sale_mtrl.woodcode[ch] = dw_1.Object.u_saletaskmx_woodcode[ll_row] S_sale_mtrl.pcode[ch] = dw_1.Object.u_saletaskmx_pcode[ll_row] S_sale_mtrl.taskdate[ch] = dw_1.Object.u_saletask_taskdate[ll_row] S_sale_mtrl.requiredate[ch] = dw_1.Object.u_saletask_requiredate[ll_row] S_sale_mtrl.mtrlchangecode[ch] = dw_1.Object.u_saletaskmx_mtrlchangecode[ll_row] S_sale_mtrl.qty[ch] = dw_1.Object.usaleqty[ll_row] END IF NEXT IF ch = 0 THEN ll_row = dw_1.GetRow() IF ll_row <= 0 THEN MessageBox('提示', '请选择订单明细') RETURN END IF IF dw_1.Object.u_saletaskmx_scllflag[ll_row] = 0 THEN MessageBox('提示', '第' + String(ll_row) + '行未用料审不能增物料') RETURN END IF ch++ ll_scid = dw_1.Object.scid[ll_row] S_sale_mtrl.scid[ch] = dw_1.Object.scid[ll_row] S_sale_mtrl.mtrlid[ch] = dw_1.Object.mtrlid[ll_row] S_sale_mtrl.mtrlcode[ch] = dw_1.Object.u_mtrldef_mtrlcode[ll_row] S_sale_mtrl.mtrlname[ch] = dw_1.Object.mtrlname[ll_row] S_sale_mtrl.mtrlmode[ch] = dw_1.Object.u_mtrldef_mtrlmode[ll_row] S_sale_mtrl.unit[ch] = dw_1.Object.u_mtrldef_unit[ll_row] S_sale_mtrl.taskid[ch] = dw_1.Object.taskid[ll_row] S_sale_mtrl.taskcode[ch] = dw_1.Object.u_saletask_taskcode[ll_row] S_sale_mtrl.printid[ch] = dw_1.Object.printid[ll_row] S_sale_mtrl.status[ch] = dw_1.Object.u_saletaskmx_status[ll_row] S_sale_mtrl.woodcode[ch] = dw_1.Object.u_saletaskmx_woodcode[ll_row] S_sale_mtrl.pcode[ch] = dw_1.Object.u_saletaskmx_pcode[ll_row] S_sale_mtrl.taskdate[ch] = dw_1.Object.u_saletask_taskdate[ll_row] S_sale_mtrl.requiredate[ch] = dw_1.Object.u_saletask_requiredate[ll_row] S_sale_mtrl.mtrlchangecode[ch] = dw_1.Object.u_saletaskmx_mtrlchangecode[ll_row] S_sale_mtrl.qty[ch] = dw_1.Object.usaleqty[ll_row] END IF IF NOT f_power_ind(1482) THEN MessageBox('提示','你没有增料单的使用权限!', Information!, OK! ) RETURN END IF IF NOT IsValid(w_order_ml_rqmtrl_chng) THEN OpenWithParm(w_order_ml_rqmtrl_chng, s_tran) w_order_ml_rqmtrl_chng.ddlb_scid.uf_selectsc(ll_scid) w_order_ml_rqmtrl_chng.cb_add.TriggerEvent(Clicked!) w_order_ml_rqmtrl_chng.wf_add_dwchild2(S_sale_mtrl) END IF end event event ue_edit_mrp();IF NOT f_power_ind(1480) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_scid,ll_taskid,ll_printid String arg_msg dw_1.AcceptText() IF dw_1.GetRow() = 0 THEN RETURN IF dw_1.Object.u_saletaskmx_scllflag[dw_1.GetRow()] = 1 THEN MessageBox(publ_operator,'该计算订单明细已用料审核') RETURN END IF s_order_ml_mrp s_ml_mrp,s_ch ll_scid = dw_1.Object.scid[dw_1.GetRow()] ll_taskid = dw_1.Object.taskid[dw_1.GetRow()] ll_printid = dw_1.Object.printid[dw_1.GetRow()] s_ml_mrp.scid = ll_scid s_ml_mrp.taskid = ll_taskid s_ml_mrp.printid = ll_printid s_ml_mrp.dscrp = dw_1.Object.u_saletaskmx_mxdscrp[dw_1.GetRow()] OpenWithParm(w_order_ml_mod_tree,s_ml_mrp) wf_rtr_dwmx() end event event ue_create_orderwfjg();return end event event ue_create_inware_cp();//辅助生成生产进仓单 IF NOT f_power_ind(1494) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF Open(w_order_ml_storage) Long ll_storageid ll_storageid = Message.DoubleParm IF ll_storageid = 0 THEN RETURN Long cnt String ls_msg Long i,j s_saletask_mtrl s_saletask Long ll_scid dw_1.AcceptText() cnt = 0 FOR i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[i] = 1 & AND dw_1.Object.u_saletaskmx_flag[i] = 1 & AND dw_1.Object.u_saletaskmx_scllflag[i] = 1 THEN FOR j = 1 TO UpperBound(s_saletask.scid) IF s_saletask.scid[j] <> dw_1.Object.scid[i] THEN MessageBox('系统提示','当前选定订单明细存在不同分部!',Information!,OK!) RETURN END IF NEXT cnt++ ll_scid = dw_1.Object.scid[i] s_saletask.scid[cnt] = dw_1.Object.scid[i] s_saletask.taskid[cnt] = dw_1.Object.taskid[i] s_saletask.printid[cnt] = dw_1.Object.printid[i] s_saletask.saletaskcode[cnt] = dw_1.Object.u_saletask_taskcode[i] END IF NEXT IF cnt = 0 THEN i = dw_1.GetRow() IF i <= 0 THEN MessageBox('系统提示','请选定当前目标订单明细!',Information!,OK!) RETURN END IF IF Not (dw_1.Object.u_saletaskmx_flag[i] = 1 & AND dw_1.Object.u_saletaskmx_scllflag[i] = 1) THEN MessageBox('系统提示','当前选定订单明细没有用料审!',Information!,OK!) RETURN END IF ll_scid = dw_1.Object.scid[i] s_saletask.scid[1] = dw_1.Object.scid[i] s_saletask.taskid[1] = dw_1.Object.taskid[i] s_saletask.printid[1] = dw_1.Object.printid[i] s_saletask.saletaskcode[1] = dw_1.Object.u_saletask_taskcode[i] END IF IF Not ( f_power_ind(291) OR f_power_ind(1053) ) THEN MessageBox('提示','你没有生产进仓单的使用权限!', Information!, OK! ) RETURN END IF s_edit_index_tran s_tran if not isvalid(w_inware_cp) then OpenWithParm(w_inware_cp,s_tran) w_inware_cp.ddlb_scid.uf_selectsc(ll_scid) w_inware_cp.cb_add.TriggerEvent(Clicked!) w_inware_cp.dw_uc.Object.storageid[w_inware_cp.dw_uc.GetRow()] = ll_storageid w_inware_cp.wf_autoaddmx_salemx(ll_scid,s_saletask,ll_storageid,ls_msg) end if end event event ue_print(); Long ls_msgprintid ls_msgprintid = Message.LongParm SELECT dft_new_dwname,powerid,ifpic INTO :ls_newname,:ls_powerid,:ifpic FROM sys_dft_dwprint_dynamic Where sys_dft_dwprint_dynamic.dwprintid = :ls_msgprintid USING sqlca; IF sqlca.SQLCode <> 0 THEN ls_newname = '' ls_powerid = 0 END IF //--直接打印 IF NOT f_power_ind(7) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF uo_print_preview uo_print IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG Long LS_ROW LS_ROW = dw_1.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!',information!,OK!) RETURN END IF LS_PRMSG.retr_pram_falg = 15 IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_1.Object.u_SaleTask_Status[dw_1.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_order_ml' END IF LS_PRMSG.TAG_TEXT = this.title LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_1.Object.taskid[LS_ROW] uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,OK!) RETURN END IF uo_print.ds_print() //**更新打印次料 f_update_printnum('u_order_ml',1,cur_scid,dw_1.Object.taskid[dw_1.GetRow()],'','',arg_msg,TRUE) end event event ue_viewprint();Long ls_msgprintid ls_msgprintid = Message.LongParm SELECT dft_new_dwname,powerid,auditprint,prownum,ifpic INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum,:ifpic FROM sys_dft_dwprint_dynamic Where sys_dft_dwprint_dynamic.dwprintid = :ls_msgprintid USING sqlca; IF sqlca.SQLCode <> 0 THEN ls_newname = '' ls_powerid = 0 END IF IF NOT f_power_ind(1503) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String ls_id_arr[] Long ll_taskid Long ll_printid Long LS_ROW, i Long ll_scid LS_ROW = dw_1.Find(" ch = 1 ",1, dw_1.RowCount()) IF LS_ROW > 0 THEN DO WHILE LS_ROW > 0 ll_scid = dw_1.Object.scid[LS_ROW] ll_taskid = dw_1.Object.taskid[LS_ROW] ll_printid = dw_1.Object.printid[LS_ROW] i++ ls_id_arr[i] = String(ll_taskid) + ","+String(ll_printid) IF LS_ROW >= dw_1.RowCount() THEN EXIT LS_ROW = dw_1.Find(" ch = 1 ",LS_ROW + 1, dw_1.RowCount()) LOOP ELSE LS_ROW = dw_1.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!',information!,OK!) RETURN END IF ll_scid = dw_1.Object.scid[LS_ROW] ll_taskid = dw_1.Object.taskid[LS_ROW] ll_printid = dw_1.Object.printid[LS_ROW] i++ ls_id_arr[i] = String(ll_taskid) + ","+String(ll_printid) END IF S_print_MSG LS_PRMSG LS_PRMSG.ifpic = ifpic IF ls_newname <> '' THEN // IF li_auditprint = 1 THEN // IF dw_1.Object.u_SaleTask_Status[dw_1.GetRow()] = 0 THEN // MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) // RETURN // END IF // END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_order_ml_print' END IF IF ll_scid < 0 THEN MessageBox('提示','请选择分部!',information!,OK!) RETURN END IF LS_PRMSG.TAG_TEXT = THIS.Title LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 17 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = cur_scid LS_PRMSG.a_string_arr = ls_id_arr LS_PRMSG.rowcnt = i OpenWithParm(w_publ_preview,LS_PRMSG) ////**更新打印次料 //String arg_msg //printnum = Message.DoubleParm //f_update_printnum('u_order_ml',printnum,dw_1.Object.scid[dw_1.GetRow()],dw_1.Object.taskid[dw_1.GetRow()],'','',arg_msg,TRUE) end event event ue_sentdataout_mrpmx();IF NOT f_power_ind(1520) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF OpenWithParm(w_sentdataout,dw_6) end event event ue_usual_query_retr();string ls_querystrpart='' string ls_newselect ls_newselect=lower(is_ori_select) if trim(sle_relcode.text)<>'' then if pos(trim(sle_relcode.text),'%')=0 then ls_querystrpart="(u_saletask.taskcode like '%"+trim(sle_relcode.text)+"%')" else ls_querystrpart="(u_saletask.taskcode like '"+trim(sle_relcode.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 dw_1.Modify("datawindow.table.select = ~"" + ls_newselect+ "~"") //wf_retrieveuc(dw_1,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event retrieve_pageretr();DateTime ld_firstdate,ld_enddate //String ls_relcode //Int li_otype ld_firstdate = DateTime(Date(em_1.Text),Time(0)) ld_enddate = DateTime(Date(em_2.Text),Time('23:59:59')) //ls_relcode = '%'+Trim(sle_relcode.Text)+'%' Int li_option_outrep IF sys_power_issuper THEN li_option_outrep = 0 ELSE li_option_outrep = sys_option_outrep END IF IF dw_1.Retrieve(cur_scid,cur_salestatus,cur_status,cur_scllflag,ld_firstdate,ld_enddate, sys_areaid,sys_user_outrep, li_option_outrep) > 0 THEN dw_1.SetFocus() dw_1.SelectRow(0,FALSE) dw_1.SelectRow(1,TRUE) wf_rtr_dwmx() END IF return end event public function integer wf_rtr_dw2 ();Long ll_row Long ll_scid Long ll_taskid long ll_printid ll_row = dw_1.GetRow() IF ll_row <= 0 THEN dw_2.Reset() ELSE ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid= dw_1.Object.printid[ll_row] IF dw_2.Retrieve(ll_scid,ll_taskid,ll_printid) > 0 THEN dw_2.SelectRow(0,FALSE) dw_2.SelectRow(1,TRUE) END IF END IF RETURN 1 end function public function integer wf_refresh_curuc (long arg_scid, long arg_taskid, long arg_printid, long arg_row, ref string arg_msg);Int rslt = 1 Long flag Long scllflag String auditingrep DateTime auditingdate String scllrep DateTime sclldate string mxdscrp SELECT u_SaleTaskMx.flag, u_SaleTaskMx.scllflag, u_SaleTaskMx.auditingrep, u_SaleTaskMx.auditingdate, u_SaleTaskMx.scllrep, u_SaleTaskMx.sclldate, u_saletaskmx.mxdscrp INTO :flag, :scllflag, :auditingrep, :auditingdate, :scllrep, :sclldate, :mxdscrp FROM u_SaleTaskMx Left OUTER join u_SaleTask ON u_SaleTaskMx.TaskID = u_SaleTask.TaskID AND u_SaleTaskMx.scid = u_SaleTask.scid , u_mtrldef WHERE ( u_SaleTaskMx.MtrlID = u_mtrldef.MtrlID ) AND ( u_SaleTask.status = 1 ) AND ( u_SaleTaskMx.scid = :arg_scid ) AND ( u_SaleTaskMx.orderqty > 0 ) AND ( u_SaleTaskMx.TaskID = :arg_taskid ) AND ( u_SaleTaskMx.printid = :arg_printid ) ; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询订单明细信息失败!' GOTO ext END IF dw_1.Object.u_SaleTaskMx_flag[arg_row] = flag dw_1.Object.u_SaleTaskMx_scllflag[arg_row] = scllflag dw_1.Object.u_SaleTaskMx_auditingrep[arg_row] = auditingrep dw_1.Object.u_SaleTaskMx_auditingdate[arg_row] = auditingdate dw_1.Object.u_SaleTaskMx_scllrep[arg_row] = scllrep dw_1.Object.u_SaleTaskMx_sclldate[arg_row] = sclldate dw_1.Object.u_saletaskmx_mxdscrp[arg_row] = mxdscrp ext: RETURN rslt end function public subroutine wf_rtr_dwmx ();wf_rtr_dw2() wf_rtr_dw3() wf_rtr_dw4() wf_rtr_dw5() wf_rtr_dw6() wf_rtr_dw7() end subroutine public function integer wf_cmp (long arg_scid, long arg_taskid, long arg_printid, ref string arg_msg);Long rslt = 1 Decimal orderqty Long mtrlid string ls_status,ls_woodcode,ls_pcode SELECT u_saletaskmx.orderqty, u_saletaskmx.mtrlid, u_saletaskmx.status, u_saletaskmx.woodcode, u_saletaskmx.pcode INTO :orderqty, :mtrlid, :ls_status, :ls_woodcode, :ls_pcode FROM u_saletaskmx WHERE u_saletaskmx.scid = :Arg_scid AND u_saletaskmx.taskid = :arg_taskid AND u_saletaskmx.printid = :arg_printid ; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询订单明细信息失败' GOTO ext END IF DELETE FROM u_saleRqMtrl_scll WHERE u_saleRqMtrl_scll.scid = :Arg_scid AND u_saleRqMtrl_scll.taskid = :arg_taskid AND u_saleRqMtrl_scll.printid = :arg_printid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '删除订单明细对应的需求明细失败' GOTO ext END IF IF pf_cmp(Arg_scid,arg_taskid,arg_printid,mtrlid,orderqty,ls_status,ls_woodcode,ls_pcode,1) = 0 THEN rslt = 0 arg_msg = '生成订单明细对应的需求明细失败' GOTO ext END IF ext: IF rslt = 0 THEN ROLLBACK; ELSE COMMIT; END IF RETURN rslt end function public function integer pf_cmp (long arg_scid, long arg_taskid, long arg_printid, long arg_mtrlid, decimal arg_qty, string arg_status, string arg_woodcode, string arg_pcode, integer arg_type);Long it_mxbt,i,mtrlorigin,ls_newid s_outwaremx outwaremx[] String ls_msg SELECT mtrlorigin INTO :mtrlorigin FROM u_mtrldef Where mtrlid = :arg_mtrlid; IF sqlca.SQLCode <> 0 THEN RETURN 0 SELECT count(*) INTO :i FROM u_PrdPF Where u_PrdPF.mtrlid = :arg_mtrlid; IF sqlca.SQLCode <> 0 THEN RETURN 0 IF i = 0 OR mtrlorigin = 2 THEN IF arg_type = 1 THEN RETURN 1 ls_newid = f_sys_scidentity(arg_scid,"u_saleRqMtrl_scll","rqmtrlid",ls_msg,TRUE,sqlca) IF ls_newid <= 0 THEN RETURN 0 END IF ////插入运算结果表 INSERT INTO u_saleRqMtrl_scll ( rqmtrlid, scid, taskID, MtrlID, printid, trueRqqty, status, woodcode, pcode ) VALUES ( :ls_newid, :arg_scid, :arg_taskID, :arg_mtrlid, :arg_printid, :arg_qty, :arg_status, :arg_woodcode, :arg_pcode ) ; IF sqlca.SQLCode <> 0 THEN RETURN 0 END IF it_mxbt = 1 DECLARE cur_outwaremx CURSOR FOR SELECT u_PrdPF.SonMtrlid, u_mtrldef.mtrlcode , u_mtrldef.mtrlname , u_mtrldef.mtrlmode, u_mtrldef.unit , u_mtrldef.mtrlsectype, u_mtrldef.zxmtrlmode, u_PrdPF.status, u_PrdPF.woodcode, u_PrdPF.pcode, reqty = case when u_PrdPF.sonloss = 1 then 0 else :arg_qty * u_PrdPF.Sonscale /( 1 - u_PrdPF.sonloss) + u_PrdPF.sondecloss END FROM u_PrdPF , u_mtrldef WHERE ( u_PrdPF.SonMtrlid = u_mtrldef.mtrlid ) AND ( u_PrdPF.mtrlid = :arg_mtrlid ) ; OPEN cur_outwaremx; FETCH cur_outwaremx INTO :outwaremx[it_mxbt].Mtrlid, :outwaremx[it_mxbt].mtrlcode, :outwaremx[it_mxbt].mtrlname, :outwaremx[it_mxbt].mtrlmode, :outwaremx[it_mxbt].unit, :outwaremx[it_mxbt].mtrlsectype, :outwaremx[it_mxbt].zxmtrlmode, :outwaremx[it_mxbt].status, :outwaremx[it_mxbt].woodcode, :outwaremx[it_mxbt].pcode, :outwaremx[it_mxbt].qty; DO WHILE sqlca.SQLCode = 0 it_mxbt++ FETCH cur_outwaremx INTO :outwaremx[it_mxbt].Mtrlid, :outwaremx[it_mxbt].mtrlcode, :outwaremx[it_mxbt].mtrlname, :outwaremx[it_mxbt].mtrlmode, :outwaremx[it_mxbt].mtrlsectype, :outwaremx[it_mxbt].zxmtrlmode, :outwaremx[it_mxbt].unit, :outwaremx[it_mxbt].status, :outwaremx[it_mxbt].woodcode, :outwaremx[it_mxbt].pcode, :outwaremx[it_mxbt].qty; LOOP CLOSE cur_outwaremx; it_mxbt = it_mxbt - 1 FOR i = 1 TO it_mxbt IF pf_cmp(arg_scid,arg_taskID,arg_printid,outwaremx[i].mtrlid,outwaremx[i].qty,outwaremx[i].status,outwaremx[i].woodcode,outwaremx[i].pcode,0) = 0 THEN RETURN 0 END IF NEXT RETURN 1 end function public function integer wf_rtr_dw1 ();DateTime ld_firstdate,ld_enddate String ls_relcode Int li_otype ld_firstdate = DateTime(Date(em_1.Text),Time(0)) ld_enddate = DateTime(Date(em_2.Text),Time('23:59:59')) ls_relcode = '%'+Trim(sle_relcode.Text)+'%' IF dw_1.Retrieve(cur_scid,cur_status,cur_scllflag,ld_firstdate,ld_enddate,ls_relcode, sys_user_outrep, sys_option_outrep) > 0 THEN dw_1.SetFocus() dw_1.SelectRow(0,FALSE) dw_1.SelectRow(1,TRUE) END IF RETURN 1 end function public function integer wf_rtr_dw3 ();Long ll_row Long ll_scid Long ll_taskid long ll_printid ll_row = dw_1.GetRow() IF ll_row <= 0 THEN dw_3.Reset() ELSE ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid= dw_1.Object.printid[ll_row] IF dw_3.Retrieve(ll_scid,ll_taskid,ll_printid) > 0 THEN dw_3.SelectRow(0,FALSE) dw_3.SelectRow(1,TRUE) END IF END IF RETURN 1 end function public function integer wf_flagstatus_rf ();Long pagerert_row Int li_flag,li_scllflag pagerert_row = dw_1.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = FALSE cb_notpermit.Enabled = FALSE cb_audit_scll.Enabled = FALSE cb_caudit_scll.Enabled = FALSE GOTO ext END IF li_flag = dw_1.Object.u_saletaskmx_flag[pagerert_row] li_scllflag = dw_1.Object.u_saletaskmx_scllflag[pagerert_row] IF li_flag = 0 THEN cb_auditing.Enabled = TRUE cb_notpermit.Enabled = FALSE cb_audit_scll.Enabled = FALSE cb_caudit_scll.Enabled = FALSE cb_reccl.Enabled = FALSE cb_reccl_edit.Enabled = FALSE cb_reccl.text = "计算用料" ELSEIF li_scllflag = 0 THEN cb_auditing.Enabled = FALSE cb_notpermit.Enabled = TRUE cb_audit_scll.Enabled = TRUE cb_caudit_scll.Enabled = FALSE cb_reccl.Enabled = TRUE cb_reccl_edit.Enabled = TRUE cb_reccl.text = "重算用料" ELSEIF li_scllflag = 1 THEN cb_auditing.Enabled = FALSE cb_notpermit.Enabled = FALSE cb_audit_scll.Enabled = FALSE cb_caudit_scll.Enabled = TRUE cb_reccl.Enabled = FALSE cb_reccl_edit.Enabled = FALSE cb_reccl.text = "计算用料" END IF cb_reccl.TriggerEvent('ue_textchange') ext: RETURN 0 end function public function integer wf_rtr_dw4 ();Long ll_row Long ll_scid Long ll_taskid,ll_printid ll_row = dw_1.GetRow() IF ll_row <= 0 THEN dw_4.Reset() ELSE ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid= dw_1.Object.printid[ll_row] IF dw_4.Retrieve(ll_taskid,ll_scid,ll_printid) > 0 THEN dw_4.SelectRow(0,FALSE) dw_4.SelectRow(1,TRUE) END IF END IF RETURN 1 end function public function integer wf_rtr_dw5 ();Long ll_row Long ll_scid Long ll_taskid,ll_printid ll_row = dw_1.GetRow() IF ll_row <= 0 THEN dw_5.Reset() ELSE ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid= dw_1.Object.printid[ll_row] IF dw_5.Retrieve(ll_taskid,ll_scid,ll_printid) > 0 THEN dw_5.SelectRow(0,FALSE) dw_5.SelectRow(1,TRUE) END IF END IF RETURN 1 end function public function integer wf_rtr_dw6 ();Long ll_row Long ll_scid Long ll_taskid,ll_printid ll_row = dw_1.GetRow() IF ll_row <= 0 THEN dw_6.Reset() ELSE ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid= dw_1.Object.printid[ll_row] IF dw_6.Retrieve(ll_taskid,ll_scid,ll_printid) > 0 THEN dw_6.SelectRow(0,FALSE) dw_6.SelectRow(1,TRUE) END IF END IF RETURN 1 end function public subroutine wf_retrieveuc (datawindow arg_dw, string arg_newselect); arg_dw.Modify("datawindow.table.select = ~"" + arg_newselect+ "~"") end subroutine public function window getparentwindow ();return this end function public subroutine wf_retr_currenrow_dw_2 (long arg_row);if arg_row <= 0 then return if arg_row > dw_2.rowcount() then return long ll_rqmtrlid ll_rqmtrlid = dw_2.object.rqmtrlid[arg_row] decimal lde_truerqqty, lde_dstrqty string ls_status, ls_woodcode, ls_pcode integer li_ifchanged,li_zlflag decimal lde_truerqqty_ori, lde_wsdstrqty, lde_notdstrqty, lde_sum_noalocqty SELECT u_saleRqMtrl_scll.trueRqqty, u_saleRqMtrl_scll.DstrQty, u_saleRqMtrl_scll.status, u_saleRqMtrl_scll.woodcode, u_saleRqMtrl_scll.pcode, u_saleRqMtrl_scll.ifchanged, u_saleRqMtrl_scll.truerqqty_ori, u_saleRqMtrl_scll.wsdstrqty, u_saleRqMtrl_scll.truerqqty - u_saleRqMtrl_scll.DstrQty as notDstrQty, uv_mtrlware_noallocqty_mtrlid_3pz.sum_noallocqty, case when isnull(uv_mtrlware_noallocqty_mtrlid_3pz.sum_noallocqty, 0) > (u_saleRqMtrl_scll.truerqqty - u_saleRqMtrl_scll.DstrQty) then 1 else 0 end as zlflag into :lde_truerqqty, :lde_dstrqty, :ls_status, :ls_woodcode, :ls_pcode, :li_ifchanged, :lde_truerqqty_ori, :lde_wsdstrqty, :lde_notdstrqty, :lde_sum_noalocqty, :li_zlflag FROM u_saleRqMtrl_scll INNER JOIN u_mtrldef ON u_saleRqMtrl_scll.MtrlID = u_mtrldef.mtrlid left outer join uv_mtrlware_noallocqty_mtrlid_3pz on uv_mtrlware_noallocqty_mtrlid_3pz.scid = u_saleRqMtrl_scll.scid and uv_mtrlware_noallocqty_mtrlid_3pz.mtrlid = u_saleRqMtrl_scll.mtrlid and uv_mtrlware_noallocqty_mtrlid_3pz.status = u_saleRqMtrl_scll.status and uv_mtrlware_noallocqty_mtrlid_3pz.woodcode = u_saleRqMtrl_scll.woodcode and uv_mtrlware_noallocqty_mtrlid_3pz.pcode = u_saleRqMtrl_scll.pcode where u_saleRqMtrl_scll.rqmtrlid = :ll_rqmtrlid; if sqlca.sqlcode <> 0 then return end if dw_2.object.truerqqty[arg_row] = lde_truerqqty dw_2.object.dstrqty[arg_row] = lde_dstrqty dw_2.object.status[arg_row] = ls_status dw_2.object.woodcode[arg_row] = ls_woodcode dw_2.object.pcode[arg_row] = ls_pcode dw_2.object.ifchanged[arg_row] = li_ifchanged //dw_2.object.truerqqty[arg_row] = lde_truerqqty_ori //dw_2.object.truerqqty[arg_row] = lde_wsdstrqty dw_2.object.notdstrqty[arg_row] = lde_notdstrqty dw_2.object.uv_mtrlware_noallocqty_mtrlid_3pz_sum_noallocqty[arg_row] = lde_sum_noalocqty //dw_2.object.truerqqty[arg_row] = li_zlflag end subroutine public function integer wf_rtr_dw7 (); Long ll_row Long ll_scid Long ll_taskid,ll_printid ll_row = dw_1.GetRow() IF ll_row <= 0 THEN dw_7.Reset() ELSE ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid= dw_1.Object.printid[ll_row] IF dw_7.Retrieve(ll_taskid,ll_scid,ll_printid) > 0 THEN dw_7.SelectRow(0,FALSE) dw_7.SelectRow(1,TRUE) END IF END IF RETURN 1 end function on w_order_ml.create int iCurrent call super::create this.cb_auditing=create cb_auditing this.cb_notpermit=create cb_notpermit this.cb_audit_scll=create cb_audit_scll this.cb_caudit_scll=create cb_caudit_scll this.st_6=create st_6 this.ddlb_status=create ddlb_status this.st_7=create st_7 this.ddlb_1=create ddlb_1 this.cbx_all=create cbx_all this.ddlb_scid=create ddlb_scid this.st_2=create st_2 this.st_1=create st_1 this.sle_relcode=create sle_relcode this.tab_1=create tab_1 this.cb_3=create cb_3 this.cb_11=create cb_11 this.cb_reccl=create cb_reccl this.cb_reccl_edit=create cb_reccl_edit this.cbx_chk_zero=create cbx_chk_zero this.cb_viewprint=create cb_viewprint this.st_5=create st_5 this.ddlb_salestatus=create ddlb_salestatus iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cb_auditing this.Control[iCurrent+2]=this.cb_notpermit this.Control[iCurrent+3]=this.cb_audit_scll this.Control[iCurrent+4]=this.cb_caudit_scll this.Control[iCurrent+5]=this.st_6 this.Control[iCurrent+6]=this.ddlb_status this.Control[iCurrent+7]=this.st_7 this.Control[iCurrent+8]=this.ddlb_1 this.Control[iCurrent+9]=this.cbx_all this.Control[iCurrent+10]=this.ddlb_scid this.Control[iCurrent+11]=this.st_2 this.Control[iCurrent+12]=this.st_1 this.Control[iCurrent+13]=this.sle_relcode this.Control[iCurrent+14]=this.tab_1 this.Control[iCurrent+15]=this.cb_3 this.Control[iCurrent+16]=this.cb_11 this.Control[iCurrent+17]=this.cb_reccl this.Control[iCurrent+18]=this.cb_reccl_edit this.Control[iCurrent+19]=this.cbx_chk_zero this.Control[iCurrent+20]=this.cb_viewprint this.Control[iCurrent+21]=this.st_5 this.Control[iCurrent+22]=this.ddlb_salestatus end on on w_order_ml.destroy call super::destroy destroy(this.cb_auditing) destroy(this.cb_notpermit) destroy(this.cb_audit_scll) destroy(this.cb_caudit_scll) destroy(this.st_6) destroy(this.ddlb_status) destroy(this.st_7) destroy(this.ddlb_1) destroy(this.cbx_all) destroy(this.ddlb_scid) destroy(this.st_2) destroy(this.st_1) destroy(this.sle_relcode) destroy(this.tab_1) destroy(this.cb_3) destroy(this.cb_11) destroy(this.cb_reccl) destroy(this.cb_reccl_edit) destroy(this.cbx_chk_zero) destroy(this.cb_viewprint) destroy(this.st_5) destroy(this.ddlb_salestatus) end on event resize;ln_bar.EndX = THIS.Width ln_bar2.EndX = THIS.Width ln_1.EndX = THIS.Width ln_2.EndX = THIS.Width ln_3.EndX = THIS.Width ln_4.EndX = THIS.Width r_bar.Width = THIS.Width Long w_width,w_height w_width = 4020 w_height = 2300 IF newwidth < w_width THEN THIS.Width = w_width IF newheight < w_height THEN THIS.Height = w_height dw_1.Width = THIS.Width - dw_1.X - 40 dw_1.Height = 50 * (THIS.Height - dw_1.y ) / 100 tab_1.y = dw_1.y + dw_1.Height + 5 tab_1.Width = THIS.Width - tab_1.X - 40 tab_1.Height = THIS.Height - tab_1.y - 140 dw_2.Width = tab_1.Width - dw_2.x - 40 dw_2.height = tab_1.Height - dw_2.y - 100 dw_3.Width = tab_1.Width - dw_3.x - 40 dw_3.height = tab_1.Height - dw_3.y - 100 dw_4.Width = tab_1.Width - dw_4.x - 40 dw_4.height = tab_1.Height - dw_4.y - 100 dw_5.Width = tab_1.Width - dw_5.x - 40 dw_5.height = tab_1.Height - dw_5.y - 100 dw_6.Width = tab_1.Width - dw_6.x - 40 dw_6.height = tab_1.Height - dw_6.y - 100 dw_7.Width = tab_1.Width - dw_7.x - 40 dw_7.height = tab_1.Height - dw_7.y - 100 end event event close;call super::close;f_SetProfileString(SYS_empid, this.classname(), "status", string(cur_status)) f_SetProfileString(SYS_empid, this.classname(), "scllflag", string(cur_scllflag)) DESTROY uo_ml_mrp DESTROY uo_sale end event event ue_before_open;call super::ue_before_open;dw_2 = tab_1.tabpage_1.dw_2 dw_2.SetTransObject(sqlca) dw_3 = tab_1.tabpage_2.dw_3 dw_3.SetTransObject(sqlca) dw_4 = tab_1.tabpage_4.dw_4 dw_4.SetTransObject(sqlca) dw_5 = tab_1.tabpage_5.dw_5 dw_5.SetTransObject(sqlca) dw_6 = tab_1.tabpage_3.dw_mrpmx dw_6.SetTransObject(sqlca) dw_7 = tab_1.tabpage_6.dw_self dw_7.SetTransObject(sqlca) is_ori_select = dw_1.Describe("DataWindow.Table.Select") uo_sale = create uo_order_ml uo_sale.commit_transaction = sqlca uo_ml_mrp = CREATE uo_order_ml_mrp end event event ue_before_openretrieve;call super::ue_before_openretrieve;EM_2.Text = String(Today(),'YYYY-MM-DD') EM_1.Text = String(RelativeDate ( Today(), -15 ),'YYYY-MM-DD') end event event open;call super::open;em_1.Text = string(year(today()))+'-'+string(month(today()))+'-01' end event type cb_func from w_publ_easyq`cb_func within w_order_ml end type event cb_func::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF if_ue_retr THEN menustr = "Text=高级查询~tEvent=ue_retr" END IF IF if_ue_filter THEN IF Len(Trim(menustr)) = 0 THEN menustr = "Text=高级筛选~tEvent=ue_filter" ELSE menustr = menustr + "|" + "Text=高级筛选~tEvent=ue_filter" END IF END IF IF if_ue_sort THEN IF Len(Trim(menustr)) = 0 THEN menustr = "Text=高级排序~tEvent=ue_sort" ELSE menustr = menustr + "|" + "Text=高级排序~tEvent=ue_sort" END IF END IF IF menustr <> "" AND if_ue_sentdataout THEN menustr = menustr + "|" + "Text=-" IF if_ue_sentdataout THEN menustr = menustr + "|" + "Text=数据发送-订单~tEvent=ue_sentdataout" menustr = menustr + "|" + "Text=数据发送-运算结果~tEvent=ue_sentdataout_mrpmx" 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_exit from w_publ_easyq`cb_exit within w_order_ml integer x = 2546 end type type cb_2 from w_publ_easyq`cb_2 within w_order_ml boolean visible = false integer x = 3145 end type event cb_2::clicked;IF NOT f_power_ind(1503) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF DW_1.RowCount() >= 1 THEN cbx_YL.Checked = TRUE cbx_YL.TriggerEvent(Clicked!) OpenWithParm(w_sys_printpagesetting,DW_1) ELSE MessageBox('NO','数据窗口中没有任何记录,不能打印!') END IF IF Trim(DW_1.DataObject) = '' THEN RETURN f_SetProfileString (sys_empid,DW_1.DataObject, "MARGIN_TOP", String(DW_1.Object.DataWindow.Print.MARGIN.Top)) f_SetProfileString (sys_empid,DW_1.DataObject, "MARGIN_LEFT", String(DW_1.Object.DataWindow.Print.MARGIN.Left)) f_SetProfileString (sys_empid,DW_1.DataObject, "MARGIN_BOTTOM", String(DW_1.Object.DataWindow.Print.MARGIN.BOTTOM)) f_SetProfileString (sys_empid,DW_1.DataObject, "MARGIN_RIGHT", String(DW_1.Object.DataWindow.Print.MARGIN.Right)) end event type cb_psetup from w_publ_easyq`cb_psetup within w_order_ml boolean visible = false integer x = 2889 end type type cb_1 from w_publ_easyq`cb_1 within w_order_ml end type event cb_1::clicked;call super::clicked;parent.triggerevent("retrieve_pageretr") //wf_rtr_dw1() end event type st_3 from w_publ_easyq`st_3 within w_order_ml integer y = 324 end type type st_4 from w_publ_easyq`st_4 within w_order_ml integer y = 324 end type type em_1 from w_publ_easyq`em_1 within w_order_ml integer y = 308 end type type em_2 from w_publ_easyq`em_2 within w_order_ml integer y = 308 end type type ddlb_yl from w_publ_easyq`ddlb_yl within w_order_ml boolean visible = false integer x = 3813 integer y = 44 end type type cbx_yl from w_publ_easyq`cbx_yl within w_order_ml boolean visible = false integer x = 3607 integer y = 48 end type type dw_1 from w_publ_easyq`dw_1 within w_order_ml integer y = 416 integer width = 4000 integer height = 976 string dataobject = "dw_order_ml" end type event dw_1::clicked;call super::clicked;IF row > 0 THEN THIS.SetRow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF end event event dw_1::rowfocuschanged;call super::rowfocuschanged;wf_rtr_dwmx() wf_flagstatus_rf() end event type sle_mtrl from w_publ_easyq`sle_mtrl within w_order_ml end type type sle_cust from w_publ_easyq`sle_cust within w_order_ml end type type st_mtrl from w_publ_easyq`st_mtrl within w_order_ml end type type st_cust from w_publ_easyq`st_cust within w_order_ml end type type cbx_loginretr from w_publ_easyq`cbx_loginretr within w_order_ml end type type pb_em1 from w_publ_easyq`pb_em1 within w_order_ml integer y = 308 end type type pb_em2 from w_publ_easyq`pb_em2 within w_order_ml integer y = 308 end type type pb_2 from w_publ_easyq`pb_2 within w_order_ml integer y = 308 end type type cb_help from w_publ_easyq`cb_help within w_order_ml integer x = 2395 end type type cb_copyself from w_publ_easyq`cb_copyself within w_order_ml integer x = 1947 end type type gb_1 from w_publ_easyq`gb_1 within w_order_ml end type type ln_bar from w_publ_easyq`ln_bar within w_order_ml end type type ln_bar2 from w_publ_easyq`ln_bar2 within w_order_ml end type type r_bar from w_publ_easyq`r_bar within w_order_ml integer x = 1367 end type type ln_1 from w_publ_easyq`ln_1 within w_order_ml end type type ln_2 from w_publ_easyq`ln_2 within w_order_ml end type type ln_3 from w_publ_easyq`ln_3 within w_order_ml end type type ln_4 from w_publ_easyq`ln_4 within w_order_ml end type type cb_auditing from uo_imflatbutton within w_order_ml integer x = 306 integer width = 192 integer height = 164 integer taborder = 40 boolean bringtotop = true string text = "审核&F" string normalpicname = "audit.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF Not f_power_ind(1296) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF s_order_ml_rqmtrl s_ref_mtrl,s_ref_null s_order_ml_rqmtrl s_mtrl,s_mtrl_tree String arg_msg,ls_errmsg,arg_msg_tmp = '',ls_ordercode Long uc_row,cnt,cnt_1,ll_i,cnt_fail Long ll_scid,ll_taskid,ll_printid Boolean b_ifcommit Long ll_fail = 0,ll_suc = 0 Long ll_cnt_lp = 0 Long cnt_if_mrp Long i Long ll_j Long ch_tree, ch dw_1.AcceptText() cnt = 0 FOR ll_i = 1 To dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN cnt++ END IF NEXT IF cnt = 0 THEN uc_row = dw_1.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标订单明细!',Information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要对当前订单明细作审核吗?",Question!,YesNo! ) = 2 THEN RETURN //审核 IF uo_sale.salemxprimt(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],publ_operator,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) ELSE wf_refresh_curuc(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],uc_row,arg_msg) IF f_power_ind(1300) THEN //运算 cb_reccl.TriggerEvent(Clicked!) END IF IF f_power_ind(1378) THEN //生成工序 tab_1.tabpage_2.cb_6.TriggerEvent(Clicked!) END IF END IF ELSE IF MessageBox ("询问","是否确定要对选中订单明细作批审核吗?",Question!,YesNo! ) = 2 THEN RETURN Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(cnt) FOR ll_i = 1 To dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN ll_scid = dw_1.Object.scid[ll_i] ll_taskid = dw_1.Object.taskid[ll_i] ll_printid = dw_1.Object.printid[ll_i] ll_cnt_lp++ w_sys_wait_jdt.st_msg.Text = ls_ordercode + " 正在审核..." //进度信息 w_sys_wait_jdt.wf_inc(ll_cnt_lp) wf_refresh_curuc(ll_scid,ll_taskid,ll_printid,ll_i,arg_msg) IF uo_sale.salemxprimt(ll_scid,ll_taskid,ll_printid,publ_operator,arg_msg_tmp,True) = 0 THEN arg_msg = arg_msg + ls_ordercode + '审核失败原因: ' + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE ELSE wf_refresh_curuc(ll_scid,ll_taskid,ll_printid,ll_i,arg_msg_tmp) END IF //计算 IF f_power_ind(1300) THEN // IF uo_sale.uof_cmp(ll_scid,ll_taskid,ll_printid,arg_msg,TRUE) = 0 THEN // arg_msg_tmp = arg_msg_tmp + '~N' + '第' + String(ll_i) + '行,' + arg_msg // ll_fail++ // END IF //运算 IF uo_ml_mrp.uof_check_dstrqty(ll_scid,ll_taskid,ll_printid,arg_msg_tmp) = 0 THEN arg_msg = arg_msg + ls_ordercode + '运算失败原因: ' + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE END IF SELECT count(*) INTO :cnt_if_mrp FROM u_OrderRqMtrl_tree WHERE scid = :ll_scid AND taskid = :ll_taskid And printid = :ll_printid; IF sqlca.SQLCode <> 0 THEN arg_msg = arg_msg + ls_ordercode + '运算失败原因: 查询生产计划是否已运算失败,'+sqlca.SQLErrText+ '~r~n' ll_fail++ CONTINUE END IF IF cnt_if_mrp = 0 THEN //没运算过的 s_ref_mtrl = s_ref_null s_mtrl = s_ref_null s_mtrl_tree = s_ref_null ch_tree = 0 ch = 0 uo_ml_mrp.deep = 0 IF uo_ml_mrp.uof_cmpl_rqmtrl(dw_1.Object.scid[ll_i],& dw_1.Object.taskid[ll_i],& dw_1.Object.printid[ll_i],& 0,& dw_1.Object.mtrlid[ll_i],& dw_1.Object.u_saletaskmx_status[ll_i],& dw_1.Object.u_saletaskmx_woodcode[ll_i],& dw_1.Object.u_saletaskmx_pcode[ll_i],& dw_1.Object.u_saletaskmx_orderqty[ll_i],& 0,& 0,& s_ref_mtrl,arg_msg_tmp,0,'') = 0 THEN arg_msg = arg_msg + ls_ordercode + '运算失败原因:计算需求失败,'+arg_msg_tmp ll_fail++ CONTINUE END IF IF uo_ml_mrp.uof_add_rqmtrl(s_ref_mtrl,False,arg_msg_tmp) = 0 THEN arg_msg = arg_msg + ls_ordercode + '运算失败原因:保存物料需求表失败,'+arg_msg_tmp ll_fail++ CONTINUE END IF IF uo_ml_mrp.uof_add_rqmtrl_tree(s_ref_mtrl,False,arg_msg_tmp) = 0 THEN arg_msg = arg_msg + ls_ordercode + '运算失败原因:保存物料需求结构表失败,'+arg_msg_tmp ll_fail++ CONTINUE END IF IF uo_ml_mrp.uof_del_rqmtrl_scll(ll_scid,ll_taskid,ll_printid,False,arg_msg_tmp) = 0 THEN arg_msg = arg_msg + ls_ordercode + '运算失败原因:删除领料明细表失败,'+arg_msg_tmp ll_fail++ CONTINUE END IF IF uo_ml_mrp.uof_add_rqmtrl_scll(s_ref_mtrl,True,arg_msg_tmp) = 0 THEN arg_msg = arg_msg + ls_ordercode + '运算失败原因:保存用料明细表失败,'+arg_msg_tmp ll_fail++ CONTINUE END IF // FOR ll_j = 1 To UpperBound(s_ref_mtrl.mtrlid) // IF s_ref_mtrl.ifmainmtrlid[ll_j] = 1 THEN CONTINUE; // ch_tree++ // s_mtrl_tree.taskid[ch_tree] = s_ref_mtrl.taskid[ll_j] // s_mtrl_tree.printid[ch_tree] = s_ref_mtrl.printid[ll_j] // s_mtrl_tree.scid[ch_tree] = s_ref_mtrl.scid[ll_j] // s_mtrl_tree.mtrlid[ch_tree] = s_ref_mtrl.mtrlid[ll_j] // s_mtrl_tree.ifmainmtrlid[ch_tree] = s_ref_mtrl.ifmainmtrlid[ll_j] // s_mtrl_tree.plantype[ch_tree] = s_ref_mtrl.plantype[ll_j] // s_mtrl_tree.qty[ch_tree] = s_ref_mtrl.qty[ll_j] // s_mtrl_tree.cmplqty[ch_tree] = s_ref_mtrl.cmplqty[ll_j] // s_mtrl_tree.mqty[ch_tree] = s_ref_mtrl.mqty[ll_j] // s_mtrl_tree.bqty[ch_tree] = s_ref_mtrl.bqty[ll_j] // s_mtrl_tree.wqty[ch_tree] = s_ref_mtrl.wqty[ll_j] // s_mtrl_tree.pqty[ch_tree] = s_ref_mtrl.pqty[ll_j] // // s_mtrl_tree.produce_scid[ch_tree] = s_ref_mtrl.produce_scid[ll_j] // s_mtrl_tree.produce_wrkgrpid[ch_tree] = s_ref_mtrl.produce_wrkgrpid[ll_j] // s_mtrl_tree.wrkgrpid_scll[ch_tree] = s_ref_mtrl.produce_wrkgrpid[ll_j] // s_mtrl_tree.lp[ch_tree] = s_ref_mtrl.lp[ll_j] // s_mtrl_tree.status[ch_tree] = s_ref_mtrl.status[ll_j] // s_mtrl_tree.woodcode[ch_tree] = s_ref_mtrl.woodcode[ll_j] // s_mtrl_tree.pcode[ch_tree] = s_ref_mtrl.pcode[ll_j] // s_mtrl_tree.pmtrlid[ch_tree] = s_ref_mtrl.pmtrlid[ll_j] // s_mtrl_tree.ifchanged[ch_tree] = s_ref_mtrl.ifchanged[ll_j] // // // IF s_ref_mtrl.qty[ll_j] = 0 And & // s_ref_mtrl.cmplqty[ll_j] = 0 THEN CONTINUE // // ch++ // s_mtrl.taskid[ch] = s_ref_mtrl.taskid[ll_j] // s_mtrl.printid[ch] = s_ref_mtrl.printid[ll_j] // s_mtrl.scid[ch] = s_ref_mtrl.scid[ll_j] // s_mtrl.mtrlid[ch] = s_ref_mtrl.mtrlid[ll_j] // s_mtrl.ifmainmtrlid[ch] = s_ref_mtrl.ifmainmtrlid[ll_j] // s_mtrl.plantype[ch] = s_ref_mtrl.plantype[ll_j] // s_mtrl.qty[ch] = s_ref_mtrl.qty[ll_j] // s_mtrl.cmplqty[ch] = s_ref_mtrl.cmplqty[ll_j] // s_mtrl.mqty[ch] = s_ref_mtrl.mqty[ll_j] // s_mtrl.bqty[ch] = s_ref_mtrl.bqty[ll_j] // s_mtrl.wqty[ch] = s_ref_mtrl.wqty[ll_j] // s_mtrl.pqty[ch] = s_ref_mtrl.pqty[ll_j] // // s_mtrl.produce_scid[ch] = s_ref_mtrl.produce_scid[ll_j] // s_mtrl.produce_wrkgrpid[ch] = s_ref_mtrl.produce_wrkgrpid[ll_j] // s_mtrl.wrkgrpid_scll[ch] = s_ref_mtrl.produce_wrkgrpid[ll_j] // s_mtrl.lp[ch] = s_ref_mtrl.lp[ll_j] // s_mtrl.status[ch] = s_ref_mtrl.status[ll_j] // s_mtrl.woodcode[ch] = s_ref_mtrl.woodcode[ll_j] // s_mtrl.pcode[ch] = s_ref_mtrl.pcode[ll_j] // s_mtrl.pmtrlid[ch] = s_ref_mtrl.pmtrlid[ll_j] // s_mtrl.ifchanged[ch] = s_ref_mtrl.ifchanged[ll_j] // // NEXT // IF uo_ml_mrp.uof_add_rqmtrl(s_mtrl,False,arg_msg_tmp) = 0 THEN // arg_msg = arg_msg + ls_ordercode + '运算失败原因:保存物料需求表失败,'+arg_msg_tmp // ll_fail++ // CONTINUE // END IF // // IF uo_ml_mrp.uof_add_rqmtrl_tree(s_mtrl_tree,False,arg_msg_tmp) = 0 THEN // arg_msg = arg_msg + ls_ordercode + '运算失败原因:保存物料需求结构表失败,'+arg_msg_tmp // ll_fail++ // CONTINUE // END IF // // IF uo_ml_mrp.uof_del_rqmtrl_scll(ll_scid,ll_taskid,ll_printid,False,arg_msg_tmp) = 0 THEN // arg_msg = arg_msg + ls_ordercode + '运算失败原因:删除领料明细表失败,'+arg_msg_tmp // ll_fail++ // CONTINUE // END IF // // IF uo_ml_mrp.uof_add_rqmtrl_scll(s_mtrl,True,arg_msg_tmp) = 0 THEN // arg_msg = arg_msg + ls_ordercode + '运算失败原因:保存用料明细表失败,'+arg_msg_tmp // ll_fail++ // CONTINUE // END IF END IF END IF IF f_power_ind(1378) THEN //加工序 IF uo_sale.uof_order_add_pro(ll_scid,ll_taskid,ll_printid,arg_msg,True) = 0 THEN arg_msg_tmp = arg_msg_tmp + '~N' + '第' + String(ll_i) + '行,' + arg_msg ll_fail++ END IF END IF ll_suc++ END IF NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批审核完成!成功:'+String(ll_suc)+',失败:'+String(ll_fail),Information!,OK!) IF ll_fail > 0 THEN OpenWithParm(w_message_err,arg_msg) END IF END IF wf_rtr_dwmx() wf_flagstatus_rf() end event type cb_notpermit from uo_imflatbutton within w_order_ml integer x = 494 integer width = 151 integer height = 164 integer taborder = 50 boolean bringtotop = true string text = "撤审" string normalpicname = "caudit.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(1297) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF String arg_msg = '' Long uc_row,cnt,cnt_1,ll_i Long ll_scid,ll_taskid,ll_printid String ls_ordercode Long ll_cnt_lp = 0 String arg_msg_tmp Long ll_fail = 0,ll_suc = 0 dw_1.accepttext() cnt = 0 FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN cnt++ END IF NEXT IF cnt = 0 THEN uc_row = dw_1.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标销售订单明细!',information!,ok!) RETURN END IF IF MessageBox ("询问","是否确定要对当前销售订单明细作取消审核吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_sale.c_salemxprimt(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'销售订单明细取消审核成功!',information!,ok!) wf_refresh_curuc(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],uc_row,arg_msg) END IF ELSE IF MessageBox ("IF","是否确定要对选中的销售订单明细作批撤审吗?",Question!,YesNo! ) = 2 THEN RETURN Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(cnt) FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN ll_scid = dw_1.Object.scid[ll_i] ll_taskid = dw_1.Object.taskid[ll_i] ll_printid = dw_1.Object.printid[ll_i] ll_cnt_lp++ w_sys_wait_jdt.st_msg.Text = ls_ordercode + " 正在撤审..." //进度信息 w_sys_wait_jdt.wf_inc(ll_cnt_lp) wf_refresh_curuc(ll_scid,ll_taskid,ll_printid,ll_i,arg_msg) IF uo_sale.c_salemxprimt(ll_scid,ll_taskid,ll_printid,arg_msg_tmp,TRUE) = 0 THEN arg_msg = arg_msg + ls_ordercode + '失败原因: ' + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE ELSE wf_refresh_curuc(ll_scid,ll_taskid,ll_printid,ll_i,arg_msg_tmp) END IF ll_suc++ END IF NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批撤审完成!成功:'+String(ll_suc)+',失败:'+String(ll_fail),information!,ok!) IF ll_fail > 0 THEN OpenWithParm(w_message_err,arg_msg) END IF END IF wf_rtr_dwmx() wf_flagstatus_rf() end event type cb_audit_scll from uo_imflatbutton within w_order_ml integer x = 1193 integer width = 251 integer height = 164 integer taborder = 60 boolean bringtotop = true string text = "用料审核" string normalpicname = "audit.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF Not f_power_ind(1298) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF String arg_msg = '' Long uc_row Int li_scllflag,li_scllsecflag String arg_msg_tmp = '' Long ll_fail = 0,ll_suc = 0 Long ll_cnt_lp = 0,cnt = 0 String ls_ordercode Long ll_i Long ll_scid,ll_taskid,ll_printid Int li_chk_zero cnt = 0 FOR ll_i = 1 To dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN cnt++ END IF NEXT IF cbx_chk_zero.Checked THEN li_chk_zero = 1 ELSE li_chk_zero = 0 END IF IF cnt = 0 THEN uc_row = dw_1.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前销售订单明细!',Information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要对当前销售订单明细作用料审核吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_sale.salemxscllprimt(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],& li_chk_zero, publ_operator,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'销售订单明细用料审核成功!',Information!,OK!) wf_refresh_curuc(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],uc_row,arg_msg) END IF ELSE IF MessageBox ("询问","是否确定要对选中的销售订单明细作用料审核操作?",Question!,YesNo! ) = 2 THEN RETURN Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(cnt) FOR ll_i = 1 To dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN dw_1.Object.ch[ll_i] = 0 ll_cnt_lp++ w_sys_wait_jdt.st_msg.Text = " 正在用料审核..." //进度信息 w_sys_wait_jdt.wf_inc(ll_cnt_lp) ll_scid = dw_1.Object.scid[ll_i] ll_taskid = dw_1.Object.taskid[ll_i] ll_printid = dw_1.Object.printid[ll_i] IF uo_sale.salemxscllprimt(ll_scid,ll_taskid,ll_printid,li_chk_zero,publ_operator,arg_msg_tmp,True) = 0 THEN arg_msg = arg_msg + ls_ordercode + '失败原因: ' + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE ELSE wf_refresh_curuc(ll_scid,ll_taskid,ll_printid,ll_i,arg_msg_tmp) END IF ll_suc++ END IF NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批操作完成!成功:'+String(ll_suc)+',失败:'+String(ll_fail),Information!,OK!) IF ll_fail > 0 THEN OpenWithParm(w_message_err,arg_msg) END IF END IF wf_rtr_dwmx() wf_flagstatus_rf() end event type cb_caudit_scll from uo_imflatbutton within w_order_ml integer x = 1445 integer width = 251 integer height = 164 integer taborder = 70 boolean bringtotop = true string text = "用料撤审" string normalpicname = "caudit.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(1299) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF String arg_msg = '' Long uc_row Int li_scllflag,li_scllsecflag String arg_msg_tmp = '' Long ll_fail = 0,ll_suc = 0 Long ll_cnt_lp = 0,cnt = 0 String ls_ordercode Long ll_i Long ll_scid,ll_taskid,ll_printid cnt = 0 FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN cnt++ END IF NEXT IF cnt = 0 THEN uc_row = dw_1.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标销售订单明细!',information!,ok!) RETURN END IF IF MessageBox ("IF","是否确定要对当前销售订单明细取消用料审核吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_sale.c_salemxscllprimt(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg) ELSE MessageBox(publ_operator,'当前销售订单明细取消用料审核成功!',information!,ok!) wf_refresh_curuc(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],uc_row,arg_msg) END IF ELSE IF MessageBox ("询问","是否确定要对选中的销售订单明细作用料审核操作?",Question!,YesNo! ) = 2 THEN RETURN Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(cnt) FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN dw_1.Object.ch[ll_i] = 0 ll_cnt_lp++ w_sys_wait_jdt.st_msg.Text = " 正在取消用料审核..." //进度信息 w_sys_wait_jdt.wf_inc(ll_cnt_lp) ll_scid = dw_1.Object.scid[ll_i] ll_taskid = dw_1.Object.taskid[ll_i] ll_printid = dw_1.Object.printid[ll_i] IF uo_sale.c_salemxscllprimt(ll_scid,ll_taskid,ll_printid,arg_msg,TRUE) = 0 THEN arg_msg = arg_msg + ls_ordercode + '失败原因: ' + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE ELSE wf_refresh_curuc(ll_scid,ll_taskid,ll_printid,ll_i,arg_msg_tmp) END IF ll_suc++ END IF NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批操作完成!成功:'+String(ll_suc)+',失败:'+String(ll_fail),information!,ok!) IF ll_fail > 0 THEN OpenWithParm(w_message_err,arg_msg) END IF END IF wf_rtr_dwmx() wf_flagstatus_rf() end event type st_6 from statictext within w_order_ml integer x = 759 integer y = 208 integer width = 133 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 = center! boolean focusrectangle = false end type type ddlb_status from dropdownlistbox within w_order_ml integer x = 910 integer y = 192 integer width = 361 integer height = 496 integer taborder = 130 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 boolean vscrollbar = true string item[] = {"[全部]","待审核","在进行","自动完成","手动完成"} borderstyle borderstyle = stylelowered! end type event constructor;cur_status = Long(f_ProfileString(SYS_empid, parent.classname(), "status", "-1")) CHOOSE CASE cur_status CASE 0 this.Text = "待审核" CASE 1 this.Text = "在进行" CASE 5 this.Text = "自动完成" CASE 6 this.Text = "手动完成" CASE -1 this.Text = "[全部]" END CHOOSE end event event selectionchanged;CHOOSE CASE Index CASE 1 //[全部] cur_status = -1 CASE 2 //待审批 cur_status = 0 CASE 3 //在进行 cur_status = 1 CASE 4 //'自动完成' cur_status = 5 CASE 5 //'手动完成' cur_status = 6 CASE ELSE cur_status = -1 END CHOOSE cb_1.TriggerEvent(Clicked!) end event type st_7 from statictext within w_order_ml integer x = 1275 integer y = 208 integer width = 224 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 = center! boolean focusrectangle = false end type type ddlb_1 from dropdownlistbox within w_order_ml integer x = 1490 integer y = 192 integer width = 343 integer height = 300 integer taborder = 140 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;CHOOSE CASE Index CASE 1 cur_scllflag = -1 CASE 2 cur_scllflag = 0 CASE 3 cur_scllflag = 1 END CHOOSE cb_1.TriggerEvent(Clicked!) end event event constructor;cur_scllflag = Long(f_ProfileString(SYS_empid, parent.classname(), "scllflag", "-1")) CHOOSE CASE cur_scllflag CASE -1 this.Text = "[全部]" CASE 0 this.Text = "待用料审" CASE 1 this.Text = "已用料审" END CHOOSE end event type cbx_all from checkbox within w_order_ml integer x = 1490 integer y = 324 integer width = 192 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;Long ll_i dw_1.SetRedraw(FALSE) IF THIS.Checked THEN FOR ll_i = 1 TO dw_1.RowCount() dw_1.Object.ch[ll_i] = 1 NEXT ELSE FOR ll_i = 1 TO dw_1.RowCount() dw_1.Object.ch[ll_i] = 0 NEXT END IF dw_1.SetRedraw(TRUE) end event type ddlb_scid from uo_ddlb_scid within w_order_ml integer x = 137 integer y = 192 integer width = 599 integer height = 660 integer taborder = 140 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid = THIS.uo_scid end event event selectionchanged;call super::selectionchanged;cur_scid = THIS.uo_scid cb_1.TriggerEvent(Clicked!) end event type st_2 from statictext within w_order_ml integer x = 9 integer y = 208 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 = "分部" alignment alignment = center! boolean focusrectangle = false end type type st_1 from statictext within w_order_ml integer x = 2587 integer y = 208 integer width = 210 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 sle_relcode from singlelineedit within w_order_ml integer x = 2784 integer y = 192 integer width = 617 integer height = 92 integer taborder = 130 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 borderstyle borderstyle = stylelowered! end type event modified;PARENT.TRIGGEREVENT("ue_usual_query_RETR") end event type tab_1 from tab within w_order_ml integer y = 1404 integer width = 4000 integer height = 868 integer taborder = 20 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 boolean raggedright = true boolean focusonbuttondown = true integer selectedtab = 1 tabpage_4 tabpage_4 tabpage_5 tabpage_5 tabpage_1 tabpage_1 tabpage_2 tabpage_2 tabpage_3 tabpage_3 tabpage_6 tabpage_6 end type on tab_1.create this.tabpage_4=create tabpage_4 this.tabpage_5=create tabpage_5 this.tabpage_1=create tabpage_1 this.tabpage_2=create tabpage_2 this.tabpage_3=create tabpage_3 this.tabpage_6=create tabpage_6 this.Control[]={this.tabpage_4,& this.tabpage_5,& this.tabpage_1,& this.tabpage_2,& this.tabpage_3,& this.tabpage_6} end on on tab_1.destroy destroy(this.tabpage_4) destroy(this.tabpage_5) destroy(this.tabpage_1) destroy(this.tabpage_2) destroy(this.tabpage_3) destroy(this.tabpage_6) end on type tabpage_4 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3963 integer height = 756 long backcolor = 134217739 string text = "采购" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 cb_10 cb_10 cb_mod_buyrqmtrl cb_mod_buyrqmtrl dw_4 dw_4 end type on tabpage_4.create this.cb_10=create cb_10 this.cb_mod_buyrqmtrl=create cb_mod_buyrqmtrl this.dw_4=create dw_4 this.Control[]={this.cb_10,& this.cb_mod_buyrqmtrl,& this.dw_4} end on on tabpage_4.destroy destroy(this.cb_10) destroy(this.cb_mod_buyrqmtrl) destroy(this.dw_4) end on type cb_10 from commandbutton within tabpage_4 integer width = 329 integer height = 80 integer taborder = 10 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "修改需求数" end type event clicked;//运算后,没开采购订单前可以修改; //逐条修改 IF NOT f_power_ind(1300) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Int rslt = 1 Long ll_row, ll_mxrow Long ll_scid,ll_taskid,ll_printid, ll_mxpkid Decimal lde_consignedqty String arg_msg //dw_1.AcceptText() ll_row = dw_1.GetRow() IF ll_row = 0 THEN RETURN //IF dw_1.Object.u_saletaskmx_flag[ll_row] <> 1 THEN RETURN IF dw_1.Object.u_saletaskmx_scllflag[ll_row] <> 1 THEN arg_msg = '该销售订单明细未用料审核,不能使用此功能' rslt = 0 GOTO ext END IF ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid = dw_1.Object.printid[ll_row] ll_mxrow = dw_4.GetRow() ll_mxpkid = dw_4.Object.u_orderrqmtrl_mxpkid[ll_mxrow] lde_consignedqty = dw_4.Object.u_orderrqmtrl_consignedqty[ll_mxrow] //lde_inqty IF lde_consignedqty <> 0 THEN arg_msg = '当前明细采购已订货,不能修改用料' rslt = 0 GOTO ext END IF s_order_ml_rqmtrl s_rqmtrl s_rqmtrl.mxpkid[1] = ll_mxpkid s_rqmtrl.scid[1] = ll_scid s_rqmtrl.taskid[1] = ll_taskid s_rqmtrl.printid[1] = ll_printid s_rqmtrl.plantype[1] = 2 OpenWithParm(w_order_ml_mrp_mx_edit,s_rqmtrl) s_rqmtrl = Message.PowerObjectParm IF s_rqmtrl.ifcfg[1] = 0 THEN RETURN IF uo_ml_mrp.uof_edit_rqmtrl(s_rqmtrl, TRUE, arg_msg) = 0 THEN rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN MessageBox(publ_operator,arg_msg) ELSE MessageBox(publ_operator,"修改销售订单明细需求成功") wf_rtr_dw4() END IF end event type cb_mod_buyrqmtrl from commandbutton within tabpage_4 integer x = 334 integer width = 329 integer height = 80 integer taborder = 10 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "修改供应商" end type event clicked;GetParentWindow().triggerevent("ue_setspt") //IF NOT f_power_ind(1478) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN //END IF // // //Long ll_scid,ll_taskid,ll_printid //String arg_msg //dw_1.AcceptText() //IF dw_1.GetRow() = 0 THEN RETURN // //ll_scid = dw_1.Object.scid[dw_1.GetRow()] //ll_taskid = dw_1.Object.taskid[dw_1.GetRow()] //ll_printid = dw_1.Object.printid[dw_1.GetRow()] // // //s_order_ml_mrp s_ml_mrp,s_ch // //s_ml_mrp.scid = ll_scid //s_ml_mrp.taskid = ll_taskid //s_ml_mrp.printid = ll_printid // //OpenWithParm(w_order_ml_spt_change,s_ml_mrp) // //wf_rtr_dw4() // end event type dw_4 from u_dw_rbtnfilter within tabpage_4 string tag = "未订货-红色 未进仓-蓝色 已完成-黑色" integer y = 92 integer width = 3968 integer height = 464 integer taborder = 40 string dataobject = "dw_order_ml_reqmtrl_mx_2" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event clicked;call super::clicked;IF row > 0 THEN THIS.SetRow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF end event type tabpage_5 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3963 integer height = 756 long backcolor = 134217739 string text = "外协" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 cb_5 cb_5 dw_5 dw_5 end type on tabpage_5.create this.cb_5=create cb_5 this.dw_5=create dw_5 this.Control[]={this.cb_5,& this.dw_5} end on on tabpage_5.destroy destroy(this.cb_5) destroy(this.dw_5) end on type cb_5 from commandbutton within tabpage_5 integer width = 329 integer height = 80 integer taborder = 10 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "修改需求数" end type event clicked;//运算后,没开外协订单前可以修改; //逐条修改 IF NOT f_power_ind(1300) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Int rslt = 1 Long ll_row, ll_mxrow Long ll_scid,ll_taskid,ll_printid, ll_mxpkid Decimal lde_consignedqty String arg_msg dw_1.AcceptText() ll_row = dw_1.GetRow() IF ll_row = 0 THEN RETURN IF dw_1.Object.u_saletaskmx_scllflag[ll_row] <> 1 THEN arg_msg = '该销售订单明细未用料审核,不能使用此功能' rslt = 0 GOTO ext END IF ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid = dw_1.Object.printid[ll_row] ll_mxrow = dw_5.GetRow() ll_mxpkid = dw_5.Object.u_orderrqmtrl_mxpkid[ll_mxrow] lde_consignedqty = dw_5.Object.u_orderrqmtrl_consignedqty[ll_mxrow] //lde_inqty IF lde_consignedqty <> 0 THEN arg_msg = '当前明细外协已订货,不能修改用料' rslt = 0 GOTO ext END IF s_order_ml_rqmtrl s_rqmtrl s_rqmtrl.mxpkid[1] = ll_mxpkid s_rqmtrl.scid[1] = ll_scid s_rqmtrl.taskid[1] = ll_taskid s_rqmtrl.printid[1] = ll_printid s_rqmtrl.plantype[1] = 3 OpenWithParm(w_order_ml_mrp_mx_edit,s_rqmtrl) s_rqmtrl = Message.PowerObjectParm IF s_rqmtrl.ifcfg[1] = 0 THEN RETURN IF uo_ml_mrp.uof_edit_rqmtrl(s_rqmtrl, TRUE, arg_msg) = 0 THEN rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN MessageBox(publ_operator,arg_msg) ELSE MessageBox(publ_operator,"修改销售订单明细需求成功") wf_rtr_dw5() END IF end event type dw_5 from u_dw_rbtnfilter within tabpage_5 string tag = "未订货-红色 未进仓-蓝色 已完成-黑色" integer y = 92 integer width = 3506 integer height = 464 integer taborder = 40 string dataobject = "dw_order_ml_reqmtrl_mx_3" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event clicked;call super::clicked;IF row > 0 THEN THIS.SetRow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF end event type tabpage_1 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3963 integer height = 756 long backcolor = 134217739 string text = "领料明细" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 cb_4 cb_4 dw_2 dw_2 cb_c_woodcode cb_c_woodcode cb_c_status cb_c_status cb_c_pcode cb_c_pcode end type on tabpage_1.create this.cb_4=create cb_4 this.dw_2=create dw_2 this.cb_c_woodcode=create cb_c_woodcode this.cb_c_status=create cb_c_status this.cb_c_pcode=create cb_c_pcode this.Control[]={this.cb_4,& this.dw_2,& this.cb_c_woodcode,& this.cb_c_status,& this.cb_c_pcode} end on on tabpage_1.destroy destroy(this.cb_4) destroy(this.dw_2) destroy(this.cb_c_woodcode) destroy(this.cb_c_status) destroy(this.cb_c_pcode) end on type cb_4 from commandbutton within tabpage_1 integer width = 329 integer height = 80 integer taborder = 110 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "修改需求数" end type event clicked;IF NOT f_power_ind(1300) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_scid,ll_taskid,ll_printid String arg_msg dw_1.AcceptText() IF dw_1.GetRow() = 0 THEN RETURN IF dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] <> 1 THEN RETURN IF dw_1.Object.u_saletaskmx_scllflag[dw_1.GetRow()] = 1 THEN MessageBox(publ_operator,'该计算订单明细已用料审核,不能换料') RETURN END IF ll_scid = dw_1.Object.scid[dw_1.GetRow()] ll_taskid = dw_1.Object.taskid[dw_1.GetRow()] ll_printid = dw_1.Object.printid[dw_1.GetRow()] s_order_ml_mrp s_ml_mrp,s_ch s_ml_mrp.scid = ll_scid s_ml_mrp.taskid = ll_taskid s_ml_mrp.printid = ll_printid s_ml_mrp.dscrp = dw_1.Object.u_saletaskmx_mxdscrp[dw_1.GetRow()] OpenWithParm(w_order_ml_mrp,s_ml_mrp) wf_rtr_dw2() end event type dw_2 from u_dw_rbtnfilter within tabpage_1 string tag = "未领完-红色 已完成-黑色" integer y = 92 integer width = 3506 integer height = 464 integer taborder = 20 string dataobject = "dw_order_ml_reqmtrl_scll" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event clicked;call super::clicked;IF row > 0 THEN THIS.SetRow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF end event type cb_c_woodcode from commandbutton within tabpage_1 integer x = 603 integer width = 274 integer height = 80 integer taborder = 60 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "换配置1" end type event clicked;if dw_1.GetRow() = 0 then return IF dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] <> 1 THEN RETURN m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=换"+sys_option_change_woodcode+"~tEvent=ue_pz_woodcode_change" menustr = menustr + "|" + "Text=清除"+sys_option_change_woodcode+"~tEvent=ue_pz_woodcode_clear" 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_c_status from commandbutton within tabpage_1 integer x = 329 integer width = 274 integer height = 80 integer taborder = 90 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "换配置" end type event clicked;if dw_1.GetRow() = 0 then return IF dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] <> 1 THEN RETURN m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=换"+sys_option_change_status+"~tEvent=ue_pz_status_change" menustr = menustr + "|" + "Text=清除"+sys_option_change_status+"~tEvent=ue_pz_status_clear" 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_c_pcode from commandbutton within tabpage_1 integer x = 878 integer width = 274 integer height = 80 integer taborder = 80 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "换配置2" end type event clicked;if dw_1.GetRow() = 0 then return IF dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] <> 1 THEN RETURN m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=换"+sys_option_change_pcode+"~tEvent=ue_pz_pcode_change" menustr = menustr + "|" + "Text=清除"+sys_option_change_pcode+"~tEvent=ue_pz_pcode_clear" 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 tabpage_2 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3963 integer height = 756 long backcolor = 134217739 string text = "工序工价" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 cb_9 cb_9 cb_8 cb_8 cb_7 cb_7 cb_6 cb_6 dw_3 dw_3 end type on tabpage_2.create this.cb_9=create cb_9 this.cb_8=create cb_8 this.cb_7=create cb_7 this.cb_6=create cb_6 this.dw_3=create dw_3 this.Control[]={this.cb_9,& this.cb_8,& this.cb_7,& this.cb_6,& this.dw_3} end on on tabpage_2.destroy destroy(this.cb_9) destroy(this.cb_8) destroy(this.cb_7) destroy(this.cb_6) destroy(this.dw_3) end on type cb_9 from commandbutton within tabpage_2 integer x = 823 integer width = 274 integer height = 84 integer taborder = 50 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "取消完成" end type event clicked;IF NOT f_power_ind(1380) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_row Long ll_scid,ll_taskid,ll_printid String ls_procode,arg_msg ll_row = dw_3.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请先选择工序') RETURN END IF ll_scid = dw_3.Object.u_orderrqwp_scid[ll_row] ll_taskid = dw_3.Object.u_orderrqwp_taskid[ll_row] ll_printid = dw_3.Object.u_orderrqwp_printid[ll_row] ls_procode = dw_3.Object.u_orderrqwp_procode[ll_row] IF uo_sale.uof_finish_procode_qty_dsr(ll_scid,ll_taskid,ll_printid,ls_procode,1,0,arg_msg,TRUE) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF MessageBox('提示','取消确认成功') wf_rtr_dw3() end event type cb_8 from commandbutton within tabpage_2 integer x = 549 integer width = 274 integer height = 84 integer taborder = 40 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "完成工序" end type event clicked;IF Not f_power_ind(1379) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_row Long ll_scid,ll_taskid,ll_printid String ls_procode,arg_msg ll_row = dw_3.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请先选择工序') RETURN END IF s_dsr_finish_procode_qty ss_dsr_finish_procode_qty,rtn_dsr_finish_procode_qty ss_dsr_finish_procode_qty.proqty = dw_3.Object.u_orderrqwp_proqty[ll_row] ss_dsr_finish_procode_qty.finishqty = dw_3.Object.u_orderrqwp_fqty[ll_row] ss_dsr_finish_procode_qty.name= string(dw_3.Object.u_orderrqwp_proname[ll_row]) IF ss_dsr_finish_procode_qty.proqty > ss_dsr_finish_procode_qty.finishqty THEN OpenWithParm(w_dsr_finish_procode_qty,ss_dsr_finish_procode_qty ) rtn_dsr_finish_procode_qty = Message.PowerObjectParm END IF if rtn_dsr_finish_procode_qty.if_ok=0 then return //rtn_dsr_finish_procode_qty.rtn_qty ll_scid = dw_3.Object.u_orderrqwp_scid[ll_row] ll_taskid = dw_3.Object.u_orderrqwp_taskid[ll_row] ll_printid = dw_3.Object.u_orderrqwp_printid[ll_row] ls_procode = dw_3.Object.u_orderrqwp_procode[ll_row] IF uo_sale.uof_finish_procode_qty_dsr(ll_scid,ll_taskid,ll_printid,ls_procode,0,rtn_dsr_finish_procode_qty.rtn_qty,arg_msg,True) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF MessageBox('提示','确认成功') wf_rtr_dw3() end event type cb_7 from commandbutton within tabpage_2 integer x = 274 integer width = 274 integer height = 84 integer taborder = 40 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "修改工序" end type event clicked;IF Not f_power_ind(1378) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_scid,ll_taskid,ll_printid,ll_mtrlid String arg_msg dw_1.AcceptText() IF dw_1.GetRow() = 0 THEN MessageBox(publ_operator,'请选择订单明细') RETURN END IF IF Not (dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] = 1 & Or dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] = 5 & Or dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] = 6) THEN MessageBox(publ_operator,'订单明细生产状态在进行,完成才能编辑') RETURN END IF //IF dw_1.Object.u_saletaskmx_scllflag[dw_1.GetRow()] = 1 THEN // MessageBox(publ_operator,'该计算订单明细已用料审核,不能') // RETURN //END IF ll_scid = dw_1.Object.scid[dw_1.GetRow()] ll_taskid = dw_1.Object.taskid[dw_1.GetRow()] ll_printid = dw_1.Object.printid[dw_1.GetRow()] ll_mtrlid = dw_1.Object.mtrlid[dw_1.GetRow()] s_saletaskmx s_ml_mrp s_ml_mrp.scid = ll_scid s_ml_mrp.taskid = ll_taskid s_ml_mrp.printid = ll_printid s_ml_mrp.mtrlid = ll_mtrlid s_ml_mrp.dscrp = dw_1.Object.u_saletaskmx_mxdscrp[dw_1.GetRow()] OpenWithParm(w_order_ml_pro_mod,s_ml_mrp) wf_rtr_dw3() end event type cb_6 from commandbutton within tabpage_2 integer width = 274 integer height = 84 integer taborder = 30 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "生成工序" end type event clicked;IF Not f_power_ind(1378) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long ll_scid,ll_taskid,ll_printid,ll_mtrlid String arg_msg dw_1.AcceptText() IF dw_1.GetRow() = 0 THEN RETURN //IF dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] <> 1 and & //dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] <> 5 and & //dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] <> 6 THEN // MessageBox(publ_operator,'当前订单明细未审核,不能生成工序') // RETURN //END IF //IF dw_1.Object.u_saletaskmx_scllflag[dw_1.GetRow()] = 1 THEN // MessageBox(publ_operator,'当前订单明细已用料审核,不能') // RETURN //END IF ll_scid = dw_1.Object.scid[dw_1.GetRow()] ll_taskid = dw_1.Object.taskid[dw_1.GetRow()] ll_printid = dw_1.Object.printid[dw_1.GetRow()] ll_mtrlid = dw_1.Object.mtrlid[dw_1.GetRow()] IF uo_sale.uof_order_add_pro(ll_scid,ll_taskid,ll_printid,arg_msg,True) = 0 THEN MessageBox('提示',arg_msg,information!,ok!) RETURN END IF wf_rtr_dw3() end event type dw_3 from u_dw_rbtnfilter within tabpage_2 integer y = 92 integer width = 3506 integer height = 464 integer taborder = 30 string dataobject = "dw_order_ml_procode_mx" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event clicked;call super::clicked;IF row > 0 THEN THIS.SetRow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF end event type tabpage_3 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3963 integer height = 756 long backcolor = 134217739 string text = "运算" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_mrpmx dw_mrpmx end type on tabpage_3.create this.dw_mrpmx=create dw_mrpmx this.Control[]={this.dw_mrpmx} end on on tabpage_3.destroy destroy(this.dw_mrpmx) end on type dw_mrpmx from u_dw_rbtnfilter within tabpage_3 integer width = 3506 integer height = 548 string dataobject = "dw_order_ml_mrpmx" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true boolean rbutton_setposition_use = true end type event clicked;call super::clicked;IF row > 0 THEN THIS.SetRow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF end event type tabpage_6 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3963 integer height = 756 long backcolor = 134217739 string text = "自制" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_self dw_self end type on tabpage_6.create this.dw_self=create dw_self this.Control[]={this.dw_self} end on on tabpage_6.destroy destroy(this.dw_self) end on type dw_self from u_dw_rbtnfilter within tabpage_6 integer width = 3506 integer height = 548 string dataobject = "dw_order_ml_mrp_self" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true boolean rbutton_setposition_use = true end type event clicked;call super::clicked;IF row > 0 THEN THIS.SetRow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF end event type cb_3 from uo_imflatbutton within w_order_ml integer x = 1696 integer width = 251 integer height = 164 integer taborder = 80 boolean bringtotop = true string text = "辅助功能" string normalpicname = "other.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=增加备注~tEvent=ue_addzy" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=修改用料~tEvent=ue_edit_mrp" menustr = menustr + "|" + "Text=修改供应商~tEvent=ue_setspt" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=辅助建立增料单~tEvent=ue_create_rqmtrl_chng" menustr = menustr + "|" + "Text=辅助建立采购订单~tEvent=ue_create_buytask" //menustr = menustr + "|" + "Text=辅助建立外协订单~tEvent=ue_create_orderwfjg" menustr = menustr + "|" + "Text=辅助建立领料出仓单~tEvent=ue_create_outware_scll" menustr = menustr + "|" + "Text=辅助建立生产进仓单~tEvent=ue_create_inware_cp" 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_11 from uo_imflatbutton within w_order_ml boolean visible = false integer x = 3232 integer width = 462 integer height = 164 integer taborder = 90 boolean bringtotop = true string text = "辅助建立采购订单" string normalpicname = "other.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;parent.TriggerEvent('ue_create_buytask') end event type cb_reccl from uo_imflatbutton within w_order_ml integer x = 645 integer width = 274 integer height = 164 integer taborder = 90 boolean bringtotop = true string text = "计算用料" string normalpicname = "update2.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(1300) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF //////////////////////////////////// //以下为修改内容 Long uc_row,i String arg_msg Long cnt_if_mrp Int li_scllflag uc_row = dw_1.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标生产计划!') RETURN END IF Long ll_scid,ll_taskid,ll_printid dw_1.AcceptText() IF dw_1.GetRow() = 0 THEN RETURN IF dw_1.Object.u_saletaskmx_flag[dw_1.GetRow()] <> 1 THEN RETURN IF dw_1.Object.u_saletaskmx_scllflag[dw_1.GetRow()] = 1 THEN MessageBox(publ_operator,'该计算订单明细已用料审核,不能计算用料') RETURN END IF s_order_ml_mrp s_ml_mrp,s_ch s_ml_mrp.scid= dw_1.Object.scid[uc_row] s_ml_mrp.taskid = dw_1.Object.taskid[uc_row] s_ml_mrp.printid = dw_1.Object.printid[uc_row] s_ml_mrp.dscrp = dw_1.Object.u_saletaskmx_mxdscrp[uc_row] IF uo_ml_mrp.uof_check_dstrqty(s_ml_mrp.scid,s_ml_mrp.taskid,s_ml_mrp.printid,arg_msg) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF SELECT count(*) INTO :cnt_if_mrp FROM u_OrderRqMtrl_tree WHERE scid = :s_ml_mrp.scid AND taskid = :s_ml_mrp.taskid and printid = :s_ml_mrp.printid; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询生产计划是否已运算失败,'+sqlca.SQLErrText) RETURN END IF IF cnt_if_mrp > 0 THEN OpenWithParm(w_order_ml_mrp,s_ml_mrp) ELSE Open(w_order_ml_mrp_ch) s_ch = Message.PowerObjectParm CHOOSE CASE s_ch.mrptype CASE 0 RETURN CASE 1 s_ch.scid = s_ml_mrp.scid s_ch.taskid = s_ml_mrp.taskid s_ch.printid = s_ml_mrp.printid s_ch.dscrp = s_ml_mrp.dscrp OpenWithParm(w_order_ml_mrp,s_ch) CASE 2 s_order_ml_rqmtrl s_ref_mtrl uo_ml_mrp.ifbuy_mtrl_not_useqty = s_ch.ifbuy_mtrl_not_useqty uo_ml_mrp.ifwx_mtrl_not_useqty = s_ch.ifwx_mtrl_not_useqty IF uo_ml_mrp.uof_cmpl_rqmtrl(dw_1.Object.scid[uc_row],& dw_1.Object.taskid[uc_row],& dw_1.Object.printid[uc_row],& 0,& dw_1.Object.mtrlid[uc_row],& dw_1.Object.u_saletaskmx_status[uc_row],& dw_1.Object.u_saletaskmx_woodcode[uc_row],& dw_1.Object.u_saletaskmx_pcode[uc_row],& dw_1.Object.u_saletaskmx_orderqty[uc_row],& 0,& s_ch.if_allowuse,& s_ref_mtrl,arg_msg,0,'') = 0 THEN MessageBox('提示','计算需求失败,'+arg_msg) RETURN END IF IF uo_ml_mrp.uof_add_rqmtrl(s_ref_mtrl,FALSE,arg_msg) = 0 THEN MessageBox('提示','保存物料需求表失败,'+arg_msg) RETURN END IF IF uo_ml_mrp.uof_add_rqmtrl_tree(s_ref_mtrl,FALSE,arg_msg) = 0 THEN MessageBox('提示','保存物料需求结构表失败,'+arg_msg) RETURN END IF IF uo_ml_mrp.uof_del_rqmtrl_scll(dw_1.Object.scid[uc_row],dw_1.Object.taskid[uc_row],dw_1.Object.printid[uc_row],FALSE,arg_msg) = 0 THEN MessageBox('提示','删除领料明细表失败,'+arg_msg) RETURN END IF IF uo_ml_mrp.uof_add_rqmtrl_scll(s_ref_mtrl,TRUE,arg_msg) = 0 THEN MessageBox('提示','保存领料明细表失败,'+arg_msg) RETURN END IF END CHOOSE END IF wf_rtr_dwmx() end event type cb_reccl_edit from uo_imflatbutton within w_order_ml integer x = 919 integer width = 274 integer height = 164 integer taborder = 100 boolean bringtotop = true string text = "修改用料" string normalpicname = "open.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;parent.TriggerEvent('ue_edit_mrp') //IF NOT f_power_ind(1480) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN //END IF // // //Long ll_scid,ll_taskid,ll_printid //String arg_msg //dw_1.AcceptText() //IF dw_1.GetRow() = 0 THEN RETURN //IF dw_1.Object.u_saletaskmx_scllflag[dw_1.GetRow()] = 1 THEN // MessageBox(publ_operator,'该计算订单明细已用料审核') // RETURN //END IF // //s_order_ml_mrp s_ml_mrp,s_ch //ll_scid = dw_1.Object.scid[dw_1.GetRow()] //ll_taskid = dw_1.Object.taskid[dw_1.GetRow()] //ll_printid = dw_1.Object.printid[dw_1.GetRow()] // //s_ml_mrp.scid = ll_scid //s_ml_mrp.taskid = ll_taskid //s_ml_mrp.printid = ll_printid //s_ml_mrp.dscrp = dw_1.Object.u_saletaskmx_mxdscrp[dw_1.GetRow()] // //OpenWithParm(w_order_ml_mod_tree,s_ml_mrp) // //wf_rtr_dwmx() // end event type cbx_chk_zero from checkbox within w_order_ml integer x = 1714 integer y = 324 integer width = 581 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 = "用料审核检查0需求" end type event constructor;Int li_flag li_flag = Integer(f_ProfileString (sys_empid,dw_1.DataObject, "if_chk_zero", '0')) IF li_flag = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event event clicked;Int li_flag IF THIS.Checked THEN li_flag = 1 ELSE li_flag = 0 END IF f_SetProfileString (sys_empid,dw_1.DataObject, "if_chk_zero", String(li_flag)) end event type cb_viewprint from uo_imflatbutton within w_order_ml integer x = 2203 integer width = 192 integer height = 164 integer taborder = 50 boolean bringtotop = true string text = "预览&P" string normalpicname = "preview.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;String ls_dft_old_dwname, ls_dft_new_dwname,ls_chnname,ls_dwtype Long ls_dwprintid String ls_windowname Int ls_i Long ll_billid Int li_ifuse Long ll_row String Name,ll_rpname Long ll_RpID,ll_flag,ll_ifuse w_curwin = PARENT ls_windowname = PARENT.ClassName ( ) SELECT billid,ifuse INTO :ll_billid, :li_ifuse FROM u_report_bill Where winName = :ls_windowname; IF sqlca.SQLCode <> 0 THEN li_ifuse = 0 END IF li_ifuse = 0 IF li_ifuse = 0 THEN DECLARE dft_dwprint CURSOR FOR SELECT dwprintid,dft_old_dwname, dft_new_dwname, chnname, dwtype FROM sys_dft_dwprint_dynamic WHERE dwtype = :ls_windowname AND ptype = 0 and ifuse = 1; OPEN dft_dwprint; FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_viewprint',0,0) ELSE m_dft_dwprint_item m_1 m_1 = CREATE m_dft_dwprint_item ls_i = 1 DO WHILE sqlca.SQLCode = 0 f_add_menuItem_dft(m_1,ls_i,ls_chnname,String(ls_dwprintid)) FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype; ls_i++ LOOP CLOSE dft_dwprint; m_1.PopMenu(THIS.X+50,THIS.Y+50) END IF ELSE DECLARE rpt_dwprint CURSOR FOR SELECT RpID,RpName,Flag,Ifuse FROM U_report_list WHERE billid = :ll_billid Order By RpName; OPEN rpt_dwprint; FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_rpt_viewprint',0,0) ELSE m_rpt_dwprint_item m_2 m_2 = CREATE m_rpt_dwprint_item ls_i = 1 DO WHILE sqlca.SQLCode = 0 IF f_pow_rpt(ll_RpID) AND ll_ifuse = 1 AND ll_flag = 1 THEN //权限检查f_pow_rpt( ) f_add_menuItem_rpt(m_2,ls_i,ll_rpname,String(ll_RpID)) END IF FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse; ls_i++ LOOP CLOSE rpt_dwprint; m_2.Item[1].Visible = FALSE m_2.PopMenu(THIS.X+50,THIS.Y+50) END IF END IF end event type st_5 from statictext within w_order_ml integer x = 1861 integer y = 204 integer width = 343 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "销售订单状态" alignment alignment = right! boolean focusrectangle = false end type type ddlb_salestatus from dropdownlistbox within w_order_ml integer x = 2208 integer y = 192 integer width = 338 integer height = 860 integer taborder = 90 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 boolean vscrollbar = true string item[] = {"[全部]","待审批","在进行","已暂停","已终止","已完成"} borderstyle borderstyle = stylelowered! end type event selectionchanged;choose case index case 1 cur_salestatus= -1 case 2 //待销售审批 cur_salestatus=0 case 3 //在进行 cur_salestatus=1 case 4 //'已暂停' cur_salestatus=2 case 5 //'已终止' cur_salestatus=3 case 6 //'已完成' cur_salestatus=5 case else cur_salestatus= -1 end choose cb_1.TriggerEvent(Clicked!) //parent.triggerevent("retrieve_pageretr") end event