$PBExportHeader$w_saletask_sc_mx.srw forward global type w_saletask_sc_mx from w_publ_easyq end type type ddlb_1 from dropdownlistbox within w_saletask_sc_mx end type type ddlb_scid from uo_ddlb_scid within w_saletask_sc_mx end type type cb_3 from uo_imflatbutton within w_saletask_sc_mx end type type cb_4 from uo_imflatbutton within w_saletask_sc_mx end type type cbx_allselect from checkbox within w_saletask_sc_mx end type type cb_5 from uo_imflatbutton within w_saletask_sc_mx end type type cb_6 from uo_imflatbutton within w_saletask_sc_mx end type type cb_10 from uo_imflatbutton within w_saletask_sc_mx end type type ddlb_2 from dropdownlistbox within w_saletask_sc_mx end type type ddlb_3 from dropdownlistbox within w_saletask_sc_mx end type type cb_edit from uo_imflatbutton within w_saletask_sc_mx end type type cb_save from uo_imflatbutton within w_saletask_sc_mx end type type st_1 from statictext within w_saletask_sc_mx end type type cbx_notsc from checkbox within w_saletask_sc_mx end type type cb_xls from uo_imflatbutton within w_saletask_sc_mx end type type st_5 from statictext within w_saletask_sc_mx end type type ddlb_status from uo_ddlb_status within w_saletask_sc_mx end type type cbx_1 from checkbox within w_saletask_sc_mx end type type cb_9 from commandbutton within w_saletask_sc_mx end type type cb_11 from uo_imflatbutton within w_saletask_sc_mx end type type cb_12 from uo_imflatbutton within w_saletask_sc_mx end type type cb_add_sale from uo_imflatbutton within w_saletask_sc_mx end type type cbx_date from checkbox within w_saletask_sc_mx end type type cbx_iffinish from checkbox within w_saletask_sc_mx end type type cb_7 from uo_imflatbutton within w_saletask_sc_mx end type type cb_8 from uo_imflatbutton within w_saletask_sc_mx end type type ln_7 from line within w_saletask_sc_mx end type type ln_8 from line within w_saletask_sc_mx end type end forward global type w_saletask_sc_mx from w_publ_easyq integer width = 4832 string title = "销售订单跟踪表" event ue_viewprint ( ) event ue_print ( ) event ue_viewprint_other ( ) event ue_print_other ( ) event ue_psetup ( ) event ue_xls ( ) event ue_p_plancode ( ) event ue_view_mxdscrp ( ) event ue_view_mxdscrp2 ( ) event ue_p_mxdscrp3 ( ) event ue_p_mxdscrp4 ( ) ddlb_1 ddlb_1 ddlb_scid ddlb_scid cb_3 cb_3 cb_4 cb_4 cbx_allselect cbx_allselect cb_5 cb_5 cb_6 cb_6 cb_10 cb_10 ddlb_2 ddlb_2 ddlb_3 ddlb_3 cb_edit cb_edit cb_save cb_save st_1 st_1 cbx_notsc cbx_notsc cb_xls cb_xls st_5 st_5 ddlb_status ddlb_status cbx_1 cbx_1 cb_9 cb_9 cb_11 cb_11 cb_12 cb_12 cb_add_sale cb_add_sale cbx_date cbx_date cbx_iffinish cbx_iffinish cb_7 cb_7 cb_8 cb_8 ln_7 ln_7 ln_8 ln_8 end type global w_saletask_sc_mx w_saletask_sc_mx type variables int cur_status = 1 //当前查询订单状态// -1 所有 int cur_stattype = 0 long cur_scid_arr[] long cur_scid = -1 String ls_newname = '' Long ll_prownum Long ls_powerid Int li_auditprint String ls_rpname = '' Long ls_msgprintid_rpt = 0 boolean if_sc = false //int if_viewprint uo_order_ml obj_order uo_saletask uo_sale int cur_inware = -1 int cur_sc = -1 int cur_ifsc = 0 int cur_ifstop=0 int cur_date = 0 int cur_iffinish = 0 boolean print_sc = false String ins_openfile_log[] //用于退出后删除 Long ins_openfile_log_p = 0 //用于退出后删除 Long ll_xls_billid,ll_xls_Templatesid String ls_xls_DefaultDataWindow end variables forward prototypes public function integer wf_hide_col () public function integer wf_dw () public function integer wf_refresh_interface () public subroutine wf_addlog_tempfilepathname (string arg_filepathname) public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg) public subroutine wf_checkdate () end prototypes event ue_viewprint();IF NOT f_power_ind(984) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long LS_ROW Long ll_sptid,printid String ls_taskcode String ls_printid String ls_parms[] String ls_msg Long ll_mx Long cur_scid Long ls_msgprintid s_saletaskmx s_mx[] ls_msgprintid = Message.LongParm SELECT dft_new_dwname,powerid,auditprint,prownum INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum 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 ddlb_scid.uo_scid = - 1 THEN MessageBox('提示','请先选择分部',information!,OK!) RETURN END IF ll_mx = 0 ls_msg = '' cur_scid = ddlb_scid.uo_scid dw_1.AcceptText() FOR LS_ROW = 1 TO dw_1.RowCount() IF dw_1.Object.isselect[LS_ROW] = 1 THEN ls_taskcode = dw_1.Object.u_saletask_taskcode[LS_ROW] ll_mx ++ ls_printid = String(dw_1.Object.u_saletaskmx_printid[LS_ROW],'#####0') ls_parms[ll_mx] = LeftTrim(RightTrim(ls_taskcode)) + LeftTrim(RightTrim(ls_printid)) s_mx[ll_mx].taskid = dw_1.Object.u_saletask_taskid[LS_ROW] s_mx[ll_mx].scid = dw_1.Object.u_saletask_scid[LS_ROW] s_mx[ll_mx].printid = dw_1.Object.u_saletaskmx_printid[LS_ROW] s_mx[ll_mx].ifsc = dw_1.Object.u_saletaskmx_ifsc[LS_ROW] s_mx[ll_mx].cardcount = dw_1.Object.u_saletaskmx_orderqty[LS_ROW] IF if_sc THEN IF s_mx[ll_mx].ifsc = 1 THEN ls_msg = ls_msg + '第' + String(dw_1.Object.row[LS_ROW]) + '行,订单:' + ls_taskcode + ',产品:' + dw_1.Object.u_mtrldef_mtrlcode[LS_ROW] + '已排产,不能重复排产! ~n' END IF END IF END IF NEXT IF ls_msg <> '' THEN MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF IF ll_mx = 0 THEN MessageBox('提示','请选择要打印的目标单据!',information!,OK!) RETURN ELSE IF if_sc THEN if_sc = FALSE IF obj_order.uof_sc(s_mx,ll_mx,1,ls_msg) = 0 THEN MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF END IF END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_sc_mx_edit' END IF datetime firstdate,enddate firstdate = DATEtime(date(EM_1.TEXT),time(0)) enddate = datetime(date(EM_2.TEXT),time('23:59:59')) LS_PRMSG.TAG_TEXT = '销售排产打印单汇总打印' 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_parms LS_PRMSG.rowcnt = ll_mx LS_PRMSG.retr_pramfdt = firstdate LS_PRMSG.retr_pramedt = enddate OpenWithParm(w_publ_preview,LS_PRMSG) String arg_msg printnum = Message.DoubleParm IF printnum > 0 THEN FOR LS_ROW = 1 TO ll_mx f_update_printnum('u_saletaskmx',printnum,cur_scid,s_mx[LS_ROW].scid,ls_parms[LS_ROW],'',arg_msg,TRUE) NEXT CHOOSE CASE sys_option_saletask_sc_print2 CASE 1 IF MessageBox ("询问","打印是否成功?成功则确认当前选定明细。",Question!,YesNo! ) = 1 THEN print_sc = TRUE cb_3.TriggerEvent(Clicked!) END IF CASE 2 print_sc = TRUE cb_3.TriggerEvent(Clicked!) END CHOOSE END IF end event event ue_print();IF NOT f_power_ind(987) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long LS_ROW Long ll_sptid,printid String ls_taskcode String ls_printid String ls_parms[] String ls_msg Long ll_mx Long cur_scid Long ls_msgprintid s_saletaskmx s_mx[] ls_msgprintid = Message.LongParm SELECT dft_new_dwname,powerid,auditprint,prownum INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum 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 ddlb_scid.uo_scid = - 1 THEN MessageBox('提示','请先选择分部',information!,OK!) RETURN END IF ll_mx = 0 ls_msg = '' cur_scid = ddlb_scid.uo_scid dw_1.AcceptText() FOR LS_ROW = 1 TO dw_1.RowCount() IF dw_1.Object.isselect[LS_ROW] = 1 THEN ls_taskcode = dw_1.Object.u_saletask_taskcode[LS_ROW] ll_mx ++ ls_printid = String(dw_1.Object.u_saletaskmx_printid[LS_ROW],'#####0') ls_parms[ll_mx] = LeftTrim(RightTrim(ls_taskcode)) + LeftTrim(RightTrim(ls_printid)) s_mx[ll_mx].taskid = dw_1.Object.u_saletask_taskid[LS_ROW] s_mx[ll_mx].scid = dw_1.Object.u_saletask_scid[LS_ROW] s_mx[ll_mx].printid = dw_1.Object.u_saletaskmx_printid[LS_ROW] s_mx[ll_mx].cardcount = dw_1.Object.u_saletaskmx_orderqty[LS_ROW] END IF NEXT IF ls_msg <> '' THEN MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF IF ll_mx = 0 THEN MessageBox('提示','请选择要打印的目标单据!',information!,OK!) RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_sc_mx_edit' END IF datetime firstdate,enddate firstdate = DATEtime(date(EM_1.TEXT),time(0)) enddate = datetime(date(EM_2.TEXT),time('23:59:59')) uo_print_preview uo_print LS_PRMSG.TAG_TEXT = '销售排产打印单汇总打印' 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_parms LS_PRMSG.rowcnt = ll_mx LS_PRMSG.retr_pramfdt = firstdate LS_PRMSG.retr_pramedt = enddate 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() FOR LS_ROW = 1 TO ll_mx f_update_printnum('u_saletaskmx',1,cur_scid,s_mx[LS_ROW].scid,ls_parms[LS_ROW],'',arg_msg,TRUE) NEXT CHOOSE CASE sys_option_saletask_sc_print2 CASE 1 IF MessageBox ("询问","打印是否成功?成功则确认当前选定明细。",Question!,YesNo! ) = 1 THEN print_sc = TRUE cb_3.TriggerEvent(Clicked!) END IF CASE 2 print_sc = TRUE cb_3.TriggerEvent(Clicked!) END CHOOSE end event event ue_viewprint_other();IF Not f_power_ind(984) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long LS_ROW Long ll_sptid,printid String ls_taskcode String ls_printid String ls_parms[] String ls_msg Long ll_mx Long cur_scid Long ls_msgprintid Long ld_orderqty s_saletaskmx s_mx[] S_print_MSG LS_PRMSG ls_msgprintid = Message.LongParm SELECT dft_new_dwname,powerid,auditprint,prownum INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum 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 ddlb_scid.uo_scid = - 1 THEN MessageBox('提示','请先选择分部',information!,OK!) RETURN END IF LS_PRMSG.TAG_TEXT = '销售排产打印单单件打印' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 18 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = cur_scid LS_PRMSG.rowcnt = 1 ll_mx = 0 ls_msg = '' cur_scid = ddlb_scid.uo_scid dw_1.AcceptText() FOR LS_ROW = 1 To dw_1.RowCount() IF dw_1.Object.isselect[LS_ROW] = 1 THEN ls_taskcode = dw_1.Object.u_saletask_taskcode[LS_ROW] IF dw_1.Object.u_saletask_status[LS_ROW] = 1 And dw_1.Object.u_saletaskmx_ifsc[LS_ROW] = 0 THEN ll_mx ++ LS_PRMSG.retr_pramnmb = dw_1.Object.u_SaleTask_TaskID[LS_ROW] LS_PRMSG.b_long = dw_1.Object.u_saletaskmx_printid[LS_ROW] ld_orderqty = Round(dw_1.Object.u_saletaskmx_orderqty[LS_ROW],0) IF ld_orderqty < dw_1.Object.u_saletaskmx_orderqty[LS_ROW] THEN ld_orderqty = ld_orderqty + 1 LS_PRMSG.c_long = ld_orderqty s_mx[ll_mx].taskid = dw_1.Object.u_SaleTask_TaskID[LS_ROW] s_mx[ll_mx].scid = dw_1.Object.u_saletask_scid[LS_ROW] s_mx[ll_mx].printid = dw_1.Object.u_saletaskmx_printid[LS_ROW] ELSE ls_msg = ls_msg + '第' + String(dw_1.Object.row[LS_ROW]) + '行,订单:' + ls_taskcode + ',产品:' + dw_1.Object.u_mtrldef_mtrlcode[LS_ROW] + '不符合条件打印! ~n' END IF END IF NEXT IF ls_msg <> '' THEN MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF IF ll_mx <> 1 THEN MessageBox('提示','打印目标只能选一条明细!',information!,OK!) RETURN ELSE IF if_sc THEN if_sc = False IF obj_order.uof_sc(s_mx,ll_mx,1,ls_msg) = 0 THEN MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF END IF END IF IF ls_newname <> '' THEN LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_sc_mx1_edit' END IF OpenWithParm(w_publ_preview,LS_PRMSG) cb_1.TriggerEvent(Clicked!) end event event ue_print_other();IF NOT f_power_ind(987) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long LS_ROW Long ll_sptid,printid String ls_taskcode String ls_printid String ls_parms[] String ls_msg Long ll_mx Long cur_scid Long ls_msgprintid long ld_orderqty s_saletaskmx s_mx[] ls_msgprintid = Message.LongParm S_print_MSG LS_PRMSG SELECT dft_new_dwname,powerid,auditprint,prownum INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum 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 ddlb_scid.uo_scid = - 1 THEN MessageBox('提示','请先选择分部',information!,OK!) RETURN END IF ll_mx = 0 ls_msg = '' cur_scid = ddlb_scid.uo_scid dw_1.AcceptText() FOR LS_ROW = 1 TO dw_1.RowCount() IF dw_1.Object.isselect[LS_ROW] = 1 THEN ls_taskcode = dw_1.Object.u_saletask_taskcode[LS_ROW] IF dw_1.Object.u_saletask_status[LS_ROW] = 1 THEN ll_mx ++ LS_PRMSG.retr_pramnmb = dw_1.Object.u_SaleTask_TaskID[LS_ROW] LS_PRMSG.b_long = dw_1.Object.u_saletaskmx_printid[LS_ROW] ld_orderqty = round(dw_1.Object.u_saletaskmx_orderqty[LS_ROW],0) if ld_orderqty < dw_1.Object.u_saletaskmx_orderqty[LS_ROW] then ld_orderqty = ld_orderqty + 1 LS_PRMSG.c_long = ld_orderqty s_mx[1].taskid = dw_1.Object.u_saletask_taskid[LS_ROW] s_mx[1].scid = dw_1.Object.u_saletask_scid[LS_ROW] s_mx[1].printid = dw_1.Object.u_saletaskmx_printid[LS_ROW] ELSE ls_msg = ls_msg + '第' + string(dw_1.Object.row[LS_ROW]) + '行,订单:' + ls_taskcode + ',产品:' + dw_1.Object.u_mtrldef_mtrlcode[LS_ROW] + '不符合条件打印! ~n' END IF END IF NEXT IF ls_msg <> '' THEN MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF IF ll_mx <> 1 THEN MessageBox('提示','打印目标只能选一条明细!',information!,OK!) RETURN END IF IF ls_newname <> '' THEN LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_sc_mx1_edit' END IF uo_print_preview uo_print LS_PRMSG.TAG_TEXT = '销售排产打印单单件打印' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 18 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = cur_scid LS_PRMSG.rowcnt = 1 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() cb_1.triggerevent(clicked!) end event event ue_psetup();s_print_value s_print s_print.obj_dw = DW_1 s_print.dft_printername = '' OpenWithParm(w_sys_printpage_value,s_print) end event event ue_xls(); string arg_msg Long ll_Templatesid,ll_ationid ll_Templatesid = Message.LongParm ll_ationid = long(Message.wordparm ) if isnull(ll_Templatesid) then ll_Templatesid = 0 if isnull(ll_ationid) then ll_ationid = 0 if ll_Templatesid = 0 then return ll_xls_Templatesid = ll_Templatesid uo_xls_constant uo_constant //Excel全局设置对象 uo_constant = create uo_xls_constant uo_sendtoexcel obj_st //实例化数据处理对象 obj_st = create uo_sendtoexcel obj_st.commit_transaction = sqlca //事务对象 建议显示设置 默认等于sqlca obj_st.uo_const = uo_constant //全局配置对象 s_xls_billlist str_billlist str_billlist = obj_st.of_getbillinfo(ll_Templatesid,arg_msg) //根据模版获取相应的单据信息 if str_billlist.count <=0 then MessageBox('错误',arg_msg) return end if if wf_xls_retrievedata(ll_ationid,str_billlist,obj_st,arg_msg) <> 1 then MessageBox('错误',arg_msg) return end if //发送数据 obj_st.event oe_sendtoexcel(str_billlist) end event event ue_p_plancode();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要以递增的方式批设定批号', question!, YesNo!, 2) = 2 THEN RETURN END IF dw_1.accepttext() IF dw_1.rowcount()<=0 then return string ls_plancode long ll_plancode,i string ls_zero long ll_zero ls_plancode = dw_1.object.plancode[1] string L_plancode,R_plancode L_plancode=left(ls_plancode,len(ls_plancode) - 4) R_plancode=right(ls_plancode, 4) ls_plancode=R_plancode IF NOT isnumber(ls_plancode) then messagebox("提示","第一行批号后四位不是数字形式,操作取消") return end if ll_plancode = long(ls_plancode) //ll_zero = len(ls_plancode) - LEN(string(ll_plancode)) //IF ll_zero >0 then // for i =1 to ll_zero // ls_zero = ls_zero +'0' // next //end if // dw_1.SetRedraw(FALSE) FOR i = 1 TO dw_1.RowCount() dw_1.object.plancode[i] = L_plancode +string(ll_plancode,'0000') ll_plancode++ NEXT dw_1.SetRedraw(TRUE) end event event ue_view_mxdscrp();s_view_dscrp s_view,s_return String ls_dscrp dw_1.AcceptText() ls_dscrp = dw_1.Object.u_saletaskmx_mxdscrp[dw_1.GetRow()] s_view.Title = '销售订单明细备注' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_1.Object.u_saletaskmx_mxdscrp[dw_1.GetRow()] = s_return.dscrp END IF end event event ue_view_mxdscrp2();s_view_dscrp s_view,s_return String ls_dscrp dw_1.AcceptText() ls_dscrp = dw_1.Object.mxdscrp2[dw_1.GetRow()] s_view.Title = '销售订单明细备注' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_1.Object.mxdscrp2[dw_1.GetRow()] = s_return.dscrp END IF end event event ue_p_mxdscrp3();IF Not dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要以递增的方式批设定明细备注3', question!, YesNo!, 2) = 2 THEN RETURN END IF dw_1.AcceptText() IF dw_1.RowCount() <= 0 THEN RETURN String ls_plancode Long ll_plancode,i String ls_zero Long ll_zero ls_plancode = dw_1.Object.u_saletaskmx_mxdscrp3[1] IF Not IsNumber(ls_plancode) THEN RETURN String L_plancode,R_plancode ll_plancode = Long(ls_plancode) dw_1.SetRedraw(False) FOR i = 1 To dw_1.RowCount() dw_1.Object.u_saletaskmx_mxdscrp3[i] =String(ll_plancode) ll_plancode++ NEXT dw_1.SetRedraw(True) end event event ue_p_mxdscrp4();IF Not dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要以递增的方式批设定明细备注4', question!, YesNo!, 2) = 2 THEN RETURN END IF dw_1.AcceptText() IF dw_1.RowCount() <= 0 THEN RETURN String ls_plancode Long ll_plancode,i String ls_zero Long ll_zero ls_plancode = dw_1.Object.u_saletaskmx_mxdscrp4[1] IF Not IsNumber(ls_plancode) THEN RETURN String L_plancode,R_plancode ll_plancode = Long(ls_plancode) dw_1.SetRedraw(False) FOR i = 1 To dw_1.RowCount() dw_1.Object.u_saletaskmx_mxdscrp4[i] =String(ll_plancode) ll_plancode++ NEXT dw_1.SetRedraw(True) end event public function integer wf_hide_col ();//s_hide_col s_col // //if dw_1.dataobject = 'dw_rp_sale_saletask' then // s_col.col_1 = 'fprice' // s_col.col_2 = 'amt' // s_col.col_3 = 'not_consignedqtyamt' // s_col.col_4 = 'u_saletaskmx_enprice' // s_col.col_5 = 'enamt' // s_col.col_6 = 'u_saletaskmx_dftsaleprice' // s_col.col_8 = 'rebate' // s_col.col_9 = 'u_saletaskmx_acprice' // s_col.col_10 = 'ware_amt' // s_col.col_11 = 'u_saletaskmx_ware_fprice' //elseif dw_1.dataobject = 'dw_rp_sale_saletask_hz' then // s_col.col_1 = 'amt' // s_col.col_2 = 'consignedqtyamt' // s_col.col_3 = 'not_consignedqtyamt' // s_col.col_4 = 'stopamt' //elseif dw_1.dataobject = 'dw_rp_sale_saletask_hz_cust' then // s_col.col_1 = 'amt' // s_col.col_2 = 'consignedqtyamt' // s_col.col_3 = 'not_consignedqtyamt' // s_col.col_4 = 'stopamt' //elseif dw_1.dataobject = 'dw_rp_sale_saletask_hz_assignemp' then // s_col.col_1 = 'amt' // s_col.col_2 = 'consignedqty' // s_col.col_3 = 'not_consignedqty' //elseif dw_1.dataobject = 'dw_rp_sale_saletask_hz_mtrlsectype' then // s_col.col_1 = 'amt' // s_col.col_2 = 'consignedqtyamt' // s_col.col_3 = 'not_consignedqtyamt' // s_col.col_4 = 'stopamt' //elseif dw_1.dataobject = 'dw_rp_sale_saletask_hz_zxmtrlmode' then // s_col.col_1 = 'amt' // s_col.col_2 = 'not_consignedqtyamt' // s_col.col_3 = 'consignedqtyamt' // s_col.col_4 = 'stopamt' //elseif dw_1.dataobject = 'dw_rp_sale_saletask_hz_bill' then // s_col.col_1 = 'amt' // s_col.col_2 = 'not_consignedqtyamt' // s_col.col_3 = 'consignedqtyamt' // s_col.col_4 = 'stopamt' //end if // // //f_hide_col(122,dw_1,s_col) // // return 1 // // // end function public function integer wf_dw ();//String ls_windowname //ls_windowname = THIS.ClassName ( ) // //String ls_old_dwname,ls_new_dwname = '' //ls_old_dwname = dw_1.DataObject //ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname) // //IF ls_new_dwname = '' THEN // ls_new_dwname = ls_old_dwname //END IF // //dw_1.DataObject = ls_new_dwname //dw_1.SetTransObject(sqlca) // //dw_1.triggerevent("constructor") ////dw_1.uf_read_profile_layout() ////f_title_change(dw_1) // // //s_hide_col s_col_mtrlsectype //s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype' //f_hide_col(1308,dw_1,s_col_mtrlsectype) // //s_hide_col s_col_zxmtrlmode //s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode' //f_hide_col(1309,dw_1,s_col_zxmtrlmode) RETURN 1 end function public function integer wf_refresh_interface ();//wf_refresh_interface IF dw_edit_mode THEN cb_3.Enabled = FALSE cb_4.Enabled = FALSE cb_10.Enabled = FALSE cb_2.Enabled = FALSE cb_add_sale.Enabled = FALSE cb_save.Enabled = TRUE cb_edit.Text = "放弃&E" cb_edit.normalpicname = 'Undo.bmp' dw_1.RBUTTON_FILTER_USE = FALSE //右键查询功能开关 dw_1.RBUTTON_SETPOSITION_USE = TRUE //定位 // dw_1.settaborder("isselect",0) dw_1.settaborder("u_saletaskmx_orderqty",10) dw_1.settaborder("needbuyqty",20) dw_1.settaborder("needwfjgqty",30) dw_1.settaborder("u_saletaskmx_mxdscrp",40) dw_1.settaborder("mxdscrp2",50) dw_1.settaborder("plancode",60) dw_1.settaborder("u_saletaskmx_mxdscrp3",70) dw_1.settaborder("u_saletaskmx_mxdscrp4",70) dw_1.settaborder("requiredate",80) dw_1.object.isselect_t.color = rgb(0,0,255) dw_1.object.u_saletaskmx_orderqty_t.color = rgb(0,0,255) dw_1.object.needbuyqty_t.color = rgb(0,0,255) dw_1.object.needwfjgqty_t.color = rgb(0,0,255) dw_1.object.u_saletaskmx_mxdscrp_t.color = rgb(0,0,255) dw_1.object.mxdscrp2_t.color = rgb(0,0,255) dw_1.object.plancode_t.color = rgb(0,0,255) dw_1.object.u_saletaskmx_mxdscrp3_t.color = rgb(0,0,255) dw_1.object.u_saletaskmx_mxdscrp4_t.color = rgb(0,0,255) ELSE cb_3.Enabled = TRUE cb_4.Enabled = TRUE cb_10.Enabled = TRUE cb_2.Enabled = TRUE cb_add_sale.Enabled = TRUE cb_save.Enabled = FALSE cb_edit.Text = "修改&E" cb_edit.normalpicname = 'OPEN.bmp' dw_1.RBUTTON_FILTER_USE = TRUE //右键查询功能开关 dw_1.RBUTTON_SETPOSITION_USE = TRUE //定位 // dw_1.settaborder("isselect",10) dw_1.settaborder("u_saletaskmx_orderqty",0) dw_1.settaborder("needbuyqty",0) dw_1.settaborder("needwfjgqty",0) dw_1.settaborder("u_saletaskmx_mxdscrp",0) dw_1.settaborder("mxdscrp2",0) dw_1.settaborder("plancode",0) dw_1.settaborder("u_saletaskmx_mxdscrp3",0) dw_1.settaborder("u_saletaskmx_mxdscrp4",0) dw_1.settaborder("requiredate",0) dw_1.object.isselect_t.color = rgb(0,0,255) dw_1.object.u_saletaskmx_orderqty_t.color = rgb(0,0,0) dw_1.object.needbuyqty_t.color = rgb(0,0,0) dw_1.object.needwfjgqty_t.color = rgb(0,0,0) dw_1.object.u_saletaskmx_mxdscrp_t.color = rgb(0,0,0) dw_1.object.mxdscrp2_t.color = rgb(0,0,0) dw_1.object.plancode_t.color = rgb(0,0,0) dw_1.object.u_saletaskmx_mxdscrp3_t.color = rgb(0,0,0) dw_1.object.u_saletaskmx_mxdscrp4_t.color = rgb(0,0,0) END IF cb_edit.of_init_draw() cb_edit.of_paint() cb_edit.TriggerEvent('ue_textchange') RETURN 1 end function public subroutine wf_addlog_tempfilepathname (string arg_filepathname);//wf_addlog_tempfilepathname if isnull(arg_filepathname) or len(trim(arg_filepathname))<3 then return ins_openfile_log_p++ ins_openfile_log[ins_openfile_log_p]=arg_filepathname // string ins_openfile_log[] //用于退出后删除 // long ins_openfile_log_p=0 //用于退出后删除 // end subroutine public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_1.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 string ls_taskcode Long li_printid dw_1.AcceptText() ll_scid = ddlb_scid.uo_scid ls_taskcode = dw_1.Object.u_saletask_taskcode[LS_ROW] li_printid = dw_1.Object.u_saletaskmx_printid[LS_ROW] //查询所选模版是否含有图片信息 Long ll_ifpic Long ll_classid SELECT ifpic INTO :ll_ifpic FROM U_XLS_Templates Where id = :ll_xls_Templatesid; IF sqlca.SQLCode <> 0 THEN ll_ifpic = 0 END IF Long ll_i,ll_j Long ll_mtrlid Long ll_fileid Blob ls_filedata SetNull(ls_filedata) String Pathname,ls_filename,ls_filetype String errmsg uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype s_xls_pic_list s_pic //结构数组-用于保存图片路径 IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件 SELECT classid INTO :ll_classid FROM u_billpic_fileclass Where (billtype = 102); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.isselect[i] = 1 THEN ll_mtrlid = dw_1.Object.mtrlid[ll_i] //取该附件类型中的第一个附件. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype FROM u_file WHERE relid = :ll_mtrlid AND classid = :ll_classid AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf' OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg') USING sys_fileDB_sqlca; IF sys_fileDB_sqlca.SQLCode <> 0 THEN ll_fileid = 0 END IF IF ll_fileid > 0 THEN Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype IF Trim(Pathname) <> '' THEN IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN RETURN 0 END IF IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN RETURN 0 ELSE s_pic.path[ll_i] = Pathname //记录临时文件位置,本窗口退出后删除 wf_addlog_tempfilepathname(Pathname) END IF ELSE s_pic.path[ll_i] = '' END IF ELSE s_pic.path[ll_i] = '' END IF END IF NEXT END IF // END IF ////可选设置/ // arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码 IF sys_option_xls_ifuse_passwd = 1 THEN arg_obj_st.uo_const.pwd = Trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码 Boolean xls_locked xls_locked = Not (sys_option_xls_lock = 1) // Excel 的可选设置 IF arg_obj_st.of_setoption(arg_ationid, xls_locked,TRUE,arg_msg) <> 1 THEN RETURN 0 END IF FOR i = 1 TO arg_str_billlist.count ////可选操作/ // arg_str_billlist.bill[i].ds_data = CREATE datastore // arg_str_billlist.bill[i].ds_data.DataObject = arg_str_billlist.bill[i].datawindow // arg_str_billlist.bill[i].ds_data.SetTransObject(sqlca) //修改点:注意retrieve 参数与上文对应 arg_str_billlist.bill[i].ds_data.Retrieve(ls_taskcode,li_printid) IF ll_ifpic = 1 and ll_classid > 0 THEN IF arg_str_billlist.bill[i].datawindow = 'dw_saletask_sc_mx_xls' AND arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径 FOR ll_j = 1 TO arg_str_billlist.bill[i].ds_data.RowCount() arg_str_billlist.bill[i].ds_data.Object.pic[ll_j] = s_pic.path[ll_j] NEXT END IF END IF NEXT DESTROY ls_uo_fjbt RETURN 1 end function public subroutine wf_checkdate ();// if cur_date = 0 then em_1.enabled = false em_2.enabled = false pb_em1.enabled = false pb_em2.enabled = false pb_2.enabled = false else em_1.enabled = true em_2.enabled = true pb_em1.enabled = true pb_em2.enabled = true pb_2.enabled = true end if end subroutine on w_saletask_sc_mx.create int iCurrent call super::create this.ddlb_1=create ddlb_1 this.ddlb_scid=create ddlb_scid this.cb_3=create cb_3 this.cb_4=create cb_4 this.cbx_allselect=create cbx_allselect this.cb_5=create cb_5 this.cb_6=create cb_6 this.cb_10=create cb_10 this.ddlb_2=create ddlb_2 this.ddlb_3=create ddlb_3 this.cb_edit=create cb_edit this.cb_save=create cb_save this.st_1=create st_1 this.cbx_notsc=create cbx_notsc this.cb_xls=create cb_xls this.st_5=create st_5 this.ddlb_status=create ddlb_status this.cbx_1=create cbx_1 this.cb_9=create cb_9 this.cb_11=create cb_11 this.cb_12=create cb_12 this.cb_add_sale=create cb_add_sale this.cbx_date=create cbx_date this.cbx_iffinish=create cbx_iffinish this.cb_7=create cb_7 this.cb_8=create cb_8 this.ln_7=create ln_7 this.ln_8=create ln_8 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_1 this.Control[iCurrent+2]=this.ddlb_scid this.Control[iCurrent+3]=this.cb_3 this.Control[iCurrent+4]=this.cb_4 this.Control[iCurrent+5]=this.cbx_allselect this.Control[iCurrent+6]=this.cb_5 this.Control[iCurrent+7]=this.cb_6 this.Control[iCurrent+8]=this.cb_10 this.Control[iCurrent+9]=this.ddlb_2 this.Control[iCurrent+10]=this.ddlb_3 this.Control[iCurrent+11]=this.cb_edit this.Control[iCurrent+12]=this.cb_save this.Control[iCurrent+13]=this.st_1 this.Control[iCurrent+14]=this.cbx_notsc this.Control[iCurrent+15]=this.cb_xls this.Control[iCurrent+16]=this.st_5 this.Control[iCurrent+17]=this.ddlb_status this.Control[iCurrent+18]=this.cbx_1 this.Control[iCurrent+19]=this.cb_9 this.Control[iCurrent+20]=this.cb_11 this.Control[iCurrent+21]=this.cb_12 this.Control[iCurrent+22]=this.cb_add_sale this.Control[iCurrent+23]=this.cbx_date this.Control[iCurrent+24]=this.cbx_iffinish this.Control[iCurrent+25]=this.cb_7 this.Control[iCurrent+26]=this.cb_8 this.Control[iCurrent+27]=this.ln_7 this.Control[iCurrent+28]=this.ln_8 end on on w_saletask_sc_mx.destroy call super::destroy destroy(this.ddlb_1) destroy(this.ddlb_scid) destroy(this.cb_3) destroy(this.cb_4) destroy(this.cbx_allselect) destroy(this.cb_5) destroy(this.cb_6) destroy(this.cb_10) destroy(this.ddlb_2) destroy(this.ddlb_3) destroy(this.cb_edit) destroy(this.cb_save) destroy(this.st_1) destroy(this.cbx_notsc) destroy(this.cb_xls) destroy(this.st_5) destroy(this.ddlb_status) destroy(this.cbx_1) destroy(this.cb_9) destroy(this.cb_11) destroy(this.cb_12) destroy(this.cb_add_sale) destroy(this.cbx_date) destroy(this.cbx_iffinish) destroy(this.cb_7) destroy(this.cb_8) destroy(this.ln_7) destroy(this.ln_8) end on event open;call super::open; //if_viewprint = Integer(f_ProfileString (sys_empid,this.ClassName( ), "if_viewprint", '0')) //IF if_viewprint = 0 THEN // rb_1.Checked = FALSE // rb_2.Checked = TRUE //ELSE // rb_1.Checked = TRUE // rb_2.Checked = FALSE //END IF end event event close;call super::close;//dw_1.uf_save_profile_layout() f_SetProfileString (sys_empid,"saletask_sc_mx", "cur_sc", string(cur_sc)) f_SetProfileString(sys_empid, "saletask_sc_mx", "cur_inware", string(cur_inware)) f_SetProfileString(sys_empid, "saletask_sc_mx", "cur_stattype", string(cur_stattype)) f_SetProfileString(sys_empid, "saletask_sc_mx", "cur_date", string(cur_date)) end event event ue_before_openretrieve;call super::ue_before_openretrieve;EM_1.TEXT=string(today(),'yyyy-mm')+'-01' EM_2.TEXT=STRING(TODAY(),'YYYY-MM-DD') s_hide_col s_col_mtrlsectype s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype' f_hide_col(1308,dw_1,s_col_mtrlsectype) s_hide_col s_col_zxmtrlmode s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode' f_hide_col(1309,dw_1,s_col_zxmtrlmode) end event event ue_before_open;call super::ue_before_open;st_1.visible = false obj_order = create uo_order_ml obj_order.commit_transaction = sqlca uo_sale = create uo_saletask uo_sale.commit_transaction = sqlca end event type cb_func from w_publ_easyq`cb_func within w_saletask_sc_mx 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 IF Len(Trim(menustr)) = 0 THEN menustr = "Text=数据发送~tEvent=ue_sentdataout" ELSE menustr = menustr + "|" + "Text=数据发送~tEvent=ue_sentdataout" END IF END IF IF menustr <> "" THEN menustr = menustr + "|" + "Text=-" IF Len(Trim(menustr)) = 0 THEN menustr = "Text=页面设置~tEvent=ue_psetup" ELSE menustr = menustr + "|" + "Text=页面设置~tEvent=ue_psetup" 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_saletask_sc_mx integer x = 3666 end type type cb_2 from w_publ_easyq`cb_2 within w_saletask_sc_mx integer x = 2898 integer width = 256 boolean bringtotop = true string text = "报表打印" end type event cb_2::clicked;IF DW_1.RowCount() >= 1 THEN cbx_YL.Checked = TRUE cbx_YL.TriggerEvent(Clicked!) OpenWithParm(w_sys_printpagesetting,DW_1) ELSE MessageBox('提示','数据窗口中没有任何记录,不能打印!',information!,OK!) 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_saletask_sc_mx boolean visible = false integer x = 306 boolean bringtotop = true end type type cb_1 from w_publ_easyq`cb_1 within w_saletask_sc_mx boolean bringtotop = true end type event cb_1::clicked;call super::clicked;//dw_1.uf_read_profile_layout() IF dw_edit_mode THEN RETURN datetime firstdate,enddate firstdate = DATEtime(date(EM_1.TEXT),time(0)) enddate = datetime(date(EM_2.TEXT),time('23:59:59')) Int li_option_outrep IF sys_power_issuper THEN li_option_outrep = 0 ELSE li_option_outrep = sys_option_outrep END IF dw_1.Retrieve(cur_scid_arr,cur_status,cur_stattype,firstdate,enddate,sys_areaid,cur_sc,cur_inware, sys_user_outrep, li_option_outrep,cur_ifsc,cur_ifstop,cur_date,cur_iffinish) //f_title_change(dw_1) //wf_hide_col() end event type st_3 from w_publ_easyq`st_3 within w_saletask_sc_mx integer x = 526 integer y = 304 integer width = 215 alignment alignment = left! end type type st_4 from w_publ_easyq`st_4 within w_saletask_sc_mx integer x = 1239 integer y = 304 end type type em_1 from w_publ_easyq`em_1 within w_saletask_sc_mx integer x = 736 integer y = 288 end type type em_2 from w_publ_easyq`em_2 within w_saletask_sc_mx integer x = 1339 integer y = 288 end type type ddlb_yl from w_publ_easyq`ddlb_yl within w_saletask_sc_mx integer x = 4087 integer y = 36 end type type cbx_yl from w_publ_easyq`cbx_yl within w_saletask_sc_mx integer x = 3835 integer y = 28 integer width = 238 end type type dw_1 from w_publ_easyq`dw_1 within w_saletask_sc_mx integer y = 400 integer width = 2967 integer height = 1724 string dataobject = "dw_saletask_sc_mx_edit" end type event dw_1::doubleclicked;String LS_STR,column_name IF Not DW_EDIT_MODE THEN IF if_mdf_title THEN IF Lower(Left(dwo.Type,4)) = 'text' THEN s_inputbox S_SREU S_SREU.Title = '目前标题为: '+dwo.Text+' 。请输入新标题: ' S_SREU.OLD_TEXT = dwo.Text column_name = dwo.Name OpenWithParm(w_inputbox,S_SREU) LS_STR = Message.StringParm IF Trim(LS_STR) <> '' And dwo.Text <> LS_STR THEN This.Modify(column_name+'.text="'+LS_STR+'"') END IF END IF ELSE IF row > 0 THEN String ls_code Long ll_scid ll_scid = This.Object.u_saletask_scid[row] ls_code = This.Object.u_saletask_taskcode[row] f_open_win(ll_scid,ls_code) END IF END IF ELSE IF Lower(Left(dwo.Type,4)) = 'text' THEN column_name = dwo.Name IF column_name = 'plancode_t' THEN Parent.TriggerEvent('ue_p_plancode') ELSEIF column_name = 'u_saletaskmx_mxdscrp3_t' THEN Parent.TriggerEvent('ue_p_mxdscrp3') ELSEIF column_name = 'u_saletaskmx_mxdscrp4_t' THEN Parent.TriggerEvent('ue_p_mxdscrp4') END IF ELSE IF dwo.Name = 'u_saletaskmx_mxdscrp' THEN Parent.TriggerEvent('ue_view_mxdscrp') RETURN ELSEIF dwo.Name = 'mxdscrp2' THEN Parent.TriggerEvent('ue_view_mxdscrp2') RETURN END IF END IF END IF //IF not dw_edit_mode THEN // IF row > 0 THEN // String ls_code // Long ll_scid // // ll_scid = THIS.Object.u_saletask_scid[row] // ls_code = THIS.Object.u_saletask_taskcode[row] // // f_open_win(ll_scid,ls_code) // END IF //END IF //IF dw_edit_mode THEN // // //END IF end event event dw_1::clicked;call super::clicked;this.setrow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) end event type sle_mtrl from w_publ_easyq`sle_mtrl within w_saletask_sc_mx end type type sle_cust from w_publ_easyq`sle_cust within w_saletask_sc_mx end type type st_mtrl from w_publ_easyq`st_mtrl within w_saletask_sc_mx end type type st_cust from w_publ_easyq`st_cust within w_saletask_sc_mx end type type cbx_loginretr from w_publ_easyq`cbx_loginretr within w_saletask_sc_mx integer x = 2674 end type type pb_em1 from w_publ_easyq`pb_em1 within w_saletask_sc_mx integer x = 1147 integer y = 288 end type type pb_em2 from w_publ_easyq`pb_em2 within w_saletask_sc_mx integer x = 1760 integer y = 288 end type type pb_2 from w_publ_easyq`pb_2 within w_saletask_sc_mx integer x = 1870 integer y = 288 end type type cb_help from w_publ_easyq`cb_help within w_saletask_sc_mx integer x = 3515 end type type cb_copyself from w_publ_easyq`cb_copyself within w_saletask_sc_mx boolean visible = false integer width = 238 end type type gb_1 from w_publ_easyq`gb_1 within w_saletask_sc_mx end type type ln_bar from w_publ_easyq`ln_bar within w_saletask_sc_mx end type type ln_bar2 from w_publ_easyq`ln_bar2 within w_saletask_sc_mx end type type r_bar from w_publ_easyq`r_bar within w_saletask_sc_mx integer x = 4649 integer y = 24 end type type ln_1 from w_publ_easyq`ln_1 within w_saletask_sc_mx integer beginy = 388 integer endy = 388 end type type ln_2 from w_publ_easyq`ln_2 within w_saletask_sc_mx integer beginy = 396 integer endy = 396 end type type ln_3 from w_publ_easyq`ln_3 within w_saletask_sc_mx end type type ln_4 from w_publ_easyq`ln_4 within w_saletask_sc_mx end type type ddlb_1 from dropdownlistbox within w_saletask_sc_mx integer y = 292 integer width = 407 integer height = 300 integer taborder = 110 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "按订货日期" boolean sorted = false string item[] = {"按订货日期","按交货日期"} borderstyle borderstyle = stylelowered! end type event selectionchanged;if this.text = '按订货日期' then cur_stattype = 0 else cur_stattype = 1 end if cb_1.triggerevent(clicked!) end event event constructor;cur_stattype = Long(f_ProfileString(sys_empid, "saletask_sc_mx", "cur_stattype", "0")) CHOOSE CASE cur_stattype CASE 0 this.Text = "按订货日期" CASE 1 this.Text = "按交货日期" END CHOOSE end event type ddlb_scid from uo_ddlb_scid within w_saletask_sc_mx integer y = 188 integer width = 549 integer height = 620 integer taborder = 90 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid_arr = THIS.uo_scid_arr cur_scid = This.uo_scid end event event selectionchanged;call super::selectionchanged;cur_scid_arr = THIS.uo_scid_arr cur_scid = This.uo_scid cb_1.triggerevent(clicked!) end event type cb_3 from uo_imflatbutton within w_saletask_sc_mx integer x = 603 integer width = 151 integer height = 164 integer taborder = 90 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(984) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF sys_option_saletask_sc_print = 0 or print_sc THEN print_sc = false Long LS_ROW Long ll_sptid,printid String ls_taskcode String ls_printid String ls_parms[] String ls_msg Long ll_mx Long ls_msgprintid s_saletaskmx s_mx[] dw_1.AcceptText() FOR LS_ROW = 1 TO dw_1.RowCount() IF dw_1.Object.isselect[LS_ROW] = 1 THEN ls_taskcode = dw_1.Object.u_saletask_taskcode[LS_ROW] IF dw_1.Object.u_saletaskmx_ifsc[LS_ROW] = 0 and dw_1.Object.u_saletask_status[LS_ROW] > 0 THEN ll_mx ++ ls_printid = String(dw_1.Object.u_saletaskmx_printid[LS_ROW],'#####0') ls_parms[ll_mx] = LeftTrim(RightTrim(ls_taskcode)) + LeftTrim(RightTrim(ls_printid)) s_mx[ll_mx].taskid = dw_1.Object.u_saletask_taskid[LS_ROW] s_mx[ll_mx].scid = dw_1.Object.u_saletask_scid[LS_ROW] s_mx[ll_mx].printid = dw_1.Object.u_saletaskmx_printid[LS_ROW] s_mx[ll_mx].cardcount = dw_1.Object.u_saletaskmx_orderqty[LS_ROW] s_mx[ll_mx].mtrlid = dw_1.Object.mtrlid[LS_ROW] s_mx[ll_mx].mtrlcode= dw_1.Object.u_mtrldef_mtrlcode[LS_ROW] s_mx[ll_mx].Status= dw_1.Object.u_saletaskmx_status[LS_ROW] s_mx[ll_mx].pcode= dw_1.Object.u_saletaskmx_pcode[LS_ROW] s_mx[ll_mx].woodcode= dw_1.Object.u_saletaskmx_woodcode[LS_ROW] ELSE ls_msg = ls_msg + '第' + String(dw_1.Object.row[LS_ROW]) + '行,订单:' + ls_taskcode + ',产品:' + dw_1.Object.u_mtrldef_mtrlcode[LS_ROW] + '~n' END IF END IF NEXT IF ls_msg <> '' THEN ls_msg = ls_msg + '已确认或未审核,操作取消! ' MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF IF obj_order.uof_sc(s_mx,ll_mx,1,ls_msg) = 0 THEN MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF cb_1.TriggerEvent(Clicked!) ELSE 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 if_sc = TRUE 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 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; 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 IF end event type cb_4 from uo_imflatbutton within w_saletask_sc_mx integer x = 754 integer width = 256 integer height = 164 integer taborder = 100 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(986) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long LS_ROW String ls_parms[] String ls_msg Long ll_mx String ls_taskcode s_saletaskmx s_mx[] IF MessageBox ("询问","是否确定要取消确认当前选择明细吗",Question!,YesNo! ) = 2 THEN RETURN IF ddlb_scid.uo_scid = - 1 THEN MessageBox('提示','请先选择分部',information!,OK!) RETURN END IF ll_mx = 0 ls_msg = '' dw_1.AcceptText() FOR LS_ROW = 1 TO dw_1.RowCount() IF dw_1.Object.isselect[LS_ROW] = 1 THEN ls_taskcode = dw_1.Object.u_saletask_taskcode[LS_ROW] IF dw_1.Object.u_saletaskmx_ifsc[LS_ROW] = 1 THEN ll_mx ++ s_mx[ll_mx].taskid = dw_1.Object.u_saletask_taskid[LS_ROW] s_mx[ll_mx].scid = dw_1.Object.u_saletask_scid[LS_ROW] s_mx[ll_mx].printid = dw_1.Object.u_saletaskmx_printid[LS_ROW] s_mx[ll_mx].printrow= dw_1.Object.row[LS_ROW] ELSE ls_msg = ls_msg + '第' + string(dw_1.Object.row[LS_ROW]) + '行,订单:' + ls_taskcode + ',产品:' + dw_1.Object.u_mtrldef_mtrlcode[LS_ROW] + '~n' END IF END IF NEXT IF ls_msg <> '' THEN ls_msg = ls_msg + '已经排产,不能取消确认!' MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF IF ll_mx = 0 THEN MessageBox('提示','请选择要目标明细!',information!,OK!) RETURN ELSE IF obj_order.uof_sc(s_mx,ll_mx,0,ls_msg) = 0 THEN MessageBox('错误',ls_msg,stopsign!,OK!) RETURN END IF END IF cb_1.triggerevent(clicked!) end event type cbx_allselect from checkbox within w_saletask_sc_mx integer x = 2011 integer y = 304 integer width = 210 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;Int li IF THIS.Checked THEN FOR li = 1 TO dw_1.RowCount() dw_1.object.isselect[li] = 1 NEXT ELSE FOR li = 1 TO dw_1.RowCount() dw_1.object.isselect[li] = 0 NEXT END IF end event type cb_5 from uo_imflatbutton within w_saletask_sc_mx integer x = 2514 integer width = 192 integer height = 164 integer taborder = 110 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 if_sc = FALSE 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 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 cb_6 from uo_imflatbutton within w_saletask_sc_mx integer x = 2706 integer width = 192 integer height = 164 integer taborder = 100 boolean bringtotop = true string text = "打印&O" string normalpicname = "print.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 IF li_ifuse = 0 THEN DECLARE dft_dwprint1 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_dwprint1; FETCH dft_dwprint1 INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_print',0,0) ELSE m_dft_dwprint_print_item m_3 m_3 = CREATE m_dft_dwprint_print_item ls_i = 1 DO WHILE sqlca.SQLCode = 0 f_add_menuitem_print_dft(m_3,ls_i,ls_chnname,String(ls_dwprintid)) FETCH dft_dwprint1 INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype; ls_i++ LOOP CLOSE dft_dwprint1; m_3.PopMenu(THIS.X+50,THIS.Y+50) END IF ELSE DECLARE rpt_dwprint2 CURSOR FOR SELECT RpID,RpName,Flag,Ifuse FROM U_report_list WHERE billid = :ll_billid Order By RpName; OPEN rpt_dwprint2; FETCH rpt_dwprint2 INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_print',0,0) ELSE m_rpt_dwprint_print_item m_4 m_4 = CREATE m_rpt_dwprint_print_item ls_i = 1 DO WHILE sqlca.SQLCode = 0 IF ll_ifuse = 1 AND ll_flag = 1 AND f_pow_rpt(ll_RpID) THEN //需添加权限 f_add_menuItem_print_rpt(m_4,ls_i,ll_rpname,String(ll_RpID)) END IF FETCH rpt_dwprint2 INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse; ls_i++ LOOP CLOSE rpt_dwprint2; m_4.Item[1].Visible = FALSE m_4.PopMenu(THIS.X+50,THIS.Y+50) END IF END IF end event type cb_10 from uo_imflatbutton within w_saletask_sc_mx integer x = 2286 integer width = 201 integer height = 164 integer taborder = 110 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(1357) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF dw_1.AcceptText() IF dw_1.RowCount() = 0 THEN RETURN Long i,cnt Long scid,taskid,mxprintid Long qty String ls_msg cnt = 0 s_edit_index_tran s_tranf8 FOR i = 1 TO dw_1.RowCount() IF dw_1.Object.isselect[i] = 1 THEN cnt ++ s_tranf8.arr_long[cnt] = dw_1.Object.u_saletask_scid[i] s_tranf8.arr_long2[cnt] = dw_1.Object.u_saletask_taskid[i] s_tranf8.arr_long3[cnt] = dw_1.Object.u_saletaskmx_printid[i] qty = ceiling(dw_1.Object.u_saletaskmx_orderqty[i]) s_tranf8.arr_long4[cnt] = qty END IF NEXT IF cnt = 0 THEN i = dw_1.GetRow() IF i <= 0 THEN MessageBox('提示','请先选择一条订单明细', information!, OK! ) RETURN END IF cnt ++ s_tranf8.arr_long[cnt] = dw_1.Object.u_saletask_scid[i] s_tranf8.arr_long2[cnt] = dw_1.Object.u_saletask_taskid[i] s_tranf8.arr_long3[cnt] = dw_1.Object.u_saletaskmx_printid[i] qty = ceiling(dw_1.Object.u_saletaskmx_orderqty[i]) s_tranf8.arr_long4[cnt] = qty END IF OpenWithParm(w_saletask_sc_card,s_tranf8) end event type ddlb_2 from dropdownlistbox within w_saletask_sc_mx integer x = 585 integer y = 188 integer width = 306 integer height = 300 integer taborder = 120 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "[全部]" boolean sorted = false string item[] = {"[全部]","未排产","已排产"} borderstyle borderstyle = stylelowered! end type event selectionchanged;IF THIS.Text = '未排产' THEN cur_sc = 0 ELSEIF THIS.Text = '已排产' THEN cur_sc = 1 ELSE cur_sc = -1 END IF cb_1.triggerevent(clicked!) end event event constructor; cur_sc = Long(f_ProfileString (sys_empid,"saletask_sc_mx", "cur_sc", "-1")) CHOOSE CASE cur_sc CASE 0 this.Text = "未排产" CASE 1 this.Text = "已排产" CASE -1 this.Text = "[全部]" END CHOOSE end event type ddlb_3 from dropdownlistbox within w_saletask_sc_mx integer x = 914 integer y = 192 integer width = 306 integer height = 300 integer taborder = 120 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "[全部]" boolean sorted = false string item[] = {"[全部]","未进仓","已进仓"} borderstyle borderstyle = stylelowered! end type event selectionchanged;IF This.Text = '未进仓' THEN cur_inware = 0 ELSEIF This.Text = '已进仓' THEN cur_inware = 1 ELSE cur_inware = -1 END IF cb_1.TriggerEvent(Clicked!) end event event constructor;cur_inware = Long(f_ProfileString(sys_empid, "saletask_sc_mx", "cur_inware", "-1")) CHOOSE CASE cur_inware CASE 0 this.Text = "未进仓" CASE 1 this.Text = "已进仓" CASE -1 this.Text = "[全部]" END CHOOSE end event type cb_edit from uo_imflatbutton within w_saletask_sc_mx integer x = 306 integer width = 151 integer height = 164 integer taborder = 90 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;IF NOT f_power_ind(1492) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF dw_edit_mode THEN IF MessageBox ("IF","是否确定要放弃保存?",Question!,YesNo! ) = 2 THEN RETURN ELSE END IF dw_edit_mode = NOT dw_edit_mode wf_refresh_interface() IF NOT dw_edit_mode THEN cb_1.TriggerEvent(Clicked!) END IF end event type cb_save from uo_imflatbutton within w_saletask_sc_mx integer x = 453 integer width = 151 integer height = 164 integer taborder = 100 boolean bringtotop = true boolean enabled = false string text = "保存" string normalpicname = "Save.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(1492) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF dw_1.AcceptText() IF dw_edit_mode THEN IF dw_1.GetNextModified(0, Primary!) = 0 THEN MessageBox('系统提示','没有任何修改,不可以保存!') RETURN END IF Int li_qtychk Long ll_scid, ll_taskid DateTime ldt_moddate Long ll_row, ll_rowCnt String ls_errmsg // ll_row = dw_1.Find("qtychk = 1",1, dw_1.RowCount()) // // IF ll_row > 0 THEN // MessageBox('系统提示','行['+String(ll_row)+'],需排产数 + 需订购数 + 需外协数 > 订单数量,请检查') // RETURN // END IF // //保存修改人 // ll_rowCnt = dw_1.RowCount() // ldt_moddate = DateTime(Today(), Now()) // DO WHILE ll_row <= ll_rowCnt // ll_row = dw_1.GetNextModified(ll_row, Primary!) // IF ll_row > 0 THEN // ll_scid = dw_1.Object.u_saletask_scid[ll_row] // ll_taskid = dw_1.Object.u_saletask_taskid[ll_row] // UPDATE u_saletask // SET moddate = :ldt_moddate, // modemp = :publ_operator // where scid = :ll_scid // and taskid = :ll_taskid; // IF sqlca.SQLCode <> 0 THEN // ROLLBACK; // MessageBox ("系统提示",ls_errmsg+"保存修改人操作失败!",exclamation!,OK!) // RETURN // END IF // ELSE // ll_row = ll_rowCnt + 1 // END IF // LOOP //保存修改 IF dw_1.Update() = -1 THEN ROLLBACK; MessageBox ("系统提示",ls_errmsg+"保存操作失败!",exclamation!,OK!) RETURN ELSE COMMIT; END IF END IF dw_edit_mode = NOT dw_edit_mode wf_refresh_interface() end event type st_1 from statictext within w_saletask_sc_mx integer x = 4375 integer y = 132 integer width = 457 integer height = 76 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 255 long backcolor = 67108864 string text = "dw_1要用到update" boolean focusrectangle = false end type type cbx_notsc from checkbox within w_saletask_sc_mx integer x = 2025 integer y = 196 integer width = 498 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;IF This.checked THEN cur_ifsc = 1 ELSE cur_ifsc = 0 END IF f_SetProfileString (sys_empid,'saletask_sc_mx', "cur_ifsc",String(cur_ifsc)) cb_1.TriggerEvent(Clicked!) end event event constructor;cur_ifsc = Long(f_ProfileString (sys_empid,"saletask_sc_mx", "cur_ifsc", "0")) //This.Checked = cur_ifsc = 1 // if cur_ifsc = 0 then This.Checked = false else This.Checked = true end if end event type cb_xls from uo_imflatbutton within w_saletask_sc_mx boolean visible = false integer x = 3232 integer width = 306 integer height = 164 integer taborder = 20 boolean bringtotop = true string text = "Excel打印" string normalpicname = "excel.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;// 约定 用 parent.Classname ( ) 即状况名称 作为打印模板的分类 uo_sendtoexcel obj_st obj_st = Create uo_sendtoexcel obj_st.commit_transaction = sqlca obj_st.TriggerEventObject = This.GetParent() obj_st.TriggerEventname = 'ue_xls' String arg_msg menu m1 m1 = obj_st.of_createmenu( Parent.ClassName ( ),sys_user_xls_print_str,sys_user_xls_send_str) IF UpperBound( m1.Item) = 2 THEN MessageBox('错误','当前单据还没有设置Excel打印模板.') ELSE m1.PopMenu(This.X ,This.Y+This.Height) END IF end event type st_5 from statictext within w_saletask_sc_mx integer x = 1248 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_status from uo_ddlb_status within w_saletask_sc_mx integer x = 1605 integer y = 192 integer width = 389 integer height = 812 integer taborder = 100 boolean bringtotop = true string item[] = {"[全部]","待审核[0]","待二审[4]","在进行[1]","已暂停[2]","已终止[3]","已完成[5]","手动完成[6]"} integer uo_status = 1 integer dft_index = 4 end type event selectionchanged;call super::selectionchanged;cb_1.TriggerEvent(Clicked!) end event event uof_getvalue;call super::uof_getvalue;cur_status = this.uo_status end event type cbx_1 from checkbox within w_saletask_sc_mx integer x = 2546 integer y = 196 integer width = 850 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;IF This.checked THEN cur_ifstop = 1 ELSE cur_ifstop = 0 END IF f_SetProfileString (sys_empid,'saletask_sc_mx', "cur_ifstop",String(cur_ifstop)) cb_1.TriggerEvent(Clicked!) end event event constructor;cur_ifstop = Long(f_ProfileString (sys_empid,"saletask_sc_mx", "cur_ifstop", "0")) //This.Checked = cur_ifsc = 1 // if cur_ifstop = 0 then This.Checked = false else This.Checked = true end if end event type cb_9 from commandbutton within w_saletask_sc_mx integer x = 2487 integer y = 304 integer width = 402 integer height = 84 integer taborder = 130 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "自动批号" end type event clicked;Long ll_Plancode,ll_number,ll_row long ll_scid,ll_taskid,ll_printid string ls_Plancode,ls_mid_number,ls_left,ls_auto_code,ls_j Int i,j = 0 FOR ll_row = 1 TO dw_1.RowCount() if dw_1.Object.u_saletaskmx_ifsc[ll_row] = 1 then Continue//已排产不参与自动批号 IF dw_1.Object.isselect[ll_row] = 1 THEN ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid = dw_1.Object.u_saletaskmx_printid[ll_row] // ls_plancode = dw_1.Object.plancode[ll_row] // if ls_plancode <> '' then // MessageBox('错误','选中的某个订单已有批号,请重新选择!',information!,OK!) // exit // end if select max(Plancode) into :ls_Plancode from u_saletaskmx; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查找编号失败!~n'+sqlca.SQLErrText,information!,OK!) RETURN End if IF IsNull(ls_Plancode) THEN ll_number = 0 ls_left = '000' ELSE for i = 1 to len(ls_Plancode) ls_mid_number = Mid(ls_Plancode,i,1) if isnumber(ls_mid_number) = true then exit end if next ll_number = LONG(right(ls_Plancode,len(ls_Plancode) - i + 1)) ls_left = left(ls_Plancode,i -1) END IF ls_auto_code = ls_left + String(ll_number+1,'0000') dw_1.Object.plancode[ll_row] = ls_auto_code UPDATE u_saletaskmx SET plancode = :ls_auto_code WHERE scid = :ll_scid AND TaskID = :ll_taskid AND printid = :ll_printid; j++ end if next if j = 0 then MessageBox('提示','请选择订单!',information!,OK!) return else ls_j = string(j) MessageBox('提示','成功为'+ls_j+'行数据进行自动批号',information!,OK!) end if end event type cb_11 from uo_imflatbutton within w_saletask_sc_mx integer x = 1010 integer width = 165 integer height = 164 integer taborder = 100 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(2062) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF If dw_edit_mode Then Return Long ll_row Long ll_scid,ll_taskid,ll_printid Int li_checkflag,j,i = 0 String ls_emp,ls_j,ls_msg,ls_taskcode DateTime nulldate,ld_checkdate SetNull(nulldate) ls_emp = publ_operator If MessageBox ("询问","是否确定要对选中订单进行核对?",Question!,YesNo! ) = 2 Then Return For ll_row = 1 To dw_1.RowCount() If dw_1.Object.isselect[ll_row] = 1 Then ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid = dw_1.Object.u_saletaskmx_printid[ll_row] li_checkflag = dw_1.Object.checkflag[ll_row] ls_taskcode = dw_1.Object.u_saletask_taskcode[ll_row] If li_checkflag <> 0 Then ls_msg = ls_msg + '第' + String(dw_1.Object.row[ll_row]) + '行,订单:' + ls_taskcode + ',产品:' + dw_1.Object.u_mtrldef_mtrlcode[ll_row] + '~n' i++ If ls_msg <> '' Then ls_msg = ls_msg + '已核对,不能重复核对! '+'~r~n' End If End If If uo_sale.salecheck(ll_scid,ll_taskid,ll_printid,ls_emp,ls_msg,True) = 0 Then Continue End If Select checkflag, checkemp, checkdate Into :li_checkflag, :ls_emp, :ld_checkdate From u_saletaskmx Where scid = :ll_scid And taskid = :ll_taskid And printid = :ll_printid; dw_1.Object.checkflag[ll_row] = li_checkflag dw_1.Object.checkemp[ll_row] = ls_emp dw_1.Object.checkdate[ll_row] = ld_checkdate j++ End If Next If i > 0 Then MessageBox('错误',ls_msg,stopsign!,OK!) End If If j = 0 Then MessageBox('提示','请选择订单!',information!,OK!) Return End If end event type cb_12 from uo_imflatbutton within w_saletask_sc_mx integer x = 1179 integer width = 274 integer height = 164 integer taborder = 110 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(2063) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF DateTime nulldate SetNull(nulldate) Long ll_row,ll_scid,ll_taskid,ll_printid Int li_checkflag,j,i = 0 String ls_j,ls_msg,ls_taskcode,ls_emp,ld_checkdate If MessageBox ("询问","是否取消核对选中订单?",Question!,YesNo! ) = 2 Then Return For ll_row = 1 To dw_1.RowCount() If dw_1.Object.isselect[ll_row] = 1 Then ll_scid = dw_1.Object.scid[ll_row] ll_taskid = dw_1.Object.taskid[ll_row] ll_printid = dw_1.Object.u_saletaskmx_printid[ll_row] li_checkflag = dw_1.Object.checkflag[ll_row] ls_taskcode = dw_1.Object.u_saletask_taskcode[ll_row] If li_checkflag <> 1 Then ls_msg = ls_msg + '第' + String(dw_1.Object.row[ll_row]) + '行,订单:' + ls_taskcode + ',产品:' + dw_1.Object.u_mtrldef_mtrlcode[ll_row] + '~n' i++ If ls_msg <> '' Then ls_msg = ls_msg + '没有核对,不能取消核对! '+'~r~n' End If End If If uo_sale.salecheck_cancel(ll_scid,ll_taskid,ll_printid,ls_msg,True) = 0 Then End If dw_1.Object.checkflag[ll_row] = 0 dw_1.Object.checkemp[ll_row] = '' dw_1.Object.checkdate[ll_row] = nulldate j++ End If Next If i > 0 Then MessageBox('错误',ls_msg,stopsign!,OK!) End If If j = 0 Then MessageBox('提示','请选择订单!',information!,OK!) Return End If end event type cb_add_sale from uo_imflatbutton within w_saletask_sc_mx integer x = 1458 integer width = 384 integer height = 164 integer taborder = 50 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; IF Not (f_power_ind(11) Or f_power_ind(869)) THEN MessageBox(publ_operator,'没有使用权限!') RETURN END IF IF cur_scid < 0 THEN MessageBox('系统提示','请先选择分部') RETURN END IF Long ll_row,ll_i Long ll_found,ll_cusid,ll_storageid String ls_scname Long cnt = 0 String ls_cus_address,ls_rel_rep s_edit_index_tran s_tran,s_ch ll_found = dw_1.Find("isselect = 1",1, dw_1.RowCount()) IF ll_found <= 0 THEN MessageBox('系统提示','请先选择要建立发货单的订单明细') RETURN END IF FOR ll_i = 1 To dw_1.RowCount() IF dw_1.Object.isselect[ll_i] = 1 THEN IF dw_1.Object.u_saletask_status[ll_i] <> 1 THEN MessageBox('系统提示','选中的订单中含有不是在进行状态的,请检查') RETURN END IF IF cnt = 0 THEN ll_cusid = dw_1.Object.cusid[ll_i] ls_cus_address = dw_1.Object.cus_address[ll_i] ls_rel_rep = dw_1.Object.rel_rep[ll_i] ELSE IF ll_cusid <> dw_1.Object.cusid[ll_i] And ll_cusid <> 0 THEN MessageBox('系统提示','请选择相同客户的订单明细') RETURN END IF END IF cnt++ s_tran.arr_long[cnt] = dw_1.Object.u_saletask_taskid[ll_i] s_tran.arr_long2[cnt] = dw_1.Object.u_saletaskmx_printid[ll_i] s_tran.arr_long3[cnt] = dw_1.Object.mtrlid[ll_i] s_tran.arr_string[cnt] = dw_1.Object.u_saletask_taskcode[ll_i] END IF NEXT FOR ll_i = 1 To dw_1.RowCount() IF dw_1.Object.isselect[ll_i] = 1 THEN IF ls_cus_address <> dw_1.Object.cus_address[ll_i] THEN IF MessageBox('询问','所选订单出现不同的客户地址,是否继续?',question!,yesno!) = 2 THEN RETURN ELSE EXIT END IF END IF IF ls_rel_rep <> dw_1.Object.rel_rep[ll_i] THEN IF MessageBox('询问','所选订单出现不同的联系人,是否继续?',question!,yesno!) = 2 THEN RETURN ELSE EXIT END IF END IF END IF NEXT Open(w_storage_index_ch) s_ch = Message.PowerObjectParm IF s_ch.c_long = 0 THEN RETURN ll_storageid = s_ch.c_long s_tran.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行 s_tran.work_mode = 0 //0-单纯编辑模式, 1-选择模式 s_tran.arg_pkid = 0 //目标定位PKID (备用) s_tran.arg_string_code = '' //查询列部分内容,用于初步筛选 s_tran.e_long = 1 s_tran.c_long = cur_scid SELECT scname INTO :ls_scname FROM u_scdef Where scid = :s_tran.c_long; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询单据所属分部失败') RETURN END IF s_tran.d_string = ls_scname s_tran.d_long = 2 s_tran.g_long = ll_cusid s_tran.f_long = ll_storageid //OpenWithParm(w_outware_sale,s_tran) IF Not IsValid(w_outware_sale) THEN OpenWithParm(w_outware_sale,s_tran) w_outware_sale.cb_add.TriggerEvent(Clicked!) String errmsg = '' if w_outware_sale.wf_autoaddmx_rp(s_tran,errmsg) = 0 then MessageBox('系统提示','新建失败,'+errmsg) end if w_outware_sale.dw_uc.SetRedraw(True) END IF end event type cbx_date from checkbox within w_saletask_sc_mx integer x = 434 integer y = 300 integer width = 82 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 end type event clicked;IF This.checked THEN cur_date = 1 ELSE cur_date = 0 END IF wf_checkdate() cb_1.TriggerEvent(Clicked!) end event event constructor;cur_date = Long(f_ProfileString (sys_empid,"saletask_sc_mx", "cur_date", "1")) This.Checked = cur_date = 1 wf_checkdate() end event type cbx_iffinish from checkbox within w_saletask_sc_mx integer x = 3433 integer y = 192 integer width = 631 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;IF This.checked THEN cur_iffinish = 1 ELSE cur_iffinish = 0 END IF f_SetProfileString (sys_empid,'saletask_sc_mx', "cur_iffinish",String(cur_iffinish)) cb_1.TriggerEvent(Clicked!) end event event constructor;cur_iffinish = Long(f_ProfileString (sys_empid,"saletask_sc_mx", "cur_iffinish", "0")) //This.Checked = cur_ifsc = 1 // if cur_iffinish = 0 then This.Checked = false else This.Checked = true end if end event type cb_7 from uo_imflatbutton within w_saletask_sc_mx integer x = 1847 integer width = 439 integer height = 164 integer taborder = 60 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;//辅助生成生产进仓单 IF NOT( f_power_ind(1494) OR f_power_ind(1054) ) 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.isselect[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.u_saletaskmx_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.flag[i] = 1 & // AND dw_1.Object.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.u_saletaskmx_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 type cb_8 from uo_imflatbutton within w_saletask_sc_mx integer x = 3154 integer width = 357 integer height = 164 integer taborder = 110 boolean bringtotop = true string text = "Excel打印&O" string normalpicname = "excel.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;// 约定 用 parent.Classname ( ) 即状况名称 作为打印模板的分类 uo_sendtoexcel obj_st obj_st = create uo_sendtoexcel obj_st.commit_transaction = sqlca obj_st.TriggerEventObject = this.getparent() obj_st.TriggerEventname = 'ue_xls' string arg_msg menu m1 m1 = obj_st.of_createmenu( parent.Classname ( ),sys_user_xls_print_str,sys_user_xls_send_str) if upperbound( m1.item)=2 then messagebox('错误','当前单据还没有设置Excel打印模板.') else m1.PopMenu(this.x ,this.y+THIS.height) end if end event type ln_7 from line within w_saletask_sc_mx long linecolor = 268435456 integer linethickness = 4 integer beginx = 2496 integer endx = 2496 integer endy = 184 end type type ln_8 from line within w_saletask_sc_mx long linecolor = 16777215 integer linethickness = 4 integer beginx = 2487 integer beginy = 12 integer endx = 2487 integer endy = 184 end type