$PBExportHeader$w_outware_sale_oppose_ch.srw forward global type w_outware_sale_oppose_ch from w_pageretr_ch end type type cbx_mlselect from checkbox within w_outware_sale_oppose_ch end type type cb_other from uo_imflatbutton within w_outware_sale_oppose_ch end type end forward global type w_outware_sale_oppose_ch from w_pageretr_ch integer width = 3506 integer height = 2124 string title = "订单产品选择 [按Ctrl键反选]" cbx_mlselect cbx_mlselect cb_other cb_other end type global w_outware_sale_oppose_ch w_outware_sale_oppose_ch type variables s_saletask_mtrl INS_RT_STRU Int if_mlselect = 0 Boolean if_changeselect = TRUE long rtr_mtrlid = 0 end variables on w_outware_sale_oppose_ch.create int iCurrent call super::create this.cbx_mlselect=create cbx_mlselect this.cb_other=create cb_other iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cbx_mlselect this.Control[iCurrent+2]=this.cb_other end on on w_outware_sale_oppose_ch.destroy call super::destroy destroy(this.cbx_mlselect) destroy(this.cb_other) end on event ue_before_open;call super::ue_before_open;if_ue_retr=true if_ue_sort=true end event event close;call super::close;cLOSEWITHRETURN(THIS,INS_RT_STRU) // 窗体级子定义结构变量,用于返回 end event event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+'( u_mtrldef_mtrlcode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( u_mtrldef_mtrlcode LIKE "'+trim(sle_usual_query.text)+'" )' END IF end if dw_pageretr.setfilter(obj_expr) dw_pageretr.SetRedraw(False) dw_pageretr.filter() if dw_pageretr.rowcount()>=1 then dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(1,true ) end if dw_pageretr.SetRedraw(TRUE ) end event event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart="u_mtrldef.mtrlcode like '%"+trim(sle_usual_query.text)+"%'" else ls_querystrpart="u_mtrldef.mtrlcode like '"+trim(sle_usual_query.text)+"'" end if if Pos(Lower(ls_newselect)," where ") <> 0 then ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled cb_nextpage_enabled=cb_nextpage.enabled cb_retrieveall_enabled=cb_retrieveall.enabled cb_func_enabled=cb_func.enabled cb_nextpage.enabled=false cb_retrieveall.enabled=false cb_func.enabled=false SetPointer(HourGlass!) dw_pageretr.retrieve(rtr_mtrlid) if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1) SetPointer(Arrow!) cb_nextpage.enabled=cb_nextpage_enabled cb_retrieveall.enabled=cb_retrieveall_enabled cb_func.enabled=cb_func_enabled IF cbx_mlselect.Checked AND dw_pageretr.RowCount() > 1 THEN dw_pageretr.SelectRow(1,FALSE) END IF end event event open;This.TriggerEvent('ue_before_open') wf_movetocenter() OLD_TITLE = This.Title s_tran = Message.PowerObjectParm IF Not IsNull(s_tran) THEN retrieve_all = s_tran.if_retrieve_all mode = s_tran.work_mode arg_pkid = s_tran.arg_pkid arg_string_code = s_tran.arg_string_code if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效 ds_share = s_tran.ds_share rtr_mtrlid = s_tran.d_long IF s_tran.e_long = 1 THEN cbx_mlselect.Checked = False cbx_mlselect.Enabled = False END IF END IF dw_pageretr.RBUTTON_FILTER_USE = True //右键查询功能开关 dw_pageretr.titleclick_sort_use = True //单击标题排序功能开关 dw_pageretr.SetTransObject (sqlca) pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字 ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select") ls_newselect = ori_oldselect ds_curquery = Create DATASTORE ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) wf_editindex_lockf() s_hide_col s_col_mtrlsectype s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype' f_hide_col(1308,dw_pageretr,s_col_mtrlsectype) s_hide_col s_col_zxmtrlmode s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode' f_hide_col(1309,dw_pageretr,s_col_zxmtrlmode) sle_usual_query.Text = Trim(arg_string_code) IF Not retrieve_all THEN This.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve ELSE IF if_sharedata THEN ds_share.ShareData(dw_pageretr) ELSE wf_retrieveuc(dw_pageretr,ls_newselect,1) This.TriggerEvent('RETRIEVE_pageretr') END IF END IF IF retrieve_all THEN This.TriggerEvent("ue_usual_query_filt") END IF end event type cb_func from w_pageretr_ch`cb_func within w_outware_sale_oppose_ch end type type cb_exit from w_pageretr_ch`cb_exit within w_outware_sale_oppose_ch integer x = 965 end type type sle_usual_query from w_pageretr_ch`sle_usual_query within w_outware_sale_oppose_ch integer x = 197 integer y = 188 end type type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_outware_sale_oppose_ch integer x = 1413 end type type em_pagerowno from w_pageretr_ch`em_pagerowno within w_outware_sale_oppose_ch integer x = 1115 integer y = 32 end type type dw_pageretr from w_pageretr_ch`dw_pageretr within w_outware_sale_oppose_ch integer width = 3465 integer height = 1712 string dataobject = "dw_outware_sale_oppose_ch" boolean rbutton_filter_use = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event dw_pageretr::clicked;if row>0 then this.setrow(row) if if_mlselect=1 then if if_changeselect then this.selectrow(row,not this.IsSelected(row)) else if_changeselect=true end if else this.selectrow(0,false) this.selectrow(row,true) end if end if end event event dw_pageretr::doubleclicked;cb_choice.TRIGGEREVENT(CLICKED!) end event event dw_pageretr::rowfocuschanged;if if_mlselect=1 then if currentrow <=0 then return if keydown(keycontrol!) then if this.isselected(currentrow) then this.selectrow(currentrow,false) if_changeselect=false else if_changeselect=true end if else if not this.isselected(currentrow) then this.selectrow(currentrow,true) if_changeselect=false else if_changeselect=true end if end if else if dw_edit_mode then return if currentrow <=0 then return this.selectrow(0,false) this.selectrow(currentrow,true) end if end event event dw_pageretr::dwnkey;call super::dwnkey;if keydown(keyenter!) then return 1 end event type st_1 from w_pageretr_ch`st_1 within w_outware_sale_oppose_ch integer x = 18 end type type cb_nextpage from w_pageretr_ch`cb_nextpage within w_outware_sale_oppose_ch integer x = 1563 end type type cb_choice from w_pageretr_ch`cb_choice within w_outware_sale_oppose_ch integer x = 818 integer taborder = 120 end type event cb_choice::clicked;call super::clicked;Long ROW,ls_i = 0,chC = 0 ROW = dw_pageretr.GetRow() IF ROW <= 0 THEN MessageBox('提示','请先选择目标行!',information!,OK!) RETURN END IF FOR ls_i = 1 To dw_pageretr.RowCount() IF dw_pageretr.IsSelected(ls_i) THEN chC++ INS_RT_STRU.mtrlid[chC] = dw_pageretr.Object.u_outwaremx_mtrlid[ls_i] INS_RT_STRU.mtrlcode[chC] = dw_pageretr.Object.u_mtrldef_mtrlcode[ls_i] INS_RT_STRU.mtrlname[chC] = dw_pageretr.Object.u_mtrldef_mtrlname[ls_i] INS_RT_STRU.mtrlmode[chC] = dw_pageretr.Object.u_mtrldef_mtrlmode[ls_i] INS_RT_STRU.unit[chC] = dw_pageretr.Object.u_mtrldef_unit[ls_i] INS_RT_STRU.cusid[chC] = dw_pageretr.Object.u_cust_cusid[ls_i] INS_RT_STRU.qty[chC] = dw_pageretr.Object.u_outwaremx_saleqty[ls_i] INS_RT_STRU.scid[chC] = dw_pageretr.Object.u_outwaremx_scid[ls_i] INS_RT_STRU.taskid[chC] = dw_pageretr.Object.u_outware_outwareid[ls_i] INS_RT_STRU.taskcode[chC] = dw_pageretr.Object.u_outware_outwarecode[ls_i] INS_RT_STRU.cusname[chC] = dw_pageretr.Object.u_cust_name[ls_i] // INS_RT_STRU.mxdscrp[chC] = dw_pageretr.Object.u_outwaremx_mxdscrp[ls_i] INS_RT_STRU.status[chC] = dw_pageretr.Object.u_outwaremx_status[ls_i] INS_RT_STRU.woodcode[chC] = dw_pageretr.Object.u_outwaremx_woodcode[ls_i] INS_RT_STRU.pcode[chC] = dw_pageretr.Object.u_outwaremx_pcode[ls_i] INS_RT_STRU.taskdate[chC] = dw_pageretr.Object.u_outware_outdate[ls_i] // INS_RT_STRU.part[chC] = dw_pageretr.Object.u_outware_part[ls_i] INS_RT_STRU.printid[chC] = dw_pageretr.Object.u_outwaremx_printid[ls_i] INS_RT_STRU.plancode[chC] = dw_pageretr.Object.u_outwaremx_plancode[ls_i] INS_RT_STRU.mtrlengname[chC] = dw_pageretr.Object.u_mtrldef_mtrlengname[ls_i] INS_RT_STRU.rel_rep[chC] = dw_pageretr.Object.u_outware_rel_rep[ls_i] END IF NEXT IF chC = 0 THEN MessageBox('提示','请至少选择一个目标行!',information!,OK!) RETURN END IF Close(Parent) end event type cb_refresh from w_pageretr_ch`cb_refresh within w_outware_sale_oppose_ch end type type cb_help from w_pageretr_ch`cb_help within w_outware_sale_oppose_ch end type type ln_bar from w_pageretr_ch`ln_bar within w_outware_sale_oppose_ch end type type ln_bar2 from w_pageretr_ch`ln_bar2 within w_outware_sale_oppose_ch end type type r_bar from w_pageretr_ch`r_bar within w_outware_sale_oppose_ch end type type ln_1 from w_pageretr_ch`ln_1 within w_outware_sale_oppose_ch end type type ln_2 from w_pageretr_ch`ln_2 within w_outware_sale_oppose_ch end type type cbx_mlselect from checkbox within w_outware_sale_oppose_ch integer x = 837 integer y = 204 integer width = 256 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 string text = "多选" end type event clicked;if this.checked then if_mlselect=1 else if_mlselect=0 end if f_SetProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", string(if_mlselect)) end event event constructor;if_mlselect=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", '0')) if if_mlselect =0 then this.checked=false else this.checked=true end if end event type cb_other from uo_imflatbutton within w_outware_sale_oppose_ch integer x = 453 integer width = 361 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "产品相关查询" string normalpicname = "imexport.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;Long ll_row ll_row = dw_pageretr.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请选择物料',information!,OK!) RETURN END IF Long ll_mtrlid ll_mtrlid = dw_pageretr.Object.u_outwaremx_mtrlid[ll_row] IF IsValid(w_mtrl_info) THEN w_mtrl_info.WindowState = Normal! w_mtrl_info.ins_mtrlid = ll_mtrlid w_mtrl_info.wf_retrieve(ll_mtrlid) ELSE OpenWithParm(w_mtrl_info,ll_mtrlid) END IF end event