$PBExportHeader$w_scdef_edit.srw forward global type w_scdef_edit from w_publ_edit_choice end type type cb_view from uo_imflatbutton within w_scdef_edit end type end forward global type w_scdef_edit from w_publ_edit_choice integer width = 1550 integer height = 1308 string title = "分部" boolean minbox = true windowtype windowtype = popup! cb_view cb_view end type global w_scdef_edit w_scdef_edit type variables uo_usergroup uo_user end variables on w_scdef_edit.create int iCurrent call super::create this.cb_view=create cb_view iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cb_view end on on w_scdef_edit.destroy call super::destroy destroy(this.cb_view) end on event close;call super::close;destroy uo_user end event event open;call super::open;uo_user=create uo_usergroup end event type cb_func from w_publ_edit_choice`cb_func within w_scdef_edit end type type cb_exit from w_publ_edit_choice`cb_exit within w_scdef_edit end type type cb_add from w_publ_edit_choice`cb_add within w_scdef_edit end type event cb_add::clicked;String arg_msg = '' Long ll_newid,i String ls_sccode,ls_ffpsw Boolean if_newarea = FALSE IF dw_edit_mode THEN dw_uc.AcceptText() IF dw_uc.GetNextModified(0, Primary!) = 0 THEN MessageBox('提示','没有任何修改,不可以保存!', Information!, OK! ) RETURN END IF dw_uc.Object.sccode[dw_uc.GetRow()] = Trim(dw_uc.Object.sccode[dw_uc.GetRow()]) ls_sccode = dw_uc.Object.sccode[dw_uc.GetRow()] IF dw_uc.Object.scid[dw_uc.GetRow()] > 0 THEN IF dw_uc.Object.sccode[dw_uc.GetRow()] = '' THEN MessageBox('提示','请输分部代号!', Information!, OK! ) RETURN END IF IF Len(ls_sccode) > 2 THEN MessageBox('',String(Len(ls_sccode))) MessageBox('提示','代号不能超过两位!', Information!, OK! ) RETURN END IF END IF IF dw_uc.Object.scid[dw_uc.GetRow()] = -1 THEN //参数0表示取得目标本身的ID ll_newid = f_sys_scidentity(0,"u_scdef","scid",arg_msg,FALSE,sqlca) IF ll_newid < 0 THEN MessageBox('提示',arg_msg, Information!, OK! ) RETURN ELSE dw_uc.Object.scid[dw_uc.GetRow()] = ll_newid if_newarea = TRUE END IF END IF ls_ffpsw = Trim(dw_uc.Object.ffpsw[dw_uc.GetRow()]) dw_uc.Object.mffpsw[dw_uc.GetRow()] = f_psw_bczh(ls_sccode + ls_ffpsw,0,sys_power_key) //加密 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 ('提示',ls_errmsg+",保存操作失败!", Information!, OK! ) LS_UPDATE_FLAG = FALSE RETURN ELSE // IF if_newarea THEN // IF uo_user.saveuser(FALSE,ll_newid,0,'super','超级用户','','','-1',arg_msg,FALSE) = 0 THEN // MessageBox('系统提示','分部建立超级用户失败>>'+arg_msg) // ROLLBACK; // RETURN // END IF // END IF // COMMIT; FOR i = 1 TO 4 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 4 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_scdef_edit end type event cb_edit::clicked;String arg_msg = '' 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 4 dw_uc.SetTabOrder ( i, 0 ) NEXT modifyrow_no = 0 ELSE modifyrow_no = dw_uc.GetRow() IF modifyrow_no > 0 THEN IF dw_uc.Object.scid[modifyrow_no] = 0 THEN FOR i = 4 TO 4 dw_uc.SetTabOrder ( i, i*10) NEXT ELSE FOR i = 1 TO 4 dw_uc.SetTabOrder ( i, i*10) NEXT END IF ELSE MessageBox('提示','没有可修改的资料!', Information!, OK! ) RETURN END IF 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_scdef_edit end type event cb_delet::clicked;call super::clicked;String arg_msg = '' IF MessageBox ('询问',"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN RETURN END IF Long LS_id Long LS_LONG = 0 String ls_code IF DW_UC.GetRow() <= 0 THEN MessageBox('提示','没有操作目标记录!', Information!, OK! ) RETURN END IF LS_id = DW_UC.Object.scid[DW_UC.GetRow()] IF DW_UC.Object.scid[DW_UC.GetRow()] = 0 THEN MessageBox('提示','总部记录不可以删除!', Information!, OK! ) RETURN END IF SELECT COUNT(*) INTO :LS_LONG FROM u_bsnno Where u_bsnno.scid = :LS_id; IF SQLCA.SQLCode = -1 THEN MessageBox ('提示',"数据查询操作失败!(请重试!)", Information!, OK! ) RETURN END IF IF LS_LONG > 0 THEN MessageBox ('提示',"该分部代号已经使用于业务编号表中,不可以删除!", Information!, OK! ) RETURN END IF IF uo_user.deluser(TRUE,LS_id,0,arg_msg,FALSE) = 0 THEN MessageBox('提示','删除失败>>'+arg_msg, Information!, OK! ) RETURN END IF DW_UC.SetRedraw (FALSE) DW_UC.DeleteRow (0) DW_UC.TriggerEvent (RowFocusChanged!) IF DW_UC.Update() = -1 THEN ROLLBACK; MessageBox ('提示',"删除记录操作失败!", Information!, OK! ) ELSE COMMIT; END IF DW_UC.SetRedraw (TRUE) end event type cb_choice from w_publ_edit_choice`cb_choice within w_scdef_edit boolean visible = false integer x = 1394 boolean enabled = false end type type dw_uc from w_publ_edit_choice`dw_uc within w_scdef_edit integer width = 1522 integer height = 1036 string dataobject = "dw_scdef" end type type cb_rtr from w_publ_edit_choice`cb_rtr within w_scdef_edit end type type cb_help from w_publ_edit_choice`cb_help within w_scdef_edit end type type ln_bar from w_publ_edit_choice`ln_bar within w_scdef_edit integer endx = 1513 end type type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_scdef_edit end type type r_bar from w_publ_edit_choice`r_bar within w_scdef_edit integer x = 1326 end type type cb_view from uo_imflatbutton within w_scdef_edit integer x = 837 integer width = 151 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "预览" string normalpicname = "preview.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;S_print_MSG LS_PRMSG LS_PRMSG.obj_dwNAME = 'dw_rp_scdef' LS_PRMSG.SHARE_DW = DW_UC LS_PRMSG.TAG_TEXT = parent.title LS_PRMSG.SETUP_FLAG = 0 LS_PRMSG.PAGECH_FLAG = 1 OpenWithParm(w_publ_preview,LS_PRMSG) end event