$PBExportHeader$w_pz_def.srw forward global type w_pz_def from w_publ_edit_choice end type type dw_pz from u_dw_rbtnfilter within w_pz_def end type type dw_pzmx from u_dw_rbtnfilter within w_pz_def end type type cb_add_pz from uo_imflatbutton within w_pz_def end type type cb_edit_pz from uo_imflatbutton within w_pz_def end type type cb_delet_pz from uo_imflatbutton within w_pz_def end type type cb_print from uo_imflatbutton within w_pz_def end type type cb_edit_pzmx from uo_imflatbutton within w_pz_def end type type cb_add_pzmx from uo_imflatbutton within w_pz_def end type type cb_delet_pzmx from uo_imflatbutton within w_pz_def end type type cb_copy from uo_imflatbutton within w_pz_def end type type cb_paste from uo_imflatbutton within w_pz_def end type end forward global type w_pz_def from w_publ_edit_choice integer width = 3319 integer height = 1964 string title = "部件选配资料定义" boolean minbox = true windowtype windowtype = popup! event retr_pz ( ) event retr_pzmx ( ) dw_pz dw_pz dw_pzmx dw_pzmx cb_add_pz cb_add_pz cb_edit_pz cb_edit_pz cb_delet_pz cb_delet_pz cb_print cb_print cb_edit_pzmx cb_edit_pzmx cb_add_pzmx cb_add_pzmx cb_delet_pzmx cb_delet_pzmx cb_copy cb_copy cb_paste cb_paste end type global w_pz_def w_pz_def 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 //当前行记录 s_mtrlpzmx s_copy,s_empty long ins_copy = 0 end variables forward prototypes public function integer wf_face_change_pz () public function integer wf_face_change_pzmx () end prototypes event retr_pz();Long old_row Long ls_row Long ll_typeid /*arg_configtype 0:部件选配 1:配置定义*/ old_row = dw_pz.GetRow( ) ls_row = dw_uc.GetRow( ) IF ls_row <= 0 THEN dw_pz.Reset( ) ELSE ll_typeid = dw_uc.Object.contfigtypeid[ls_row] dw_pz.Retrieve(ll_typeid,0) END IF IF old_row <= 0 OR old_row > dw_pz.RowCount( ) THEN old_row = 1 END IF IF dw_pz.RowCount( ) > 0 THEN dw_pz.SelectRow( 0, FALSE) dw_pz.SelectRow( old_row, TRUE) dw_pz.SetRow( old_row) END IF dw_pz.Sort() this.triggerevent("retr_pzmx" ) end event event retr_pzmx();long ls_row ls_row=dw_pz.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_pz.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.create int iCurrent call super::create this.dw_pz=create dw_pz this.dw_pzmx=create dw_pzmx this.cb_add_pz=create cb_add_pz this.cb_edit_pz=create cb_edit_pz this.cb_delet_pz=create cb_delet_pz 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 this.cb_copy=create cb_copy this.cb_paste=create cb_paste iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_pz this.Control[iCurrent+2]=this.dw_pzmx this.Control[iCurrent+3]=this.cb_add_pz this.Control[iCurrent+4]=this.cb_edit_pz this.Control[iCurrent+5]=this.cb_delet_pz this.Control[iCurrent+6]=this.cb_print this.Control[iCurrent+7]=this.cb_edit_pzmx this.Control[iCurrent+8]=this.cb_add_pzmx this.Control[iCurrent+9]=this.cb_delet_pzmx this.Control[iCurrent+10]=this.cb_copy this.Control[iCurrent+11]=this.cb_paste end on on w_pz_def.destroy call super::destroy destroy(this.dw_pz) destroy(this.dw_pzmx) destroy(this.cb_add_pz) destroy(this.cb_edit_pz) destroy(this.cb_delet_pz) destroy(this.cb_print) destroy(this.cb_edit_pzmx) destroy(this.cb_add_pzmx) destroy(this.cb_delet_pzmx) destroy(this.cb_copy) destroy(this.cb_paste) end on event open;this.triggerevent('ue_before_open') wf_movetocenter() dw_UC.SetTransObject (sqlca) dw_pz.SetTransObject (sqlca) dw_pzmx.SetTransObject (sqlca) this.triggerevent('retrieve_uc') end event type cb_func from w_publ_edit_choice`cb_func within w_pz_def 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 integer x = 3163 end type type cb_add from w_publ_edit_choice`cb_add within w_pz_def integer x = 0 end type event cb_add::clicked;call super::clicked;IF NOT f_power_ind(1550) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF s_edit_index_tran s_inscust s_inscust.b_long = 3 s_inscust.c_long = 0 //s_inscust.d_long = 0 OpenWithParm(w_pz_code_add_edit,s_inscust) parent.TriggerEvent("retrieve_uc") // //Long ll_newid,i //String errmsg //IF dw_edit_mode THEN // dw_uc.AcceptText() // IF dw_uc.GetNextModified(0, Primary!) = 0 THEN // MessageBox(publ_operator,'没有任何修改,不可以保存!') // RETURN // END IF // dw_uc.Object.contfigtypename[dw_uc.GetRow()] = Trim(dw_uc.Object.contfigtypename[dw_uc.GetRow()]) // // // IF dw_uc.Object.contfigtypename[dw_uc.GetRow()] = '' THEN // MessageBox(publ_operator,'请输入配置属性!') // RETURN // END IF // // IF dw_uc.Object.contfigtypeid[dw_uc.GetRow()] = 0 THEN // ll_newid = f_sys_scidentity(0,"u_configure_type","contfigtypeid",errmsg,FALSE,sqlca) // IF ll_newid <= 0 THEN // MessageBox(publ_operator,errmsg) // RETURN // ELSE // dw_uc.Object.contfigtypeid[dw_uc.GetRow()] = ll_newid // END IF // END IF // dw_uc.AcceptText() //END IF // // // //IF dw_edit_mode THEN // String ls_errmsg // IF dw_uc.Update() = -1 THEN // IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN // ls_errmsg = "关键内容重复" // ELSE // ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext // END IF // ROLLBACK; // MessageBox (publ_operator,ls_errmsg+",保存操作失败!",Exclamation!,OK!) // LS_UPDATE_FLAG = FALSE // RETURN // ELSE // COMMIT; // FOR i = 1 TO 2 // dw_uc.SetTabOrder ( i, 0 ) // NEXT // LS_UPDATE_FLAG = TRUE // END IF // ins_sqlerrtext = "" //ELSE // Long li_row, li_cur_row // li_cur_row = dw_uc.GetRow() // li_row = dw_uc.InsertRow (0) // FOR i = 1 TO 2 // dw_uc.SetTabOrder ( i, i*10 ) // NEXT // dw_uc.SelectRow(0,FALSE) // dw_uc.ScrollToRow (li_row) // dw_uc.SelectRow(li_row,TRUE) // dw_uc.SetFocus() // modifyrow_no = li_row //END IF // //dw_edit_mode = NOT dw_edit_mode //WF_FACE_CHANGE() // // end event type cb_edit from w_publ_edit_choice`cb_edit within w_pz_def integer x = 192 end type event cb_edit::clicked;call super::clicked;if dw_uc.getrow() <= 0 then return IF NOT f_power_ind(1550) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF long ll_typeid ll_typeid = dw_uc.object.contfigtypeid[dw_uc.getrow()] s_edit_index_tran s_inscust s_inscust.b_long = 3 s_inscust.c_long = ll_typeid //s_inscust.d_long = 0 OpenWithParm(w_pz_code_add_edit,s_inscust) parent.TriggerEvent("retrieve_uc") /* Long i IF dw_edit_mode THEN IF dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = NewModified! OR dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = New! THEN dw_uc.DeleteRow(dw_uc.GetRow()) ELSE dw_uc.ReselectRow(dw_uc.GetRow()) END IF FOR i = 1 TO 3 dw_uc.SetTabOrder ( i, 0 ) NEXT modifyrow_no = 0 ELSE modifyrow_no = dw_uc.GetRow() FOR i = 1 TO 3 dw_uc.SetTabOrder ( i, i*10 ) NEXT dw_uc.SetFocus() dw_uc.SelectRow(0,FALSE) dw_uc.ScrollToRow (modifyrow_no) dw_uc.SelectRow(modifyrow_no,TRUE) END IF dw_edit_mode = NOT dw_edit_mode WF_FACE_CHANGE() */ end event type cb_delet from w_publ_edit_choice`cb_delet within w_pz_def integer x = 384 end type event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1551) 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_typeid , ll_pzid Long i Long ll_cnt ll_typeid = DW_UC.Object.contfigtypeid[DW_UC.GetRow()] SELECT count(*) INTO :ll_cnt FROM u_configure_code Where typeid = :ll_typeid; IF sqlca.SQLCode <> 0 THEN MessageBox(publ_operator,'查询相关配置项明细操作失败!'+sqlca.SQLErrText) RETURN END IF IF ll_cnt > 0 THEN MessageBox(publ_operator,'存在相关配置项明细,不能删除!') RETURN END IF //FOR i = 1 TO dw_pz.RowCount( ) // ll_pzid = dw_pz.Object.pzid[i] // 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 //NEXT // //ll_typeid = DW_UC.Object.contfigtypeid[DW_UC.GetRow()] //DELETE u_configure_code // Where u_configure_code.typeid = :ll_typeid; //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 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 integer width = 809 integer height = 1692 boolean titlebar = true string title = "部件选配类型设定" string dataobject = "dw_configure_type" boolean controlmenu = true boolean maxbox = true borderstyle borderstyle = stylebox! 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_pz" ) 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 boolean visible = false end type type cb_help from w_publ_edit_choice`cb_help within w_pz_def boolean visible = false integer x = 2935 end type type ln_bar from w_publ_edit_choice`ln_bar within w_pz_def end type type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_pz_def end type type r_bar from w_publ_edit_choice`r_bar within w_pz_def integer x = 1070 end type type dw_pz from u_dw_rbtnfilter within w_pz_def integer x = 814 integer y = 176 integer width = 1202 integer height = 1692 integer taborder = 50 boolean bringtotop = true boolean titlebar = true string title = "部件选配项列表" string dataobject = "dw_pzcodedef" boolean maxbox = true boolean vscrollbar = true borderstyle borderstyle = stylebox! 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_pz >0 AND dw_edit_mode_pz THEN THIS.SETROW(modifyrow_no_pz) THIS.ScrollToRow(modifyrow_no_pz) else IF currentrow <=0 THEN RETURN this.selectrow(0,false) this.selectrow(currentrow,true) parent.triggerevent("retr_pzmx" ) END IF end event event rowfocuschanging;call super::rowfocuschanging;if dw_edit_mode_pz then return 1 end event event rbuttondown;IF dw_edit_mode THEN RETURN 1 CALL SUPER::RButtonDown end event event dwnkey;call super::dwnkey;parent.triggerevent('user_key') 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 dw_pzmx from u_dw_rbtnfilter within w_pz_def integer x = 2021 integer y = 176 integer width = 1275 integer height = 1692 integer taborder = 60 boolean bringtotop = true boolean titlebar = true string title = "部件选配项明细列表" string dataobject = "dw_pzcodemxdef" boolean maxbox = true boolean vscrollbar = true borderstyle borderstyle = stylebox! 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;parent.triggerevent('user_key') 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_add_pz from uo_imflatbutton within w_pz_def integer x = 818 integer width = 151 integer height = 164 integer taborder = 30 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(1550) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF Long ll_typeid ll_typeid = dw_uc.Object.contfigtypeid[dw_uc.GetRow( )] IF ll_typeid <= 0 THEN MessageBox(publ_operator,'非法的配置类型id!') RETURN END IF s_edit_index_tran s_inscust s_inscust.b_long = 4 s_inscust.c_long = 0 s_inscust.d_long = ll_typeid s_inscust.f_long = 0 OpenWithParm(w_pz_code_add_edit,s_inscust) PARENT.TriggerEvent("retr_pz") /* Long ll_newid,i String errmsg Long ll_typeid IF dw_edit_mode_pz THEN dw_pz.AcceptText() IF dw_pz.GetNextModified(0, Primary!) = 0 THEN MessageBox(publ_operator,'没有任何修改,不可以保存!') RETURN END IF dw_pz.Object.pzcode[dw_pz.GetRow()] = Trim(dw_pz.Object.pzcode[dw_pz.GetRow()]) IF dw_pz.Object.pzcode[dw_pz.GetRow()] = '' THEN MessageBox(publ_operator,'请输入配置项编号!') RETURN END IF dw_pz.Object.Name[dw_pz.GetRow()] = Trim(dw_pz.Object.Name[dw_pz.GetRow()]) IF dw_pz.Object.Name[dw_pz.GetRow()] = '' THEN MessageBox(publ_operator,'请输入配置项名称!') RETURN END IF IF dw_pz.Object.typeid[dw_pz.GetRow()] <= 0 THEN IF dw_uc.GetRow( ) > 0 THEN dw_pz.Object.typeid[dw_pz.GetRow()] = dw_uc.Object.contfigtypeid[dw_uc.GetRow( )] ELSE MessageBox(publ_operator,'非法的配置类型id!') RETURN END IF END IF IF dw_pz.Object.pzid[dw_pz.GetRow()] = 0 THEN ll_newid = f_sys_scidentity(0,"u_configure_code","pzid",errmsg,FALSE,sqlca) IF ll_newid <= 0 THEN MessageBox(publ_operator,errmsg) RETURN ELSE dw_pz.Object.pzid[dw_pz.GetRow()] = ll_newid END IF END IF dw_pz.AcceptText() END IF IF dw_edit_mode_pz THEN String ls_errmsg IF dw_pz.Update() = -1 THEN IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN ls_errmsg = "关键内容重复" ELSE ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext END IF ROLLBACK; MessageBox (publ_operator,ls_errmsg+",保存操作失败!",Exclamation!,OK!) LS_UPDATE_FLAG = FALSE RETURN ELSE COMMIT; FOR i = 1 TO 4 dw_pz.SetTabOrder ( i, 0 ) NEXT LS_UPDATE_FLAG = TRUE END IF ins_sqlerrtext = "" ELSE IF dw_uc.GetRow( ) <= 0 THEN MessageBox(publ_operator,'请选择配置类型!') RETURN END IF ll_typeid = dw_uc.Object.contfigtypeid[dw_uc.GetRow( )] IF ll_typeid <= 0 THEN MessageBox(publ_operator,'非法的配置类型id!') RETURN END IF Long li_row, li_cur_row li_cur_row = dw_pz.GetRow() li_row = dw_pz.InsertRow (0) FOR i = 1 TO 4 dw_pz.SetTabOrder ( i, i*10 ) NEXT dw_pz.SelectRow(0,FALSE) dw_pz.ScrollToRow (li_row) dw_pz.SelectRow(li_row,TRUE) dw_pz.SetFocus() modifyrow_no_pz = li_row dw_pz.Object.typeid[li_row] = ll_typeid END IF dw_edit_mode_pz = NOT dw_edit_mode_pz wf_face_change_pz() */ end event type cb_edit_pz from uo_imflatbutton within w_pz_def integer x = 969 integer width = 151 integer height = 164 integer taborder = 30 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_pz.GetRow( ) <= 0 THEN RETURN IF NOT f_power_ind(1550) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF Long ll_typeid, ll_pzid ll_typeid = dw_pz.Object.typeid[dw_pz.GetRow( )] ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow( )] IF ll_typeid <= 0 THEN MessageBox(publ_operator,'非法的配置类型id!') RETURN END IF s_edit_index_tran s_inscust s_inscust.b_long = 4 s_inscust.c_long = ll_pzid s_inscust.d_long = ll_typeid OpenWithParm(w_pz_code_add_edit,s_inscust) PARENT.TriggerEvent("retr_pz") /* Long i IF dw_edit_mode_pz THEN IF dw_pz.GetItemStatus(dw_pz.GetRow(), 0, Primary!) = NewModified! OR dw_pz.GetItemStatus(dw_pz.GetRow(), 0, Primary!) = New! THEN dw_pz.DeleteRow(dw_pz.GetRow()) ELSE dw_pz.ReselectRow(dw_pz.GetRow()) END IF FOR i = 1 TO 4 dw_pz.SetTabOrder ( i, 0 ) NEXT modifyrow_no_pz = 0 ELSE modifyrow_no_pz = dw_pz.GetRow() FOR i = 1 TO 4 dw_pz.SetTabOrder ( i, i*10 ) NEXT dw_pz.SetFocus() dw_pz.SelectRow(0,FALSE) dw_pz.ScrollToRow (modifyrow_no_pz) dw_pz.SelectRow(modifyrow_no_pz,TRUE) END IF dw_edit_mode_pz = NOT dw_edit_mode_pz wf_face_change_pz() */ end event type cb_delet_pz from uo_imflatbutton within w_pz_def integer x = 1120 integer width = 151 integer height = 164 integer taborder = 60 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(1551) 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_pz.GetRow() <= 0 THEN MessageBox('','没有操作目标记录!') RETURN END IF Long ll_pzid ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow()] Long ll_cnt SELECT count(*) INTO :ll_cnt FROM u_configure_codemx Where pzid = :ll_pzid; IF sqlca.SQLCode <> 0 THEN MessageBox(publ_operator,'查询相关配置项明细操作失败!'+sqlca.SQLErrText) RETURN END IF IF ll_cnt > 0 THEN MessageBox(publ_operator,'存在相关配置项明细,不能删除!') RETURN END IF //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_pz.SetRedraw (False) dw_pz.DeleteRow (0) dw_pz.TriggerEvent (RowFocusChanged!) IF dw_pz.Update() = -1 THEN ROLLBACK; MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!) ELSE COMMIT; END IF dw_pz.SetRedraw (True) end event type cb_print from uo_imflatbutton within w_pz_def 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 integer x = 2185 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(1550) 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") /* Long i IF dw_edit_mode_pzmx THEN IF dw_pzmx.GetItemStatus(dw_pzmx.GetRow(), 0, Primary!) = NewModified! OR dw_pzmx.GetItemStatus(dw_pzmx.GetRow(), 0, Primary!) = New! THEN dw_pzmx.DeleteRow(dw_pzmx.GetRow()) ELSE dw_pzmx.ReselectRow(dw_pzmx.GetRow()) END IF FOR i = 1 TO 4 dw_pzmx.SetTabOrder ( i, 0 ) NEXT modifyrow_no_pzmx = 0 ELSE modifyrow_no_pzmx = dw_pzmx.GetRow() FOR i = 1 TO 4 dw_pzmx.SetTabOrder ( i, i*10 ) NEXT dw_pzmx.SetFocus() dw_pzmx.SelectRow(0,FALSE) dw_pzmx.ScrollToRow (modifyrow_no_pzmx) dw_pzmx.SelectRow(modifyrow_no_pzmx,TRUE) END IF dw_edit_mode_pzmx = NOT dw_edit_mode_pzmx wf_face_change_pzmx() */ end event type cb_add_pzmx from uo_imflatbutton within w_pz_def integer x = 2034 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_pz.GetRow() <= 0 THEN RETURN IF NOT f_power_ind(1550) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF Long ll_pzid,ll_inputtype ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow()] ll_inputtype = dw_pz.Object.inputtype[dw_pz.GetRow()] //IF ll_inputtype <> 0 THEN // MessageBox(publ_operator,'配置项非选择录入方式!') // RETURN //END IF 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") /* Long ll_newid,i String errmsg Long ll_pzid, ll_printid IF dw_edit_mode_pzmx THEN dw_pzmx.AcceptText() IF dw_pzmx.GetNextModified(0, Primary!) = 0 THEN MessageBox(publ_operator,'没有任何修改,不可以保存!') RETURN END IF dw_pzmx.Object.pzcodemx[dw_pzmx.GetRow()] = Trim(dw_pzmx.Object.pzcodemx[dw_pzmx.GetRow()]) IF dw_pzmx.Object.pzcodemx[dw_pzmx.GetRow()] = '' THEN MessageBox(publ_operator,'请输入配置项明细编号!') RETURN END IF dw_pzmx.Object.namemx[dw_pzmx.GetRow()] = Trim(dw_pzmx.Object.namemx[dw_pzmx.GetRow()]) IF dw_pzmx.Object.namemx[dw_pzmx.GetRow()] = '' THEN MessageBox(publ_operator,'请输入配置项明细名称!') RETURN END IF ll_pzid = dw_pzmx.Object.pzid[dw_pzmx.GetRow()] IF ll_pzid <= 0 THEN IF dw_pz.GetRow( ) > 0 THEN dw_pzmx.Object.pzid[dw_pzmx.GetRow()] = dw_pz.Object.pzid[dw_pz.GetRow( )] ELSE MessageBox(publ_operator,'非法的配置项id!') RETURN END IF END IF ll_printid = dw_pzmx.Object.printid[dw_pzmx.GetRow()] IF ll_printid <= 0 THEN SELECT max(printid) + 1 INTO :ll_printid FROM u_configure_codemx Where pzid = :ll_pzid; IF sqlca.SQLCode = 100 THEN ll_printid = 1 ELSEIF sqlca.SQLCode <> 0 THEN MessageBox(publ_operator,'查询配置项明细id失败!') RETURN END IF dw_pzmx.Object.printid[dw_pzmx.GetRow()] = ll_printid END IF dw_pzmx.AcceptText() END IF IF dw_edit_mode_pzmx THEN String ls_errmsg IF dw_pzmx.Update() = -1 THEN IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN ls_errmsg = "关键内容重复" ELSE ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext END IF ROLLBACK; MessageBox (publ_operator,ls_errmsg+",保存操作失败!",Exclamation!,OK!) LS_UPDATE_FLAG = FALSE RETURN ELSE COMMIT; FOR i = 1 TO 4 dw_pzmx.SetTabOrder ( i, 0 ) NEXT LS_UPDATE_FLAG = TRUE END IF ins_sqlerrtext = "" ELSE IF dw_pz.GetRow( ) <= 0 THEN MessageBox(publ_operator,'请选择配置项!') RETURN END IF ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow( )] IF ll_pzid <= 0 THEN MessageBox(publ_operator,'非法的配置项id!') RETURN END IF SELECT max(printid) + 1 INTO :ll_printid FROM u_configure_codemx Where pzid = :ll_pzid; IF sqlca.SQLCode = 100 THEN ll_printid = 1 ELSEIF sqlca.SQLCode <> 0 THEN MessageBox(publ_operator,'查询配置项明细id失败!') RETURN END IF Long li_row, li_cur_row li_cur_row = dw_pzmx.GetRow() li_row = dw_pzmx.InsertRow (0) FOR i = 1 TO 4 dw_pzmx.SetTabOrder ( i, i*10 ) NEXT dw_pzmx.SelectRow(0,FALSE) dw_pzmx.ScrollToRow (li_row) dw_pzmx.SelectRow(li_row,TRUE) dw_pzmx.SetFocus() modifyrow_no_pzmx = li_row dw_pzmx.Object.pzid[li_row] = ll_pzid dw_pzmx.Object.printid[li_row] = ll_printid END IF dw_edit_mode_pzmx = NOT dw_edit_mode_pzmx wf_face_change_pzmx() */ end event type cb_delet_pzmx from uo_imflatbutton within w_pz_def integer x = 2336 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(1551) 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 type cb_copy from uo_imflatbutton within w_pz_def integer x = 2546 integer width = 165 integer height = 164 integer taborder = 80 boolean bringtotop = true string text = "复制" string normalpicname = "COPY.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(1598) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF String arg_msg IF dw_pzmx.RowCount() <= 0 THEN MessageBox('系统提示','没有可复制的内容!') RETURN END IF s_copy = s_empty ins_copy = 0 Long ll_i FOR ll_i = 1 TO dw_pzmx.RowCount() ins_copy++ s_copy.printid[ins_copy] = dw_pzmx.Object.printid[ll_i] s_copy.pzcodemx[ins_copy] = dw_pzmx.Object.pzcodemx[ll_i] s_copy.namemx[ins_copy] = dw_pzmx.Object.namemx[ll_i] NEXT MessageBox('系统提示','复制成功!') end event type cb_paste from uo_imflatbutton within w_pz_def integer x = 2711 integer width = 165 integer height = 164 integer taborder = 90 boolean bringtotop = true string text = "粘贴" string normalpicname = "PASTE.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(1598) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF dw_pz.GetRow() <= 0 THEN MessageBox('系统提示','请先选择部件选配项') RETURN END IF Long ll_pzid ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow()] IF ll_pzid <= 0 THEN MessageBox('系统提示','请先选择部件选配项') RETURN END IF IF ins_copy = 0 THEN MessageBox('系统提示','没有可粘贴的内容,请先执行复制功能') RETURN END IF IF dw_pzmx.RowCount() > 0 THEN IF MessageBox ('确认',"粘贴功能将清空原有的数据,是否继续?",Question!,YesNo! ) = 2 THEN RETURN END IF ELSE IF MessageBox ('询问',"确认要执行粘贴功能?",Question!,YesNo! ) = 2 THEN RETURN END IF END IF DELETE FROM u_configure_codemx Where pzid = :ll_pzid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','删除旧明细内容失败') RETURN END IF Long ll_i FOR ll_i = 1 TO ins_copy INSERT INTO u_configure_codemx (pzid, printid, pzcodemx, namemx) VALUES (:ll_pzid, :s_copy.printid[ll_i], :s_copy.pzcodemx[ll_i], :s_copy.namemx[ll_i]); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入部件选配项目明细失败') RETURN END IF NEXT MessageBox('系统提示','粘贴成功') PARENT.TriggerEvent("retr_pzmx" ) end event