$PBExportHeader$w_pz_def_pack.srw forward global type w_pz_def_pack from w_publ_edit_choice end type type dw_pzmx from u_dw_rbtnfilter within w_pz_def_pack end type type cb_print from uo_imflatbutton within w_pz_def_pack end type type cb_edit_pzmx from uo_imflatbutton within w_pz_def_pack end type type cb_add_pzmx from uo_imflatbutton within w_pz_def_pack end type type cb_delet_pzmx from uo_imflatbutton within w_pz_def_pack end type end forward global type w_pz_def_pack from w_publ_edit_choice string tag = "包件类产品配置定义" integer width = 2912 integer height = 1976 string title = "产品配置资料定义" boolean minbox = true windowtype windowtype = popup! event retr_pzmx ( ) dw_pzmx dw_pzmx cb_print cb_print cb_edit_pzmx cb_edit_pzmx cb_add_pzmx cb_add_pzmx cb_delet_pzmx cb_delet_pzmx end type global w_pz_def_pack w_pz_def_pack type variables Boolean dw_edit_mode_pz = FALSE Boolean dw_edit_mode_pzmx = FALSE boolean ls_update_flag_pz = true boolean ls_update_flag_pzmx = true long modifyrow_no_pz=0,crl_row_pz //当前行记录 long modifyrow_no_pzmx=0,crl_row_pzmx //当前行记录 end variables forward prototypes public function integer wf_face_change_pz () public function integer wf_face_change_pzmx () end prototypes event retr_pzmx();long ls_row ls_row=dw_uc.getrow( ) if ls_row<=0 then dw_pzmx.reset( ) else long old_row old_row = dw_pzmx.getrow( ) dw_pzmx.setredraw( false) dw_pzmx.retrieve(dw_uc.object.pzid[ls_row] ) dw_pzmx.setredraw(true) if old_row<=0 or old_row>dw_pzmx.rowcount( ) then old_row=1 end if if dw_pzmx.rowcount( )>0 then dw_pzmx.selectrow( 0, false) dw_pzmx.selectrow( old_row, true) dw_pzmx.setrow( old_row) end if end if end event public function integer wf_face_change_pz ();IF dw_edit_mode_pz THEN cb_func.Enabled = FALSE cb_choice.Enabled = FALSE //cb_delet_pz.Enabled = FALSE cb_rtr.Enabled = FALSE // cb_edit_pz.Text = "放弃" // cb_add_pz.Text = "保存" // cb_edit_pz.normalpicname = 'Undo.bmp' // cb_add_pz.normalpicname = 'Save.bmp' ELSE cb_func.Enabled = TRUE //cb_delet_pz.Enabled = TRUE cb_choice.Enabled = TRUE cb_rtr.Enabled = TRUE // cb_edit_pz.Text = "修改" // cb_add_pz.Text = "新建" // cb_edit_pz.normalpicname = 'OPEN.bmp' // cb_add_pz.normalpicname = 'new.bmp' END IF //cb_edit_pz.of_init_draw() //cb_add_pz.of_init_draw() //cb_edit_pz.of_paint() //cb_add_pz.of_paint() //cb_add_pz.TriggerEvent('ue_textchange') //cb_edit_pz.TriggerEvent('ue_textchange') RETURN 1 end function public function integer wf_face_change_pzmx ();IF dw_edit_mode_pzmx THEN cb_func.Enabled = FALSE cb_choice.Enabled = FALSE cb_delet_pzmx.Enabled = FALSE cb_rtr.Enabled = FALSE cb_edit_pzmx.Text = "放弃" cb_add_pzmx.Text = "保存" cb_edit_pzmx.normalpicname = 'Undo.bmp' cb_add_pzmx.normalpicname = 'Save.bmp' ELSE cb_func.Enabled = TRUE cb_delet_pzmx.Enabled = TRUE cb_choice.Enabled = TRUE cb_rtr.Enabled = TRUE cb_edit_pzmx.Text = "修改" cb_add_pzmx.Text = "新建" cb_edit_pzmx.normalpicname = 'OPEN.bmp' cb_add_pzmx.normalpicname = 'new.bmp' END IF cb_edit_pzmx.of_init_draw() cb_add_pzmx.of_init_draw() cb_edit_pzmx.of_paint() cb_add_pzmx.of_paint() cb_add_pzmx.TriggerEvent('ue_textchange') cb_edit_pzmx.TriggerEvent('ue_textchange') RETURN 1 end function on w_pz_def_pack.create int iCurrent call super::create this.dw_pzmx=create dw_pzmx this.cb_print=create cb_print this.cb_edit_pzmx=create cb_edit_pzmx this.cb_add_pzmx=create cb_add_pzmx this.cb_delet_pzmx=create cb_delet_pzmx iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_pzmx this.Control[iCurrent+2]=this.cb_print this.Control[iCurrent+3]=this.cb_edit_pzmx this.Control[iCurrent+4]=this.cb_add_pzmx this.Control[iCurrent+5]=this.cb_delet_pzmx end on on w_pz_def_pack.destroy call super::destroy destroy(this.dw_pzmx) destroy(this.cb_print) destroy(this.cb_edit_pzmx) destroy(this.cb_add_pzmx) destroy(this.cb_delet_pzmx) end on event open;this.triggerevent('ue_before_open') wf_movetocenter() dw_UC.SetTransObject (sqlca) dw_pzmx.SetTransObject (sqlca) string ls_modify ls_modify = "destroy inputtype_t ~n destroy inputtype ~n " dw_UC.Modify(ls_modify) this.triggerevent('retrieve_uc') end event event retrieve_uc; Long old_row Long ls_row Long ll_typeid /*arg_configtype 0:部件选配 1:配置定义*/ old_row = dw_uc.GetRow( ) dw_uc.Retrieve(-1,1) IF old_row <= 0 OR old_row > dw_uc.RowCount( ) THEN old_row = 1 END IF IF dw_uc.RowCount( ) > 0 THEN dw_uc.SelectRow( 0, FALSE) dw_uc.SelectRow( old_row, TRUE) dw_uc.SetRow( old_row) END IF dw_uc.Sort() this.triggerevent("retr_pzmx" ) end event type cb_func from w_publ_edit_choice`cb_func within w_pz_def_pack boolean visible = false integer x = 960 integer width = 165 boolean enabled = false end type type cb_exit from w_publ_edit_choice`cb_exit within w_pz_def_pack integer x = 2715 end type type cb_add from w_publ_edit_choice`cb_add within w_pz_def_pack end type event cb_add::clicked;call super::clicked;IF NOT f_power_ind(1555) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF s_edit_index_tran s_inscust s_inscust.b_long = 4 s_inscust.c_long = 0 s_inscust.d_long = 0 s_inscust.f_long = 1 OpenWithParm(w_pz_code_add_edit,s_inscust) PARENT.TriggerEvent("retrieve_uc") end event type cb_edit from w_publ_edit_choice`cb_edit within w_pz_def_pack end type event cb_edit::clicked;call super::clicked;IF NOT f_power_ind(1555) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF if dw_uc.getrow( ) <= 0 then MessageBox(publ_operator,'请选定目标行!') RETURN end if Long ll_pzid ll_pzid = dw_uc.object.pzid[dw_uc.getrow( )] s_edit_index_tran s_inscust s_inscust.b_long = 4 s_inscust.c_long = ll_pzid s_inscust.d_long = 0 OpenWithParm(w_pz_code_add_edit,s_inscust) PARENT.TriggerEvent("retrieve_uc") end event type cb_delet from w_publ_edit_choice`cb_delet within w_pz_def_pack end type event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1555) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN RETURN END IF String arg_msg IF dw_uc.GetRow() <= 0 THEN MessageBox('','没有操作目标记录!') RETURN END IF Long ll_pzid ll_pzid = dw_uc.Object.pzid[dw_uc.GetRow()] DELETE u_configure_codemx Where u_configure_codemx.pzid = :ll_pzid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox(publ_operator,'删除相关配置项明细操作失败!'+sqlca.SQLErrText) RETURN END IF dw_uc.SetRedraw (FALSE) dw_uc.DeleteRow (0) dw_uc.TriggerEvent (RowFocusChanged!) IF dw_uc.Update() = -1 THEN ROLLBACK; MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!) ELSE COMMIT; END IF dw_uc.SetRedraw (TRUE) end event type cb_choice from w_publ_edit_choice`cb_choice within w_pz_def_pack boolean visible = false integer x = 1152 integer width = 165 boolean enabled = false end type type dw_uc from w_publ_edit_choice`dw_uc within w_pz_def_pack integer width = 1449 integer height = 1692 string title = "部件选配类型设定" string dataobject = "dw_pzcodedef" boolean controlmenu = true boolean maxbox = true end type event dw_uc::dwnkey;call super::dwnkey;IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF end event event dw_uc::rowfocuschanged; IF modifyrow_no >0 AND dw_edit_mode THEN THIS.SETROW(modifyrow_no) THIS.ScrollToRow(modifyrow_no) else this.selectrow(0,false) this.selectrow(currentrow,true) parent.triggerevent("retr_pzmx" ) END IF end event event dw_uc::constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关 RBUTTON_FILTER_USE=true //右键查询功能开关 end event type cb_rtr from w_publ_edit_choice`cb_rtr within w_pz_def_pack end type type cb_help from w_publ_edit_choice`cb_help within w_pz_def_pack end type type ln_bar from w_publ_edit_choice`ln_bar within w_pz_def_pack end type type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_pz_def_pack end type type r_bar from w_publ_edit_choice`r_bar within w_pz_def_pack integer x = 1440 end type type dw_pzmx from u_dw_rbtnfilter within w_pz_def_pack integer x = 1445 integer y = 176 integer width = 1449 integer height = 1692 integer taborder = 60 boolean bringtotop = true string title = "部件选配项明细列表" string dataobject = "dw_pzcodemxdef" boolean maxbox = true boolean vscrollbar = true end type event constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关 RBUTTON_FILTER_USE=true //右键查询功能开关 end event event rowfocuschanged;call super::rowfocuschanged;IF modifyrow_no_pzmx > 0 AND dw_edit_mode_pzmx THEN THIS.SetRow(modifyrow_no_pzmx) THIS.ScrollToRow(modifyrow_no_pzmx) ELSE IF currentrow <= 0 THEN RETURN THIS.SelectRow(0,FALSE) THIS.SelectRow(currentrow,TRUE) END IF end event event rowfocuschanging;call super::rowfocuschanging;if dw_edit_mode_pzmx then return 1 end event event rbuttondown;IF dw_edit_mode THEN RETURN 1 CALL SUPER::RButtonDown end event event dwnkey;call super::dwnkey;IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF end event type cb_print from uo_imflatbutton within w_pz_def_pack boolean visible = false integer x = 3077 integer width = 165 integer height = 164 integer taborder = 70 boolean bringtotop = true string text = "打印" string normalpicname = "print.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;//IF NOT f_power_ind(634) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN //END IF // // //LONG LS_ROW,ls_pricelistid //LS_ROW=dw_pageretr.getrow() //IF LS_ROW<=0 THEN // MESSAGEBOX('NO','没有打印目标单据!') // RETURN //END IF // //ls_pricelistid = dw_pageretr.Object.pricelistid[LS_ROW] // //int li_flag //select flag into :li_flag //from u_sale_price_list //where pricelistid = :ls_pricelistid; //if sqlca.sqlcode <> 0 then // MessageBox('提示','查询当前价格表是否已审核失败!') // RETURN //END IF // //if li_flag = 0 then // MessageBox('提示','当前价格表未审核,不能打印!') // RETURN //END IF // //S_print_MSG LS_PRMSG // //LS_PRMSG.obj_dwNAME='dw_pr_pricelist' //LS_PRMSG.TAG_TEXT='客户价格表' //LS_PRMSG.FILTER_STRING = '' //LS_PRMSG.retr_pram_falg=2 //LS_PRMSG.PAGECH_FLAG=0 //LS_PRMSG.retr_pramnmb=dw_pageretr.object.pricelistid [LS_ROW] //Openwithparm(w_publ_preview,LS_PRMSG) end event type cb_edit_pzmx from uo_imflatbutton within w_pz_def_pack integer x = 1595 integer width = 151 integer height = 164 integer taborder = 70 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 dw_pzmx.GetRow() <= 0 then return if not f_power_ind(1555) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF Long ll_pzid, ll_printid ll_pzid = dw_pzmx.Object.pzid[dw_pzmx.GetRow()] ll_printid = dw_pzmx.Object.printid[dw_pzmx.GetRow()] IF ll_pzid <= 0 THEN MessageBox(publ_operator,'非法的配置明细项id!') RETURN END IF s_edit_index_tran s_inscust s_inscust.b_long = 5 s_inscust.c_long = ll_printid s_inscust.d_long = ll_pzid OpenWithParm(w_pz_code_add_edit,s_inscust) PARENT.TriggerEvent("retr_pzmx") end event type cb_add_pzmx from uo_imflatbutton within w_pz_def_pack integer x = 1445 integer width = 151 integer height = 164 integer taborder = 70 boolean bringtotop = true string text = "新建" string normalpicname = "new.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF dw_uc.GetRow() <= 0 THEN RETURN IF NOT f_power_ind(1555) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF Long ll_pzid,ll_inputtype ll_pzid = dw_uc.Object.pzid[dw_uc.GetRow()] ll_inputtype = dw_uc.Object.inputtype[dw_uc.GetRow()] IF ll_pzid <= 0 THEN MessageBox(publ_operator,'非法的配置项id!') RETURN END IF s_edit_index_tran s_inscust s_inscust.b_long = 5 s_inscust.c_long = 0 s_inscust.d_long = ll_pzid OpenWithParm(w_pz_code_add_edit,s_inscust) PARENT.TriggerEvent("retr_pzmx") end event type cb_delet_pzmx from uo_imflatbutton within w_pz_def_pack integer x = 1742 integer width = 151 integer height = 164 integer taborder = 80 boolean bringtotop = true string text = "删除" string normalpicname = "delete.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(1555) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN RETURN END IF String arg_msg IF dw_pzmx.GetRow() <= 0 THEN MessageBox('','没有操作目标记录!') RETURN END IF dw_pzmx.SetRedraw (FALSE) dw_pzmx.DeleteRow (0) dw_pzmx.TriggerEvent (RowFocusChanged!) IF dw_pzmx.Update() = -1 THEN ROLLBACK; MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!) ELSE COMMIT; END IF dw_pzmx.SetRedraw (TRUE) end event