$PBExportHeader$w_spt_edit.srw forward global type w_spt_edit from w_publ_edit_index end type type cbx_inuse from checkbox within w_spt_edit end type type tab_1 from tab within w_spt_edit end type type tabpage_1 from userobject within tab_1 end type type dw_base from u_dw_rbtnfilter within tabpage_1 end type type tabpage_1 from userobject within tab_1 dw_base dw_base end type type tabpage_2 from userobject within tab_1 end type type cb_add_xm from uo_imflatbutton within tabpage_2 end type type dw_rep from u_dw_rbtnfilter within tabpage_2 end type type cb_dele_xm from uo_imflatbutton within tabpage_2 end type type tabpage_2 from userobject within tab_1 cb_add_xm cb_add_xm dw_rep dw_rep cb_dele_xm cb_dele_xm end type type tab_1 from tab within w_spt_edit tabpage_1 tabpage_1 tabpage_2 tabpage_2 end type type cb_other from uo_imflatbutton within w_spt_edit end type type dw_spttype from u_dw_rbtnfilter within w_spt_edit end type type cbx_autocode from checkbox within w_spt_edit end type end forward global type w_spt_edit from w_publ_edit_index integer width = 3611 integer height = 2068 string title = "供应商" event ue_fj_edit ( ) event ue_fj_view ( ) event ue_mod_address ( ) event ue_ch_banktype ( ) event ue_ch_money ( ) cbx_inuse cbx_inuse tab_1 tab_1 cb_other cb_other dw_spttype dw_spttype cbx_autocode cbx_autocode end type global w_spt_edit w_spt_edit type variables s_spt INS_RT_STRU string oldcode,oldname,newcode,newname int inuse=1 string cur_spttype = '' long ins_spttypeid datawindow dw_base,dw_rep uo_sptdef uo_spt end variables forward prototypes public subroutine wf_retrieve_rep () public function integer wf_lock_uc () public function string wf_sys_option_auto_code () public function string wf_autocode (long arg_spttypeid) end prototypes event ue_fj_edit();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用', Information!, OK! ) RETURN END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_uc.GetRow() IF ls_row <= 0 THEN MessageBox('提示','请选择资料', Information!, OK! ) RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! ) RETURN END IF s_pic.f_long = 404 //物料资料 mainID s_pic.f_string = dw_uc.Object.sptcode[ls_row] s_pic.g_long = dw_uc.Object.sptid[ls_row] s_pic.d_long = 0 //relid_mx s_pic.d_string = '' //relcode_mx s_pic.e_long = 0 // scid s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) end event event ue_fj_view();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用', Information!, OK! ) RETURN END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_uc.GetRow() IF ls_row <= 0 THEN MessageBox('提示','请选择资料', Information!, OK! ) RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! ) RETURN END IF s_pic.f_long = 404 //物料资料 mainID s_pic.f_string = dw_uc.Object.sptcode[ls_row] s_pic.g_long = dw_uc.Object.sptid[ls_row] s_pic.d_long = 0 //relid_mx s_pic.d_string = '' //relcode_mx s_pic.e_long = 0 // scid s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event event ue_mod_address();s_view_dscrp s_view,s_return String ls_dscrp dw_base.AcceptText() ls_dscrp = dw_base.Object.address[dw_base.GetRow()] s_view.Title = '地址' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp2,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_base.Object.address[dw_base.GetRow()] = s_return.dscrp END IF end event event ue_ch_banktype();IF NOT IsValid(w_banktype_edit_ch) THEN s_edit_index_tran s_open //传递参数使用 s_open.work_mode = 1 s_open.c_long = 1 Openwithparm(w_banktype_edit_ch, s_open) s_banktype s_ch s_ch = Message.PowerObjectParm IF s_ch.banktypeid > 0 THEN dw_base.Object.dftbanktypeid[dw_base.GetRow()] = s_ch.banktypeid END IF datawindowchild childdw dw_base.GetChild("dftbanktypeid",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF end event event ue_ch_money();IF NOT IsValid(w_currency_edit_ch) THEN Open(w_currency_edit_ch) s_currency s_ch s_ch = Message.PowerObjectParm IF s_ch.moneyid > 0 THEN dw_base.Object.dftmoneyid[dw_base.GetRow()] = s_ch.moneyid //dw_base.Object.u_outware_mrate[dw_base.GetRow()] = s_ch.rate END IF datawindowchild childdw dw_base.GetChild("dftmoneyid",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF end event public subroutine wf_retrieve_rep ();IF dw_index.GetRow() < 1 THEN RETURN Long ls_sptid ls_sptid = dw_index.Object.sptid[dw_index.GetRow() ] dw_rep.Retrieve(ls_sptid ) end subroutine public function integer wf_lock_uc ();//wf_lock_uc INT LS_INT long ls_row long uc_column_int ls_row=dw_base.getrow() IF dw_edit_mode THEN // uc_column_int=long(dw_base.Describe("DataWindow.Column.Count")) // FOR LS_INT=1 TO uc_column_int // dw_base.SetTabOrder (LS_INT,LS_INT*10 ) // NEXT uc_column_int=long(dw_rep.Describe("DataWindow.Column.Count")) FOR LS_INT=1 TO uc_column_int dw_rep.SetTabOrder (LS_INT,LS_INT*10 ) NEXT ELSE // uc_column_int=long(dw_base.Describe("DataWindow.Column.Count")) // FOR LS_INT=1 TO uc_column_int // dw_base.SetTabOrder (LS_INT,0 ) // NEXT uc_column_int=long(dw_rep.Describe("DataWindow.Column.Count")) FOR LS_INT=1 TO uc_column_int dw_rep.SetTabOrder (LS_INT,0 ) NEXT END IF if ls_row>0 then dw_base.setrow(ls_row) RETURN 1 end function public function string wf_sys_option_auto_code ();// long ll_cnt select max(sptid) into :ll_cnt from u_spt ; if isnull(ll_cnt) then ll_cnt=0 return 'spt_' + string(ll_cnt + 1,'0000') end function public function string wf_autocode (long arg_spttypeid);string rslt = '' string ls_spttypecode long ll_runnum select spttypecode, runnum INTO :ls_spttypecode, :ll_runnum from u_spttype where spttypeid = :arg_spttypeid; if sqlca.sqlcode <> 0 then return rslt end if string ls_likestr string ls_initstr string ls_maxstr long ll_i ls_likestr = ls_spttypecode ls_initstr = ls_spttypecode for ll_i = 1 to ll_runnum ls_likestr = ls_likestr + '[0-9]' ls_initstr = ls_initstr + '0' next select isnull(max(sptcode), :ls_initstr) INTO :ls_maxstr from u_spt where sptcode like :ls_likestr; if sqlca.sqlcode <> 0 then return rslt end if long ll_max ll_max = long (mid(ls_maxstr, len(ls_spttypecode) + 1)) ll_max = ll_max + 1 rslt = ls_spttypecode + string(ll_max, mid(ls_initstr, len(ls_spttypecode) + 1)) return rslt end function on w_spt_edit.create int iCurrent call super::create this.cbx_inuse=create cbx_inuse this.tab_1=create tab_1 this.cb_other=create cb_other this.dw_spttype=create dw_spttype this.cbx_autocode=create cbx_autocode iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cbx_inuse this.Control[iCurrent+2]=this.tab_1 this.Control[iCurrent+3]=this.cb_other this.Control[iCurrent+4]=this.dw_spttype this.Control[iCurrent+5]=this.cbx_autocode end on on w_spt_edit.destroy call super::destroy destroy(this.cbx_inuse) destroy(this.tab_1) destroy(this.cb_other) destroy(this.dw_spttype) destroy(this.cbx_autocode) end on event close;call super::close;destroy uo_spt CLOSEWITHRETURN(THIS,INS_RT_STRU) // 窗体级子定义结构变量,用于返回 end event event open;INS_RT_STRU.sptid=0 dw_base=tab_1.tabpage_1.dw_base dw_rep=tab_1.tabpage_2.dw_rep dw_spttype.SetTransObject (sqlca) dw_base.SetTransObject (sqlca) dw_rep.SetTransObject (sqlca) dw_spttype.Retrieve() CALL SUPER::open uo_spt = create uo_sptdef uo_spt.commit_transaction = sqlca end event event retrieve_uc;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled cb_firstpage_enabled = cb_firstpage.Enabled cb_nextpage_enabled = cb_nextpage.Enabled cb_retrieveall_enabled = cb_retrieveall.Enabled cb_priorpage_enabled = cb_priorpage.Enabled cb_func_enabled = cb_func.Enabled cb_retrieve_enabled = cb_retrieve.Enabled cb_firstpage.Enabled = FALSE cb_nextpage.Enabled = FALSE cb_retrieveall.Enabled = FALSE cb_priorpage.Enabled = FALSE cb_func.Enabled = FALSE cb_retrieve.Enabled = FALSE dw_UC.SetRedraw(FALSE) dw_index.ShareDataOff() SetPointer(HourGlass!) dw_base.InsertRow(0) dw_UC.Retrieve(inuse,sys_user_spttype,ins_spttypeid) SetPointer(Arrow!) dw_UC.ShareData(dw_index) dw_UC.SetRedraw(TRUE) IF dw_index.RowCount() >= 1 THEN dw_index.SelectRow(0,FALSE) dw_index.SelectRow(1,TRUE) else dw_base.reset( ) dw_rep.reset( ) END IF cb_firstpage.Enabled = cb_firstpage_enabled cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_priorpage.Enabled = cb_priorpage_enabled cb_func.Enabled = cb_func_enabled cb_retrieve.Enabled = cb_retrieve_enabled end event event ue_usual_query_filt;call super::ue_usual_query_filt;if dw_edit_mode or keydown(keyf4!) or keydown(keyf5!) then return string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+'( sptcode LIKE "%'+trim(sle_usual_query.text)+'%" )' obj_expr=obj_expr+' or (name LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( sptcode LIKE "'+trim(sle_usual_query.text)+'") ' obj_expr=obj_expr+' or (name LIKE "'+trim(sle_usual_query.text)+'" )' END IF end if dw_UC.setfilter(obj_expr) dw_UC.SetRedraw(False) dw_INDEX.SetRedraw(False) dw_UC.filter() if dw_index.rowcount()>=1 then dw_index.selectrow(0,false) dw_index.selectrow(1,true) end if dw_UC.SetRedraw(TRUE) dw_INDEX.SetRedraw(TRUE) end event event ue_usual_query_retr;call super::ue_usual_query_retr;IF dw_edit_mode OR KeyDown(keyf4!) OR KeyDown(keyf5!) THEN RETURN 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 = ls_querystrpart + "(sptcode like '%"+Trim(sle_usual_query.Text)+"%'" ls_querystrpart = ls_querystrpart + " or name like '%"+Trim(sle_usual_query.Text)+"%')" ELSE ls_querystrpart = ls_querystrpart + "(sptcode like '"+Trim(sle_usual_query.Text)+"'" ls_querystrpart = ls_querystrpart + " or name like '"+Trim(sle_usual_query.Text)+"')" END IF IF Pos(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_uc,ls_newselect,1) THIS.TriggerEvent('retrieve_uc') //注意必须有此句 end event event refresh_interface;call super::refresh_interface;cbx_inuse.enabled=not dw_edit_mode wf_lock_uc() dw_base.Enabled = dw_edit_mode dw_index.Enabled = Not dw_edit_mode end event event ue_before_open;call super::ue_before_open;if_ue_retr = TRUE if_ue_filter = TRUE if_ue_sort = TRUE if_ue_sentdataout = TRUE end event type cb_func from w_publ_edit_index`cb_func within w_spt_edit end type type cb_exit from w_publ_edit_index`cb_exit within w_spt_edit integer x = 1682 end type type sle_usual_query from w_publ_edit_index`sle_usual_query within w_spt_edit integer x = 343 end type type cb_nextpage from w_publ_edit_index`cb_nextpage within w_spt_edit integer x = 2560 end type type cb_priorpage from w_publ_edit_index`cb_priorpage within w_spt_edit integer x = 2409 end type type cb_firstpage from w_publ_edit_index`cb_firstpage within w_spt_edit integer x = 2258 end type type cb_retrieveall from w_publ_edit_index`cb_retrieveall within w_spt_edit integer x = 2107 end type type em_pagerowno from w_publ_edit_index`em_pagerowno within w_spt_edit integer x = 1797 integer width = 315 string text = "9999999" end type type st_pagerowno from w_publ_edit_index`st_pagerowno within w_spt_edit integer x = 1797 end type type st_1 from w_publ_edit_index`st_1 within w_spt_edit integer width = 329 string text = "编码/名称含" alignment alignment = center! end type type cb_add from w_publ_edit_index`cb_add within w_spt_edit end type event cb_add::clicked;IF Not f_power_ind(92) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF Long ll_sptid = 0,i,ll_repid String errmsg = '' IF dw_edit_mode THEN dw_uc.AcceptText() dw_base.AcceptText() dw_rep.AcceptText() IF dw_base.GetNextModified(0, Primary!) = 0 And dw_rep.GetNextModified(0, Primary!) = 0 THEN MessageBox('提示','没有任何修改,不可以保存!', Information!, OK! ) RETURN END IF dw_uc.Object.Name[dw_uc.GetRow()] = Trim(dw_base.Object.Name[dw_base.GetRow()]) dw_uc.Object.spttype[dw_uc.GetRow()] = Trim(dw_base.Object.spttype[dw_base.GetRow()]) dw_uc.Object.rep[dw_uc.GetRow()] = Trim(dw_base.Object.rep[dw_base.GetRow()]) dw_uc.Object.tele[dw_uc.GetRow()] = Trim(dw_base.Object.tele[dw_base.GetRow()]) dw_uc.Object.tele1[dw_uc.GetRow()] = Trim(dw_base.Object.tele1[dw_base.GetRow()]) dw_uc.Object.bank[dw_uc.GetRow()] = Trim(dw_base.Object.bank[dw_base.GetRow()]) dw_uc.Object.cunt[dw_uc.GetRow()] = Trim(dw_base.Object.cunt[dw_base.GetRow()]) dw_uc.Object.code[dw_uc.GetRow()] = Trim(dw_base.Object.code[dw_base.GetRow()]) dw_uc.Object.Address[dw_uc.GetRow()] = Trim(dw_base.Object.Address[dw_base.GetRow()]) dw_uc.Object.dscrp[dw_uc.GetRow()] = Trim(dw_base.Object.dscrp[dw_base.GetRow()]) dw_uc.Object.sptcode[dw_uc.GetRow()] = Upper(Trim(dw_base.Object.sptcode[dw_base.GetRow()])) dw_uc.Object.faxno[dw_uc.GetRow()] = Trim(dw_base.Object.faxno[dw_base.GetRow()]) dw_uc.Object.email[dw_uc.GetRow()] = Trim(dw_base.Object.email[dw_base.GetRow()]) dw_uc.Object.inuse[dw_uc.GetRow()] = dw_base.Object.inuse[dw_base.GetRow()] dw_uc.Object.spttypeid[dw_uc.GetRow()] = dw_base.Object.spttypeid[dw_base.GetRow()] dw_uc.Object.dftmoneyid[dw_uc.GetRow()] = dw_base.Object.dftmoneyid[dw_base.GetRow()] dw_uc.Object.dftbanktypeid[dw_uc.GetRow()] = dw_base.Object.dftbanktypeid[dw_base.GetRow()] dw_uc.Object.industry[dw_uc.GetRow()] = dw_base.Object.industry[dw_base.GetRow()] dw_uc.Object.tax[dw_uc.GetRow()] = dw_base.Object.tax[dw_base.GetRow()] dw_uc.Object.opdate[dw_uc.GetRow()] = Today() dw_uc.Object.opemp[dw_uc.GetRow()] = publ_operator dw_base.Object.opdate[dw_base.GetRow()] = Today() dw_base.Object.opemp[dw_base.GetRow()] = publ_operator dw_uc.AcceptText( ) IF dw_base.Object.sptcode[dw_base.GetRow()] = '' THEN MessageBox('提示','请输入供应商编号!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("sptcode") RETURN END IF IF dw_base.Object.Name[dw_base.GetRow()] = '' THEN MessageBox('提示','请输入供应商名称!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("name") RETURN END IF IF dw_base.Object.spttypeid[dw_base.GetRow()] = 0 THEN MessageBox('提示','请输入供应商类别!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("spttypeid") RETURN END IF IF dw_base.Object.dftmoneyid[dw_base.GetRow()] = 0 THEN MessageBox('提示','请选择币种!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("dftmoneyid") RETURN END IF IF dw_base.Object.dftbanktypeid[dw_base.GetRow()] = 0 THEN MessageBox('提示','请选择结算方式!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("dftbanktypeid") RETURN END IF //////////////////////////////////////////////// // IF dw_uc.Object.sptID[dw_uc.GetRow()] = 0 THEN uo_spt.newbegin(0) ELSE newcode = dw_uc.Object.sptcode[dw_uc.GetRow()] newname = dw_uc.Object.Name[dw_uc.GetRow()] String arg_msg f_setsysoplog('定义资料','供应商修改,原:'+oldcode+','+oldname+'->新:'+newcode+','+newname,arg_msg,False) END IF Long ll_cnt ll_cnt = dw_rep.RowCount( ) FOR i = 1 To ll_cnt dw_rep.Object.sptID[i] = dw_uc.Object.sptID[dw_uc.GetRow()] IF dw_rep.Object.repid[i] = 0 And Trim(dw_rep.Object.repname[i]) = '' THEN dw_rep.DeleteRow( i) CONTINUE END IF IF dw_rep.Object.repid[i] = 0 THEN ll_repid = f_sys_scidentity(0,"u_spt_rep","repid",errmsg,False,sqlca) IF ll_repid <= 0 THEN MessageBox("提示",errmsg, Information!, OK! ) RETURN ELSE dw_rep.Object.repid[i] = ll_repid END IF END IF NEXT uo_spt.s_sptdef.sptcode = dw_uc.Object.sptcode[dw_uc.GetRow()] uo_spt.s_sptdef.Name = dw_uc.Object.Name[dw_uc.GetRow()] uo_spt.s_sptdef.spttype = dw_uc.Object.spttype[dw_uc.GetRow()] uo_spt.s_sptdef.rep = dw_uc.Object.rep[dw_uc.GetRow()] uo_spt.s_sptdef.tele = dw_uc.Object.tele[dw_uc.GetRow()] uo_spt.s_sptdef.tele1 = dw_uc.Object.tele1[dw_uc.GetRow()] uo_spt.s_sptdef.bank = dw_uc.Object.bank[dw_uc.GetRow()] uo_spt.s_sptdef.cunt = dw_uc.Object.cunt[dw_uc.GetRow()] uo_spt.s_sptdef.Address = dw_uc.Object.Address[dw_uc.GetRow()] uo_spt.s_sptdef.code = dw_uc.Object.code[dw_uc.GetRow()] uo_spt.s_sptdef.dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()] uo_spt.s_sptdef.faxno = dw_uc.Object.faxno[dw_uc.GetRow()] uo_spt.s_sptdef.inuse = dw_uc.Object.inuse[dw_uc.GetRow()] uo_spt.s_sptdef.email = dw_uc.Object.email[dw_uc.GetRow()] uo_spt.s_sptdef.spttypeid = dw_uc.Object.spttypeid[dw_uc.GetRow()] uo_spt.s_sptdef.dftmoneyid = dw_uc.Object.dftmoneyid[dw_uc.GetRow()] uo_spt.s_sptdef.dftbanktypeid = dw_uc.Object.dftbanktypeid[dw_uc.GetRow()] uo_spt.s_sptdef.industry = dw_uc.Object.industry[dw_uc.GetRow()] uo_spt.s_sptdef.tax = dw_uc.Object.tax[dw_uc.GetRow()] dw_rep.AcceptText() ll_cnt = dw_rep.RowCount( ) FOR i = 1 To ll_cnt IF dw_rep.Object.repid[i] > 0 THEN IF uo_spt.acceptmx(dw_rep.Object.repid[i],& dw_rep.Object.sptID[i],& dw_rep.Object.repname[i],& dw_rep.Object.duty[i],& dw_rep.Object.sex[i],& dw_rep.Object.officetel[i],& dw_rep.Object.handtel[i],& dw_rep.Object.faxno[i],& dw_rep.Object.email[i],& dw_rep.Object.dscrp[i],& arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF END IF NEXT /////////////////////////// // END IF IF dw_edit_mode THEN String ls_errmsg IF uo_spt.Save( True, ls_errmsg) = 0 THEN MessageBox ("提示",ls_errmsg+",保存操作失败!", Information!, OK! ) ls_update_flag = False RETURN ELSE dw_uc.Object.sptID[dw_uc.GetRow()] = uo_spt.sptID ls_update_flag = True END IF ins_sqlerrtext = "" dw_uc.Enabled = False ELSE Long li_row, li_cur_row li_cur_row = dw_uc.GetRow() li_row = dw_uc.InsertRow (li_cur_row) dw_uc.SetRow (li_row) dw_uc.ScrollToRow (li_row) dw_index.SetRow (li_row) dw_index.ScrollToRow (li_row) dw_rep.reset( ) modifyrow_no = li_row dw_rep.InsertRow(0) //系统选项266 直接自动流水号 IF sys_option_auto_code = 1 THEN dw_base.Object.sptcode[dw_base.GetRow()] = wf_sys_option_auto_code() ELSE IF ins_spttypeid > 0 THEN dw_base.Object.spttypeid[dw_base.GetRow()] = ins_spttypeid IF cbx_autocode.Checked THEN dw_base.Object.sptcode[dw_base.GetRow()] = wf_autocode(ins_spttypeid) END IF END IF END IF END IF dw_edit_mode = Not dw_edit_mode wf_face_change() IF dw_edit_mode THEN IF cb_mode_itfchg.Text = '<<' THEN cb_mode_itfchg.TriggerEvent(Clicked!) END IF ELSE wf_index_uc() END IF dw_index.rbutton_filter_use = Not dw_edit_mode wf_editindex_lockf() IF dw_edit_mode THEN dw_base.SetFocus( ) dw_base.SetColumn('sptcode') IF ins_spttypeid > 0 THEN dw_base.Object.spttypeid[dw_base.GetRow()] = ins_spttypeid END IF END IF end event type cb_edit from w_publ_edit_index`cb_edit within w_spt_edit end type event cb_edit::clicked;if not f_power_ind(92) then messagebox('提示','你没有使用权限!', Information!, OK! ) return end if if dw_uc.getrow()<1 then return CALL SUPER::CLICKED if dw_edit_mode then dw_base.setfocus( ) dw_base.SetColumn('sptcode') oldcode=DW_UC.OBJECT.sptcode[DW_UC.GETROW()] oldname=DW_UC.OBJECT.name[DW_UC.GETROW()] string arg_msg = '' if uo_spt.updatebegin(dw_uc.Object.sptid[dw_uc.GetRow()],arg_msg) = 0 then messagebox('错误',arg_msg, StopSign!, OK! ) return end if else oldcode='' oldname='' end if end event type cb_delet from w_publ_edit_index`cb_delet within w_spt_edit end type event cb_delet::clicked;IF Not f_power_ind(92) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF Long ll_row Long LS_id Long LS_LONG = 0 String ls_code,arg_msg ll_row = dw_uc.GetRow() IF dw_uc.GetRow() <= 0 THEN MessageBox('提示','没有操作目标记录!', Information!, OK! ) RETURN END IF LS_id = dw_uc.Object.sptid[dw_uc.GetRow()] ls_code = dw_uc.Object.sptcode[dw_uc.GetRow()] IF MessageBox ("询问","是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN RETURN END IF //DW_UC.SetRedraw (False) IF uo_spt.del( LS_id, ls_code,arg_msg, True) = 0 THEN MessageBox ("错误","删除记录操作失败!"+arg_msg,StopSign!,OK!) RETURN END IF //DW_UC.SetRedraw (True) dw_uc.DeleteRow(ll_row) dw_uc.ShareData(dw_index) dw_index.TriggerEvent(RowFocusChanged!) //Parent.TriggerEvent('retrieve_uc') //WF_INDEX_UC() end event type cb_choice from w_publ_edit_index`cb_choice within w_spt_edit integer x = 1381 end type event cb_choice::clicked;call super::clicked;LONG LS_ROW LS_ROW=dw_uc.getrow() if LS_ROW<=0 then messagebox('提示','请先选择目标行!',StopSign!) return end if INS_RT_STRU.sptid=dw_uc.OBJECT.sptid[LS_ROW] INS_RT_STRU.name=dw_uc.OBJECT.name[LS_ROW] INS_RT_STRU.spttype=dw_uc.OBJECT.spttype[LS_ROW] INS_RT_STRU.rep=dw_uc.OBJECT.rep[LS_ROW] INS_RT_STRU.tele=dw_uc.OBJECT.tele[LS_ROW] INS_RT_STRU.tele1=dw_uc.OBJECT.tele1[LS_ROW] INS_RT_STRU.bank=dw_uc.OBJECT.bank[LS_ROW] INS_RT_STRU.cunt=dw_uc.OBJECT.cunt[LS_ROW] INS_RT_STRU.code=dw_uc.OBJECT.code[LS_ROW] INS_RT_STRU.dscrp=dw_uc.OBJECT.dscrp[LS_ROW] INS_RT_STRU.address=dw_uc.OBJECT.address[LS_ROW] INS_RT_STRU.sptcode=dw_uc.OBJECT.sptcode[LS_ROW] INS_RT_STRU.dftmoneyid=dw_uc.OBJECT.dftmoneyid[LS_ROW] INS_RT_STRU.dftbanktypeid=dw_uc.OBJECT.dftbanktypeid[LS_ROW] CLOSE(PARENT) end event type cb_cancel from w_publ_edit_index`cb_cancel within w_spt_edit end type type cbx_mlselect from w_publ_edit_index`cbx_mlselect within w_spt_edit integer x = 2103 end type type cbx_allselect from w_publ_edit_index`cbx_allselect within w_spt_edit integer x = 2345 end type type cb_mode_itfchg_b from w_publ_edit_index`cb_mode_itfchg_b within w_spt_edit end type type cb_mode_itfchg from w_publ_edit_index`cb_mode_itfchg within w_spt_edit integer x = 1303 integer width = 78 end type type gb_1 from w_publ_edit_index`gb_1 within w_spt_edit end type type dw_uc from w_publ_edit_index`dw_uc within w_spt_edit boolean visible = false integer x = 1970 integer width = 1623 integer height = 1564 string dataobject = "dw_spt_edit" end type type cb_retrieve from w_publ_edit_index`cb_retrieve within w_spt_edit end type type cb_print from w_publ_edit_index`cb_print within w_spt_edit integer x = 1111 end type event cb_print::clicked;call super::clicked;S_print_MSG LS_PRMSG LS_PRMSG.obj_dwNAME = 'dw_rp_spt' 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 type ln_bar from w_publ_edit_index`ln_bar within w_spt_edit end type type ln_bar2 from w_publ_edit_index`ln_bar2 within w_spt_edit end type type r_bar from w_publ_edit_index`r_bar within w_spt_edit integer x = 2775 end type type ln_1 from w_publ_edit_index`ln_1 within w_spt_edit end type type ln_2 from w_publ_edit_index`ln_2 within w_spt_edit end type type dw_index from w_publ_edit_index`dw_index within w_spt_edit integer x = 795 integer width = 1170 integer height = 1660 string dataobject = "dw_spt_index" end type event dw_index::rowfocuschanged;currentrow = This.GetRow( ) 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 dw_uc.SetRow(currentrow) // dw_uc.ScrollToRow (currentrow) dw_uc.RowsCopy(currentrow, currentrow, Primary!, dw_base , 1, Primary!) wf_retrieve_rep() end event type cb_help from w_publ_edit_index`cb_help within w_spt_edit integer x = 1531 end type type cbx_inuse from checkbox within w_spt_edit integer x = 864 integer y = 204 integer width = 389 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 = "只显示有效" boolean checked = true end type event clicked;if dw_edit_mode then return if this.checked then inuse=1 else inuse=-1 end if parent.triggerevent("retrieve_uc") end event event constructor;IF not sys_power_issuper and f_power_ind(1463) THEN This.Checked = True This.Visible = False END IF end event type tab_1 from tab within w_spt_edit integer x = 1970 integer y = 292 integer width = 1623 integer height = 1668 integer taborder = 70 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 boolean raggedright = true boolean focusonbuttondown = true boolean boldselectedtext = true integer selectedtab = 1 tabpage_1 tabpage_1 tabpage_2 tabpage_2 end type on tab_1.create this.tabpage_1=create tabpage_1 this.tabpage_2=create tabpage_2 this.Control[]={this.tabpage_1,& this.tabpage_2} end on on tab_1.destroy destroy(this.tabpage_1) destroy(this.tabpage_2) end on event selectionchanged;choose case newindex case 1 dw_base.setfocus( ) case 2 dw_rep.setfocus( ) end choose end event type tabpage_1 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 1586 integer height = 1556 long backcolor = 134217739 string text = "供应商资料" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_base dw_base end type on tabpage_1.create this.dw_base=create dw_base this.Control[]={this.dw_base} end on on tabpage_1.destroy destroy(this.dw_base) end on type dw_base from u_dw_rbtnfilter within tabpage_1 integer width = 1577 integer height = 1532 integer taborder = 20 boolean enabled = false string dataobject = "dw_spt_edit" end type event constructor;autosave_setlayout_USE= false 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 event clicked;call super::clicked;IF dwo.Name = 'p_1' THEN Parent.GetParent().GetParent().TriggerEvent('ue_mod_address') END IF IF dw_edit_mode THEN IF dwo.Name = 'p_banktype' THEN GetParentWin().TriggerEvent('ue_ch_banktype') ELSEIF dwo.Name = 'p_money' THEN GetParentWin().TriggerEvent('ue_ch_money') END IF END IF end event type tabpage_2 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 1586 integer height = 1556 long backcolor = 134217739 string text = "联系人" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 cb_add_xm cb_add_xm dw_rep dw_rep cb_dele_xm cb_dele_xm end type on tabpage_2.create this.cb_add_xm=create cb_add_xm this.dw_rep=create dw_rep this.cb_dele_xm=create cb_dele_xm this.Control[]={this.cb_add_xm,& this.dw_rep,& this.cb_dele_xm} end on on tabpage_2.destroy destroy(this.cb_add_xm) destroy(this.dw_rep) destroy(this.cb_dele_xm) end on type cb_add_xm from uo_imflatbutton within tabpage_2 integer x = 901 integer y = 1420 integer width = 384 integer height = 92 integer taborder = 60 boolean bringtotop = true boolean enabled = false string text = "增联系人[&A]" end type event clicked;call super::clicked;long li_row li_row=dw_rep.insertrow(0) dw_rep.scrolltorow (li_row) dw_rep.setcolumn( 'repname') dw_rep.SetFocus() end event type dw_rep from u_dw_rbtnfilter within tabpage_2 integer y = 12 integer width = 1568 integer height = 1392 integer taborder = 20 string dataobject = "dw_spt_rep" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true end type event constructor;autosave_setlayout_USE= false 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 If keydown(Keydownarrow!) Then if this.getrow()=this.rowcount() then this.insertrow(0) end if end if end event type cb_dele_xm from uo_imflatbutton within tabpage_2 integer x = 1280 integer y = 1420 integer width = 274 integer height = 92 integer taborder = 60 boolean bringtotop = true boolean enabled = false string text = "删联系人" end type event clicked;call super::clicked;dw_rep.DeleteRow (0) dw_rep.TriggerEvent (rowfocuschanged!) end event type cb_other from uo_imflatbutton within w_spt_edit integer x = 837 integer width = 274 integer height = 164 integer taborder = 50 boolean bringtotop = true string text = "辅助功能" string normalpicname = "other.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=图片管理~tEvent=ue_fj_edit" menustr = menustr + "|" + "Text=图片查看~tEvent=ue_fj_view" 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 dw_spttype from u_dw_rbtnfilter within w_spt_edit integer y = 292 integer width = 791 integer height = 1660 integer taborder = 20 boolean bringtotop = true string dataobject = "dw_spttype_index" end type event rowfocuschanged;call super::rowfocuschanged;IF currentrow <= 0 THEN RETURN This.SelectRow(0,False) This.SelectRow(currentrow,True) IF dw_spttype.GetRow() <= 0 THEN ins_spttypeid = 0 ELSE ins_spttypeid = dw_spttype.Object.spttypeid[dw_spttype.GetRow()] END IF Parent.TriggerEvent('retrieve_uc') end event event rowfocuschanging;call super::rowfocuschanging;IF dw_edit_mode THEN return 1 end event type cbx_autocode from checkbox within w_spt_edit integer x = 1307 integer y = 204 integer width = 690 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 constructor;long if_autocode if_autocode = Integer(f_ProfileString (sys_empid,dw_index.DataObject, "if_autocode", '0')) IF if_autocode = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event event clicked;long if_autocode = 0 IF THIS.Checked THEN if_autocode = 1 ELSE if_autocode = 0 END IF f_SetProfileString (sys_empid,dw_index.DataObject, "if_autocode", String(if_autocode)) end event