$PBExportHeader$w_cust_edit.srw forward global type w_cust_edit from w_publ_edit_index end type type cbx_inuse from checkbox within w_cust_edit end type type tv_1 from uo_tv_cusarea within w_cust_edit end type type cb_1 from uo_imflatbutton within w_cust_edit end type type tab_1 from tab within w_cust_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_cust_edit tabpage_1 tabpage_1 tabpage_2 tabpage_2 end type type cb_other from uo_imflatbutton within w_cust_edit end type type st_2 from statictext within w_cust_edit end type type ddlb_member from dropdownlistbox within w_cust_edit end type type cbx_auto_cuscode from checkbox within w_cust_edit end type type st_3 from statictext within w_cust_edit end type type em_1 from editmask within w_cust_edit end type end forward global type w_cust_edit from w_publ_edit_index integer width = 3611 integer height = 2336 string title = "客户" event ue_fj_edit ( ) event ue_fj_view ( ) event ue_mod_address ( ) event ue_cusarea_rtr ( ) event ue_cusarea_set ( ) event ue_ch_outrepdef ( ) event ue_ch_banktype ( ) event ue_ch_station ( ) event ue_ch_member ( ) event ue_ch_cusarea ( ) event ue_auto_fill ( ) event ue_after_open ( ) event ue_ch_grade ( ) event ue_rq_cust ( ) event ue_mod_freight_address ( ) event retrieve_fjnum ( ) event ue_ch_upname ( ) cbx_inuse cbx_inuse tv_1 tv_1 cb_1 cb_1 tab_1 tab_1 cb_other cb_other st_2 st_2 ddlb_member ddlb_member cbx_auto_cuscode cbx_auto_cuscode st_3 st_3 em_1 em_1 end type global w_cust_edit w_cust_edit type variables s_custom ins_rt_stru datawindow dw_base,dw_rep uo_custdef uo_cust String oldcode,oldname,newcode,newname Int inuse = 1 String ls_areaname = '' long cur_memberid = -1 long cur_CusareaID string cur_typecode string cur_typecodestr s_edit_index_tran s_tran //传递参数使用 end variables forward prototypes public subroutine wf_retrieve_rep () public function integer wf_lock_uc () public function integer wf_auto_cuscode () public function string wf_sys_option_auto_code () public subroutine wf_hide_message () 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 = 105 //物料资料 mainID s_pic.f_string = dw_uc.Object.cuscode[ls_row] s_pic.g_long = dw_uc.Object.cusid[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 = 105 //物料资料 mainID s_pic.f_string = dw_uc.Object.cuscode[ls_row] s_pic.g_long = dw_uc.Object.cusid[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_cusarea_rtr();if dw_edit_mode then return tv_1.f_maketree() end event event ue_cusarea_set();if dw_edit_mode then return open(w_cusarea_def) end event event ue_ch_outrepdef();IF Not IsValid(w_outrepdef_edit_ch) THEN Open(w_outrepdef_edit_ch) s_outrepdef s_outrep_ch s_outrep_ch = Message.PowerObjectParm IF s_outrep_ch.outrepname <> '' THEN dw_base.Object.custype[dw_base.GetRow()] = s_outrep_ch.outrepname END IF datawindowchild childdw dw_base.GetChild("custype",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() 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 = 0 Openwithparm(w_banktype_edit_ch, s_open) s_banktype s_ch s_ch = Message.PowerObjectParm IF s_ch.banktypeid > 0 THEN dw_base.Object.banktypeid[dw_base.GetRow()] = s_ch.banktypeid END IF datawindowchild childdw dw_base.GetChild("banktypeid",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF end event event ue_ch_station();Long ll_row String arg_msg s_station s_station_2 dw_base.AcceptText() ll_row = dw_base.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请先选择客户',information!,OK!) RETURN END IF IF Not IsValid(w_station_edit) THEN s_edit_index_tran s_ch_tran s_ch_tran.if_retrieve_all = False s_ch_tran.work_mode = 1 s_ch_tran.arg_pkid = 0 s_ch_tran.arg_string_code = '' s_ch_tran.if_select_all = False OpenWithParm(w_station_edit,s_ch_tran) //调用 s_station_2 = Message.PowerObjectParm //接受返回结构 IF s_station_2.stationid = 0 THEN RETURN dw_base.Object.freight[ll_row] = s_station_2.stationname dw_base.Object.freight_tele[ll_row] = s_station_2.tele dw_base.Object.freight_address[ll_row] = s_station_2.address END IF end event event ue_ch_member();IF Not IsValid(w_cust_member_ch) THEN Open(w_cust_member_ch) s_cust_member s_ch s_ch = Message.PowerObjectParm IF s_ch.memberid > 0 THEN dw_base.Object.memberid[dw_base.GetRow()] = s_ch.memberid END IF datawindowchild childdw dw_base.GetChild("memberid",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF end event event ue_ch_cusarea();IF Not IsValid(w_cusarea_ch) THEN Open(w_cusarea_ch) s_cusarea s_ch s_ch = Message.PowerObjectParm IF s_ch.cusareaid > 0 THEN dw_base.Object.cusareaid[dw_base.GetRow()] = s_ch.cusareaid END IF datawindowchild childdw dw_base.GetChild("cusareaid",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF end event event ue_auto_fill();IF Not dw_edit_mode THEN RETURN Long ll_row ll_row = dw_base.GetRow() IF ll_row <= 0 THEN RETURN IF ClassName(s_tran.a_any) <> 's_custom' THEN RETURN s_custom ls_cust ls_cust = s_tran.a_any IF ls_cust.cuscode <> '' THEN dw_base.Object.cuscode[ll_row] = ls_cust.cuscode END IF IF ls_cust.Name <> '' THEN dw_base.Object.Name[ll_row] = ls_cust.Name END IF IF ls_cust.custype <> '' THEN dw_base.Object.custype[ll_row] = ls_cust.custype END IF IF ls_cust.upname <> '' THEN dw_base.Object.upname[ll_row] = ls_cust.upname END IF IF ls_cust.rep <> '' THEN dw_base.Object.rep[ll_row] = ls_cust.rep END IF IF ls_cust.tele <> '' THEN dw_base.Object.tele[ll_row] = ls_cust.tele END IF IF ls_cust.tele1 <> '' THEN dw_base.Object.tele1[ll_row] = ls_cust.tele1 END IF IF ls_cust.fax <> '' THEN dw_base.Object.faxno[ll_row] = ls_cust.fax END IF IF ls_cust.Address <> '' THEN dw_base.Object.Address[ll_row] = ls_cust.Address END IF IF ls_cust.freight <> '' THEN dw_base.Object.freight[ll_row] = ls_cust.freight END IF IF ls_cust.freight_tele <> '' THEN dw_base.Object.freight_tele[ll_row] = ls_cust.freight_tele END IF IF ls_cust.email <> '' THEN dw_base.Object.email[ll_row] = ls_cust.email END IF //IF ls_cust.moneyid > 0 THEN // dw_base.Object.moneyid[ll_row] = ls_cust.moneyid //END IF IF ls_cust.banktypeid > 0 THEN dw_base.Object.banktypeid[ll_row] = ls_cust.banktypeid END IF end event event ue_after_open();IF Not dw_edit_mode THEN cb_add.TriggerEvent(Clicked!) This.TriggerEvent('ue_auto_fill') oldcode = dw_uc.Object.cuscode[dw_uc.GetRow()] oldname = dw_uc.Object.Name[dw_uc.GetRow()] // IF Not f_power_ind(918,sys_msg_pow) THEN // dw_base.SetTabOrder('name',0) // END IF END IF end event event ue_ch_grade();IF Not IsValid(w_grade_ch) THEN Open(w_grade_ch) s_grade s_ch s_ch = Message.PowerObjectParm IF UpperBound(s_ch.grade) > 0 THEN IF s_ch.grade[1] <> '' THEN dw_base.Object.u_cust_grade[dw_base.GetRow()] = s_ch.grade[1] END IF datawindowchild childdw dw_base.GetChild("u_cust_grade",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF END IF end event event ue_rq_cust();Int rslt = 1 Long ll_row Long ll_cusid Int li_state String ls_cusname, ls_custype, ls_dscrp String arg_msg datetime ldt_rqdate ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示', '请选择客户') RETURN END IF ll_cusid = dw_uc.Object.cusid[ll_row] ls_cusname = dw_uc.Object.Name[ll_row] li_state = dw_uc.Object.u_cust_state[ll_row] ls_custype = dw_uc.Object.custype[ll_row] IF li_state <> 0 THEN MessageBox('系统提示', '非公共客户不能申请') RETURN END IF IF MessageBox('确定', '是否确定要申请['+ls_cusname+']为准客户?', question!, yesno!) = 2 THEN RETURN ldt_rqdate = datetime(today(), now()) ls_dscrp = "" IF uo_cust.uof_add_cust_rq(ll_cusid, ls_custype, ldt_rqdate, ls_dscrp, arg_msg, True) = 0 THEN rslt = 0 //goto ext END IF IF rslt = 0 THEN MessageBox('系统提示', arg_msg) RETURN ELSE MessageBox('系统提示', '申请准客户成功') dw_uc.Object.u_cust_state[ll_row] = 3 dw_base.Object.u_cust_state[dw_base.getrow()] = 3 //RETURN END IF end event event ue_mod_freight_address();s_view_dscrp s_view,s_return String ls_dscrp dw_base.AcceptText() ls_dscrp = dw_base.Object.freight_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.freight_address[dw_base.GetRow()] = s_return.dscrp END IF end event event retrieve_fjnum(); Long i,ls_filecount Long arg_billid FOR i = 1 To dw_index.RowCount() arg_billid = dw_index.Object.cusid[i] ls_filecount = 0 SELECT count(*) INTO :ls_filecount FROM u_file WHERE relid = :arg_billid AND scid = 0 AND billtype = 105 Using sys_filedb_sqlca; IF ls_filecount <> 0 then dw_index.Object.fj_num[i] = String(ls_filecount) end if NEXT end event event ue_ch_upname();IF Not IsValid(w_outrepdef_edit_ch) THEN Open(w_outrepdef_edit_ch) s_outrepdef s_outrep_ch s_outrep_ch = Message.PowerObjectParm IF s_outrep_ch.outrepname <> '' THEN dw_base.Object.upname[dw_base.GetRow()] = s_outrep_ch.outrepname END IF datawindowchild childdw dw_base.GetChild("upname",childdw) childdw.SetTransObject (sqlca) childdw.Retrieve() END IF end event public subroutine wf_retrieve_rep ();IF dw_index.GetRow() < 1 THEN RETURN Long ls_cusid ls_cusid = dw_index.Object.cusid[dw_index.GetRow() ] dw_rep.Retrieve(ls_cusid ) 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 integer wf_auto_cuscode ();IF NOT dw_edit_mode THEN RETURN 1 IF dw_base.GetRow() <= 0 THEN RETURN 1 //IF cur_CusareaID = 0 THEN RETURN 1 //IF cur_typecode = '' THEN RETURN 1 IF Long(em_1.Text) <= 0 THEN RETURN 1 if sys_option_auto_code=1 then return 1 //系统选项266 直接自动流水 if cbx_auto_cuscode.checked = false then return 1//不勾选 按类别自动客户编号 则不进行自动编号 if tv_1.uo_cur_info.sonflag <> 1 then return 1 //非子节点 不进行自动编号 Long ll_len_typecode Long ll_maxnum String ls_auto_code,ls_num String ls_max_cuscode ll_len_typecode = Len(cur_typecodestr) SELECT max(cuscode) INTO :ls_max_cuscode FROM u_cust WHERE CusareaID = :cur_CusareaID AND Left(cuscode,:ll_len_typecode) = :cur_typecodestr ; IF sqlca.SQLCode <> 0 THEN RETURN 1 ls_num = Fill("0",Long(em_1.Text)) IF IsNull(ls_max_cuscode) THEN ll_maxnum = 0 ELSE ll_maxnum = Long(Mid(ls_max_cuscode,ll_len_typecode + 1)) END IF ls_auto_code = cur_typecodestr + String(ll_maxnum + 1,ls_num) dw_base.Object.cuscode[dw_base.GetRow()] = ls_auto_code RETURN 1 end function public function string wf_sys_option_auto_code ();// long ll_cnt //select max(cusid) into :ll_cnt from u_cust ; select ScIdentityno into :ll_cnt from Sys_scIdentity where Tablename ='u_cust' ; if isnull(ll_cnt) then ll_cnt=0 return 'cust_' + string(ll_cnt + 1,'0000') end function public subroutine wf_hide_message ();string ls_modify s_hide_col s_col,s_col_2 s_col.col_1 = 'address' s_col.col_2 = 'tele' s_col.col_3 = 'tele_sms' s_col.col_4 = 'tele1' s_col.col_5 = 'faxno' s_col.col_6 = 'rep' f_hide_col(2049,dw_base,s_col) ls_modify = 'p_2.visible=0 ~n ' IF ls_modify <> '' THEN dw_base.Modify(ls_modify) tab_1.tabpage_2.visible = false s_col_2.col_1 = 'rep' s_col_2.col_2 = 'tele' s_col_2.col_3 = 'tele1' s_col_2.col_4 = 'faxno' s_col_2.col_5 = 'address' f_hide_col(2049,dw_index,s_col_2) //s_hide_col s_col //s_col.col_1 = 'address' //f_hide_col(2049,dw_base,s_col) //string ls_modify //IF s_col.col_1 <> '' THEN ls_modify = ls_modify + "destroy " + s_col.col_1 + '_t ~n ' + s_col.col_1 + '.visible=0 ~n ' // // //IF ls_modify <> '' THEN dw_base.Modify(ls_modify) // // // //s_col.col_1 = 'p_2' // //IF s_col.col_1 <> '' THEN ls_modify = 'p_2.visible=0 ~n ' // // //IF ls_modify <> '' THEN dw_base.Modify(ls_modify) end subroutine on w_cust_edit.create int iCurrent call super::create this.cbx_inuse=create cbx_inuse this.tv_1=create tv_1 this.cb_1=create cb_1 this.tab_1=create tab_1 this.cb_other=create cb_other this.st_2=create st_2 this.ddlb_member=create ddlb_member this.cbx_auto_cuscode=create cbx_auto_cuscode this.st_3=create st_3 this.em_1=create em_1 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cbx_inuse this.Control[iCurrent+2]=this.tv_1 this.Control[iCurrent+3]=this.cb_1 this.Control[iCurrent+4]=this.tab_1 this.Control[iCurrent+5]=this.cb_other this.Control[iCurrent+6]=this.st_2 this.Control[iCurrent+7]=this.ddlb_member this.Control[iCurrent+8]=this.cbx_auto_cuscode this.Control[iCurrent+9]=this.st_3 this.Control[iCurrent+10]=this.em_1 end on on w_cust_edit.destroy call super::destroy destroy(this.cbx_inuse) destroy(this.tv_1) destroy(this.cb_1) destroy(this.tab_1) destroy(this.cb_other) destroy(this.st_2) destroy(this.ddlb_member) destroy(this.cbx_auto_cuscode) destroy(this.st_3) destroy(this.em_1) end on event refresh_interface;call super::refresh_interface;cbx_inuse.Enabled = Not dw_edit_mode ddlb_member.Enabled = Not dw_edit_mode wf_lock_uc() dw_base.Enabled = dw_edit_mode dw_index.Enabled = Not dw_edit_mode end event event close;call super::close;DESTROY uo_cust CLOSEWITHRETURN(THIS,INS_RT_STRU) // 窗体级子定义结构变量,用于返回 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 This.Enabled = False dw_UC.SetRedraw(FALSE) dw_index.ShareDataOff() open(w_sys_wait) w_sys_wait.wf_set_msg('正在查询客户资料...') w_sys_wait.Show() SetPointer(HourGlass!) dw_base.InsertRow(0) //refresh area tree dw_UC.Retrieve(inuse,ls_areaname,sys_areaid,sys_option_cusarea,cur_memberid,sys_user_outrep, sys_option_outrep,s_tran.c_long) w_sys_wait.Hide() dw_UC.ShareData(dw_index) dw_UC.SetRedraw(TRUE) SetPointer(Arrow!) 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 This.Enabled = True //刷新附件数 //THIS.TriggerEvent('retrieve_fjnum') //改成辅单位手动刷新 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 //隐藏客户信息 IF f_power_ind(2049) THEN wf_hide_message() END IF 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+'( cuscode LIKE "%'+trim(sle_usual_query.text)+'%" )' obj_expr=obj_expr+' or ( name LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( cuscode 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 + "( u_cust.cuscode like '%"+Trim(sle_usual_query.Text)+"%'" ls_querystrpart = ls_querystrpart + " or u_cust.name like '%"+Trim(sle_usual_query.Text)+"%')" ELSE ls_querystrpart = ls_querystrpart + "( u_cust.cuscode like '"+Trim(sle_usual_query.Text)+"'" ls_querystrpart = ls_querystrpart + " or u_cust.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 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 event open;this.triggerevent('ue_before_open') wf_movetocenter() dw_base = tab_1.tabpage_1.dw_base dw_rep = tab_1.tabpage_2.dw_rep dw_base.SetTransObject (sqlca) dw_rep.SetTransObject (sqlca) if_ue_retr = True if_ue_filter = True if_ue_sort = True old_title = This.Title s_tran = Message.PowerObjectParm IF Not IsNull(s_tran) THEN retrieve_all = local_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_select_all = s_tran.if_select_all END IF //choose case mode // case 0 // this.title = old_title+' 编辑模式 [f4-新建/保存 f5-编辑/放弃]' // case 1 // this.title = old_title+' 选择模式 [f4-新建/保存 f5-编辑/放弃]' //end choose dw_uc.SetTransObject (sqlca) dw_index.SetTransObject (sqlca) dw_index.rbutton_filter_use = True //右键查询功能开关 pkcolumndbtname = wf_get_pkcolumndbtname(dw_uc) //取第一列为关键字 ori_oldselect = dw_uc.Describe("datawindow.table.select") ls_newselect = ori_oldselect ds_curquery = Create datastore ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) IF mode = 1 THEN cbx_mlselect.Visible = True cbx_allselect.Visible = True cb_choice.Enabled = True ELSE cbx_mlselect.Visible = False cbx_allselect.Visible = False cb_choice.Enabled = False END IF //IF mode = 1 THEN cb_mode_itfchg.TriggerEvent(Clicked!) wf_editindex_lockf() IF Not retrieve_all And Trim(arg_string_code) <> '' THEN sle_usual_query.Text = Trim(arg_string_code) This.TriggerEvent("ue_usual_query_retr") //修改ls_newselect,retrieve ELSE wf_retrieveuc(dw_uc,ls_newselect,1) //retrieve This.TriggerEvent('retrieve_uc') END IF IF retrieve_all And Trim(arg_string_code) <> '' THEN sle_usual_query.Text = Trim(arg_string_code) This.TriggerEvent("ue_usual_query_filt") END IF TRY IF Not IsNull(s_tran) THEN IF s_tran.d_long = 1 THEN This.Post Event ue_after_open() END IF END IF Catch (RuntimeError rrrr) END TRY uo_cust = Create uo_custdef uo_cust.commit_transaction = sqlca IF Not f_power_ind(2) and not dw_edit_mode THEN cb_add.Enabled = false else cb_add.Enabled = true END IF end event event ue_sentdataout;IF NOT f_power_ind(1450) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF OPENWITHPARM(w_sentdataout,dw_index) end event type cb_func from w_publ_edit_index`cb_func within w_cust_edit integer x = 306 end type type cb_exit from w_publ_edit_index`cb_exit within w_cust_edit integer x = 1851 end type type sle_usual_query from w_publ_edit_index`sle_usual_query within w_cust_edit integer x = 352 integer y = 188 end type type cb_nextpage from w_publ_edit_index`cb_nextpage within w_cust_edit boolean visible = true integer x = 2281 end type type cb_priorpage from w_publ_edit_index`cb_priorpage within w_cust_edit integer x = 2633 end type type cb_firstpage from w_publ_edit_index`cb_firstpage within w_cust_edit integer x = 2482 end type type cb_retrieveall from w_publ_edit_index`cb_retrieveall within w_cust_edit boolean visible = true integer x = 2135 end type type em_pagerowno from w_publ_edit_index`em_pagerowno within w_cust_edit boolean visible = true integer x = 2386 integer y = 44 string text = "9999999" end type type st_pagerowno from w_publ_edit_index`st_pagerowno within w_cust_edit integer x = 0 integer y = 0 end type type st_1 from w_publ_edit_index`st_1 within w_cust_edit integer x = 0 integer width = 343 string text = "编码/名称含" alignment alignment = center! end type type cb_add from w_publ_edit_index`cb_add within w_cust_edit integer x = 453 end type event cb_add::clicked;//IF Not f_power_ind(2) THEN // MessageBox('提示','你没有使用权限!', Information!, OK! ) // RETURN //END IF string ls_msg='' Long ll_cusid = 0,i,ll_repid String errmsg = '' Long cnt,cnt_cusid String cnt_custname 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 //检查操作员是否有相应区域权限 IF sys_areastr <> '0' THEN Long ll_cusareaid ll_cusareaid = dw_base.Object.cusareaid[dw_base.GetRow()] String ls_cusareaid ls_cusareaid = ','+String(ll_cusareaid)+',' IF Pos(sys_areastr,ls_cusareaid) = 0 THEN MessageBox('提示','你没有相应的区域权限,不能建立该区域的客户', Information!, OK! ) RETURN END IF END IF dw_uc.Object.cuscode[dw_uc.GetRow()] = Trim(dw_base.Object.cuscode[dw_base.GetRow()]) dw_uc.Object.Name[dw_uc.GetRow()] = Trim(dw_base.Object.Name[dw_base.GetRow()]) dw_uc.Object.custype[dw_uc.GetRow()] = Trim(dw_base.Object.custype[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.faxno[dw_uc.GetRow()] = Trim(dw_base.Object.faxno[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()] = Upper(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.givebackrate[dw_uc.GetRow()] = dw_base.Object.givebackrate[dw_base.GetRow()] dw_uc.Object.email[dw_uc.GetRow()] = dw_base.Object.email[dw_base.GetRow()] dw_uc.Object.freight[dw_uc.GetRow()] = dw_base.Object.freight[dw_base.GetRow()] dw_uc.Object.freight_tele[dw_uc.GetRow()] = dw_base.Object.freight_tele[dw_base.GetRow()] dw_uc.Object.cusareaid[dw_uc.GetRow()] = dw_base.Object.cusareaid[dw_base.GetRow()] dw_uc.Object.inuse[dw_uc.GetRow()] = dw_base.Object.inuse[dw_base.GetRow()] dw_uc.Object.lsflag[dw_uc.GetRow()] = dw_base.Object.lsflag[dw_base.GetRow()] dw_uc.Object.u_cust_grade[dw_uc.GetRow()] = Trim(dw_base.Object.u_cust_grade[dw_base.GetRow()]) dw_uc.Object.memberid[dw_uc.GetRow()] = dw_base.Object.memberid[dw_base.GetRow()] dw_uc.Object.score[dw_uc.GetRow()] = dw_base.Object.score[dw_base.GetRow()] dw_uc.Object.pricelistid[dw_uc.GetRow()] = dw_base.Object.pricelistid[dw_base.GetRow()] dw_uc.Object.banktypeid[dw_uc.GetRow()] = dw_base.Object.banktypeid[dw_base.GetRow()] dw_uc.Object.tele_sms[dw_uc.GetRow()] = dw_base.Object.tele_sms[dw_base.GetRow()] dw_uc.Object.upname[dw_uc.GetRow()] = dw_base.Object.upname[dw_base.GetRow()] dw_uc.Object.industry[dw_uc.GetRow()] = dw_base.Object.industry[dw_base.GetRow()] dw_uc.Object.u_cust_bhflag[dw_uc.GetRow()] = dw_base.Object.u_cust_bhflag[dw_base.GetRow()] dw_uc.Object.u_cust_state[dw_uc.GetRow()] = dw_base.Object.u_cust_state[dw_base.GetRow()] IF dw_uc.Object.CusID[dw_uc.GetRow()] >0 THEN dw_uc.Object.u_cust_moddate[dw_uc.GetRow()] = Today() dw_uc.Object.u_cust_modemp[dw_uc.GetRow()] = publ_operator ELSE dw_uc.Object.opdate[dw_uc.GetRow()] = Today() dw_uc.Object.opemp[dw_uc.GetRow()] = publ_operator END IF dw_uc.Object.u_cust_tax[dw_uc.GetRow()] = dw_base.Object.u_cust_tax[dw_base.GetRow()] dw_uc.Object.freight_address[dw_uc.GetRow()] = dw_base.Object.freight_address[dw_base.GetRow()] dw_uc.Object.u_cust_bmstday[dw_uc.GetRow()] = dw_base.Object.u_cust_bmstday[dw_base.GetRow()] // dw_uc.AcceptText() IF dw_base.Object.cuscode[dw_base.GetRow()] = '' THEN MessageBox('提示','请输入客户编号!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("cuscode") 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.custype[dw_base.GetRow()] = '' THEN MessageBox('提示','请选择业务员!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("custype") RETURN END IF IF dw_base.Object.cusareaid[dw_base.GetRow()] = 0 THEN MessageBox('提示','请选择客户区域!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("cusareaid") RETURN END IF IF dw_base.Object.rep[dw_base.GetRow()] = '' THEN MessageBox('提示','请输入联系人!', Information!, OK! ) dw_base.SetFocus() dw_base.SetColumn("rep") RETURN END IF cnt_custname = dw_uc.Object.Name[dw_uc.GetRow()] cnt_cusid = dw_uc.Object.CusID[dw_uc.GetRow()] SELECT count(*) INTO :cnt FROM u_cust WHERE name = :cnt_custname And CusID <> :cnt_cusid; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询客户名称是否重复失败', Information!, OK! ) RETURN END IF IF cnt > 0 THEN MessageBox('提示','客户名称重复,请检查客户资料', Information!, OK! ) RETURN END IF //////////////////////////////////////////////// // IF dw_uc.Object.CusID[dw_uc.GetRow()] = 0 THEN uo_cust.newbegin(0) ELSE newcode = dw_uc.Object.cuscode[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 // dw_uc.AcceptText() String ll_cusareaname,ll_areaname ll_cusareaid = dw_uc.Object.cusareaid[dw_uc.GetRow()] SELECT cusareaname,areaname INTO:ll_cusareaname,:ll_areaname FROM u_cusarea Where cusareaid = :ll_cusareaid; dw_uc.Object.cusareaname[dw_uc.GetRow()] = ll_cusareaname dw_uc.Object.areaname[dw_uc.GetRow()] = ll_areaname dw_uc.AcceptText() Long ll_cnt ll_cnt = dw_rep.RowCount( ) FOR i = 1 To ll_cnt dw_rep.Object.CusID[i] = dw_uc.Object.CusID[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_Cust_rep","repid",errmsg,False,sqlca) IF ll_repid <= 0 THEN MessageBox("提示",errmsg,exclamation!,OK!) RETURN ELSE dw_rep.Object.repid[i] = ll_repid END IF END IF NEXT string s_name = "" string this_name="" this_name = trim(dw_uc.Object.name[dw_uc.GetRow()]) //检查地址是否重复 String s_address = "" s_address = trim(dw_uc.Object.address[dw_uc.GetRow()]) IF IsNull(s_address) THEN s_address = "" IF s_address <> "" THEN SELECT Top 1 Name Into :s_name From u_cust Where address = :s_address; IF s_name <> "" and s_name<>this_name THEN ls_msg = '地址与客户《' + s_name + '》相同,' // IF MessageBox('提示信息','地址与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN // RETURN // END IF END IF END IF //检查email是否重复 String s_email = "" s_email = trim(dw_uc.Object.email[dw_uc.GetRow()]) IF IsNull(s_email) THEN s_email = "" IF s_email <> "" THEN SELECT Top 1 Name Into :s_name From u_cust Where email = :s_email; IF s_name <> "" and s_name<>this_name THEN ls_msg = ls_msg + 'email与客户《' + s_name + '》相同,' // IF MessageBox('提示信息','email与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN // RETURN // END IF END IF END IF //检查手机是否重复 String s_tele1 = "" s_tele1 = trim(dw_uc.Object.tele1[dw_uc.GetRow()]) IF IsNull(s_tele1) THEN s_tele1 = "" IF s_tele1 <> "" THEN SELECT Top 1 Name Into :s_name From u_cust Where tele1 = :s_tele1; IF s_name <> "" and s_name<>this_name THEN ls_msg = ls_msg + '手机与客户《' + s_name + '》相同,' // IF MessageBox('提示信息','手机与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN // RETURN // END IF END IF END IF //检查联系人是否重复 String s_rep = "" s_rep = trim(dw_uc.Object.rep[dw_uc.GetRow()]) IF IsNull(s_rep) THEN s_rep = "" IF s_rep <> "" THEN SELECT Top 1 Name Into :s_name From u_cust Where rep = :s_rep; IF s_name <> "" and s_name<>this_name THEN ls_msg = ls_msg + '联系人与客户《' + s_name + '》相同,' // IF MessageBox('提示信息','联系人与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN // RETURN // END IF END IF END IF //检查联系电话是否重复 String s_tele = "" s_tele = trim(dw_uc.Object.tele[dw_uc.GetRow()]) IF IsNull(s_tele) THEN s_tele = "" IF s_tele <> "" THEN SELECT Top 1 Name Into :s_name From u_cust Where tele = :s_tele; IF s_name <> "" and s_name<>this_name THEN ls_msg = ls_msg + '联系电话与客户《' + s_name + '》相同,' // IF MessageBox('提示信息','联系电话与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN // RETURN // END IF END IF END IF if ls_msg <> '' then IF MessageBox('提示信息',ls_msg+'是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN RETURN END IF end if uo_cust.s_cust.cuscode = dw_uc.Object.cuscode[dw_uc.GetRow()] uo_cust.s_cust.Name = dw_uc.Object.Name[dw_uc.GetRow()] uo_cust.s_cust.custype = dw_uc.Object.custype[dw_uc.GetRow()] uo_cust.s_cust.rep = dw_uc.Object.rep[dw_uc.GetRow()] uo_cust.s_cust.tele = dw_uc.Object.tele[dw_uc.GetRow()] uo_cust.s_cust.tele1 = dw_uc.Object.tele1[dw_uc.GetRow()] uo_cust.s_cust.bank = dw_uc.Object.bank[dw_uc.GetRow()] uo_cust.s_cust.cunt = dw_uc.Object.cunt[dw_uc.GetRow()] uo_cust.s_cust.Address = dw_uc.Object.Address[dw_uc.GetRow()] uo_cust.s_cust.code = dw_uc.Object.code[dw_uc.GetRow()] uo_cust.s_cust.dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()] uo_cust.s_cust.faxno = dw_uc.Object.faxno[dw_uc.GetRow()] uo_cust.s_cust.industry= dw_uc.Object.industry[dw_uc.GetRow()] uo_cust.s_cust.pricelistid = dw_uc.Object.pricelistid[dw_uc.GetRow()] uo_cust.s_cust.inuse = dw_uc.Object.inuse[dw_uc.GetRow()] uo_cust.s_cust.cusareaid = dw_uc.Object.cusareaid[dw_uc.GetRow()] uo_cust.s_cust.cusareaname = dw_uc.Object.cusareaname[dw_uc.GetRow()] uo_cust.s_cust.areaname = dw_uc.Object.areaname[dw_uc.GetRow()] uo_cust.s_cust.email = dw_uc.Object.email[dw_uc.GetRow()] uo_cust.s_cust.givebackrate = dw_uc.Object.givebackrate[dw_uc.GetRow()] uo_cust.s_cust.freight = dw_uc.Object.freight[dw_uc.GetRow()] uo_cust.s_cust.freight_tele = dw_uc.Object.freight_tele[dw_uc.GetRow()] uo_cust.s_cust.freight_address = dw_uc.Object.freight_address[dw_uc.GetRow()] uo_cust.s_cust.lsflag = dw_uc.Object.lsflag[dw_uc.GetRow()] uo_cust.s_cust.score = dw_uc.Object.score[dw_uc.GetRow()] uo_cust.s_cust.memberid = dw_uc.Object.memberid[dw_uc.GetRow()] uo_cust.s_cust.grade = dw_uc.Object.u_cust_grade[dw_uc.GetRow()] uo_cust.s_cust.banktypeid = dw_uc.Object.banktypeid[dw_uc.GetRow()] uo_cust.s_cust.tele_sms = dw_uc.Object.tele_sms[dw_uc.GetRow()] uo_cust.s_cust.upname = dw_uc.Object.upname[dw_uc.GetRow()] uo_cust.s_cust.bhflag = dw_uc.Object.u_cust_bhflag[dw_uc.GetRow()] uo_cust.s_cust.state = dw_uc.Object.u_cust_state[dw_uc.GetRow()] uo_cust.s_cust.tax = dw_uc.Object.u_cust_tax[dw_uc.GetRow()] uo_cust.s_cust.bmstday = dw_uc.Object.u_cust_bmstday[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_cust.acceptmx(dw_rep.Object.repid[i],& dw_rep.Object.CusID[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('错误',arg_msg, StopSign!, OK! ) RETURN END IF END IF NEXT /////////////////////////// // String ls_errmsg IF uo_cust.Save( True, ls_errmsg) = 0 THEN MessageBox ("提示",ls_errmsg+",保存操作失败!",exclamation!,OK!) ls_update_flag = False RETURN ELSE dw_uc.Object.CusID[dw_uc.GetRow()] = uo_cust.CusID dw_uc.RowsCopy(dw_uc.GetRow(), dw_uc.GetRow(), Primary!, dw_base , 1, Primary!) 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 (li_cur_row) dw_uc.SetRow (li_row) dw_uc.ScrollToRow (li_row) dw_index.SetRow (li_row) dw_index.ScrollToRow (li_row) modifyrow_no = li_row dw_rep.InsertRow(0) END IF dw_edit_mode = Not dw_edit_mode dw_index.rbutton_filter_use = Not dw_edit_mode wf_editindex_lockf() wf_face_change() IF dw_edit_mode THEN IF cb_mode_itfchg.Text = '<<' THEN cb_mode_itfchg.TriggerEvent(Clicked!) END IF dw_base.SetFocus() dw_base.SetColumn('cuscode') IF tv_1.uo_cur_info.sonflag = 1 THEN dw_base.Object.cusareaid[dw_base.GetRow()] = tv_1.uo_cur_info.cusareaid END IF //系统选项266 直接自动流水号 IF sys_option_auto_code = 1 THEN dw_base.Object.cuscode[dw_base.GetRow()] = wf_sys_option_auto_code() wf_auto_cuscode() if sys_option_cust_audit = 1 then dw_base.Object.custype[dw_base.GetRow()] = publ_operator dw_base.Object.u_cust_state[dw_base.GetRow()] = 0 else dw_base.Object.u_cust_state[dw_base.GetRow()] = 1 end if ELSE wf_index_uc() END IF IF Not f_power_ind(2) and not dw_edit_mode THEN cb_add.Enabled = false else cb_add.Enabled = true END IF end event type cb_edit from w_publ_edit_index`cb_edit within w_cust_edit integer x = 645 end type event cb_edit::clicked;IF NOT f_power_ind(1547) 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('cuscode') oldcode = DW_UC.Object.cuscode[DW_UC.GetRow()] oldname = DW_UC.Object.Name[DW_UC.GetRow()] If Not f_power_ind(1809,sys_msg_pow) Then dw_base.SetTabOrder('name',0) End If String arg_msg = '' IF uo_cust.updatebegin(DW_UC.Object.cusid[DW_UC.GetRow()],arg_msg) = 0 THEN MessageBox('提示',arg_msg, Information!, OK! ) RETURN END IF ELSE oldcode = '' oldname = '' END IF IF Not f_power_ind(2) and not dw_edit_mode THEN cb_add.Enabled = false else cb_add.Enabled = true END IF end event type cb_delet from w_publ_edit_index`cb_delet within w_cust_edit integer x = 837 end type event cb_delet::clicked;IF Not f_power_ind(1544) 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.cusid[dw_uc.GetRow()] ls_code = dw_uc.Object.cuscode[dw_uc.GetRow()] IF MessageBox ("询问","是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN RETURN END IF //DW_UC.SetRedraw (False) IF uo_cust.del( LS_id, ls_code,arg_msg, True) = 0 THEN MessageBox ("提示","删除记录操作失败!"+arg_msg,exclamation!,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_cust_edit integer x = 1550 end type event cb_choice::clicked;call super::clicked;LONG rOW ROW=dw_uc.getrow() if ROW<=0 then messagebox('提示','请先选择目标行!', Information!, OK! ) return end if INS_RT_STRU.cusid=dw_uc.OBJECT.cusid[ROW] INS_RT_STRU.name=dw_uc.OBJECT.name[ROW] INS_RT_STRU.bsntype=dw_uc.OBJECT.custype[ROW] INS_RT_STRU.rep=dw_uc.OBJECT.rep[ROW] INS_RT_STRU.tele=dw_uc.OBJECT.tele[ROW] INS_RT_STRU.tele1=dw_uc.OBJECT.tele1[ROW] INS_RT_STRU.faxno=dw_uc.object.faxno[row] INS_RT_STRU.bank=dw_uc.OBJECT.bank[ROW] INS_RT_STRU.cunt=dw_uc.OBJECT.cunt[ROW] INS_RT_STRU.address=dw_uc.OBJECT.address[ROW] INS_RT_STRU.code=dw_uc.OBJECT.code[ROW] INS_RT_STRU.dscrp=dw_uc.OBJECT.dscrp[ROW] INS_RT_STRU.cuscode=dw_uc.OBJECT.cuscode[ROW] INS_RT_STRU.givebackrate=dw_uc.OBJECT.givebackrate[ROW] INS_RT_STRU.freight=dw_uc.OBJECT.freight[ROW] INS_RT_STRU.freight_tele=dw_uc.OBJECT.freight_tele[ROW] INS_RT_STRU.lsflag=dw_uc.OBJECT.lsflag[ROW] INS_RT_STRU.memberid=dw_uc.OBJECT.memberid[ROW] INS_RT_STRU.score=dw_uc.OBJECT.score[ROW] INS_RT_STRU.pricelistid=dw_uc.OBJECT.pricelistid[ROW] INS_RT_STRU.banktypeid=dw_uc.OBJECT.banktypeid[ROW] INS_RT_STRU.tele_sms=dw_uc.OBJECT.tele_sms[ROW] INS_RT_STRU.freight_address=dw_uc.OBJECT.freight_address[ROW] CLOSE(PARENT) end event type cb_cancel from w_publ_edit_index`cb_cancel within w_cust_edit end type type cbx_mlselect from w_publ_edit_index`cbx_mlselect within w_cust_edit integer x = 2103 end type type cbx_allselect from w_publ_edit_index`cbx_allselect within w_cust_edit integer x = 2345 end type type cb_mode_itfchg_b from w_publ_edit_index`cb_mode_itfchg_b within w_cust_edit end type type cb_mode_itfchg from w_publ_edit_index`cb_mode_itfchg within w_cust_edit integer x = 1458 end type event cb_mode_itfchg::clicked;IF This.Text = '<<' THEN This.Text = '>>' dw_index.Width = tab_1.X + 1 - 736 dw_index.Y = tab_1.Y ELSE This.Text = '<<' dw_index.Width = tab_1.X + 1 + tab_1.Width - 736 dw_index.Y = tab_1.Y END IF Parent.TriggerEvent('ue_mode_itfchg') //cb_mode_itfchg_b.text = this.text //cb_mode_itfchg_b.triggerevent('ue_textchange') end event type gb_1 from w_publ_edit_index`gb_1 within w_cust_edit end type type dw_uc from w_publ_edit_index`dw_uc within w_cust_edit boolean visible = false integer x = 3173 integer y = 0 integer width = 421 integer height = 192 boolean enabled = true string dataobject = "dw_cust_edit" end type type cb_retrieve from w_publ_edit_index`cb_retrieve within w_cust_edit integer x = 151 end type type cb_print from w_publ_edit_index`cb_print within w_cust_edit integer x = 1262 end type event cb_print::clicked;call super::clicked;IF NOT f_power_ind(1364) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF String ls_windowname String ls_old_dwname,ls_new_dwname = '' S_print_MSG LS_PRMSG ls_old_dwname = 'dw_rp_cust' ls_windowname = parent.ClassName ( ) ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname) IF ls_new_dwname = '' THEN ls_new_dwname = ls_old_dwname END IF LS_PRMSG.obj_dwNAME = ls_new_dwname LS_PRMSG.SHARE_DW = DW_UC LS_PRMSG.TAG_TEXT = PARENT.Title LS_PRMSG.SETUP_FLAG = 0 LS_PRMSG.PAGECH_FLAG = 1 LS_PRMSG.retr_pram_falg = 0 OpenWithParm(w_publ_preview,LS_PRMSG) end event type ln_bar from w_publ_edit_index`ln_bar within w_cust_edit end type type ln_bar2 from w_publ_edit_index`ln_bar2 within w_cust_edit end type type r_bar from w_publ_edit_index`r_bar within w_cust_edit integer x = 3163 end type type ln_1 from w_publ_edit_index`ln_1 within w_cust_edit end type type ln_2 from w_publ_edit_index`ln_2 within w_cust_edit end type type dw_index from w_publ_edit_index`dw_index within w_cust_edit integer x = 741 integer width = 1234 integer height = 1948 string dataobject = "dw_cust_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_cust_edit integer x = 1701 end type type cbx_inuse from checkbox within w_cust_edit integer x = 882 integer y = 204 integer width = 402 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 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 cb_retrieve.TriggerEvent(Clicked!) end event type tv_1 from uo_tv_cusarea within w_cust_edit integer y = 292 integer width = 736 integer height = 1832 integer taborder = 50 boolean bringtotop = true integer textsize = -9 fontcharset fontcharset = gb2312charset! fontfamily fontfamily = anyfont! string facename = "宋体" end type event selectionchanged;call super::selectionchanged;IF dw_edit_mode THEN IF This.uo_cur_info.sonflag = 1 THEN dw_base.SetRedraw(False) dw_base.Object.cusareaid[dw_base.GetRow()] = This.uo_cur_info.cusareaid cur_CusareaID = This.uo_cur_info.cusareaid cur_typecode = This.uo_cur_info.typecode cur_typecodestr = This.uo_cur_info.typecodestr wf_auto_cuscode() dw_base.SetRedraw(True) END IF ELSE ls_areaname = This.uo_cur_info.areaname ls_areaname = ls_areaname + '%' cur_CusareaID = This.uo_cur_info.cusareaid cur_typecode = This.uo_cur_info.typecode cur_typecodestr = This.uo_cur_info.typecodestr cb_retrieve.TriggerEvent(Clicked!) END IF end event type cb_1 from uo_imflatbutton within w_cust_edit integer width = 151 integer height = 164 integer taborder = 10 boolean bringtotop = true string text = "地区" string normalpicname = "update.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_cusarea_rtr" menustr=menustr + "|" + "Text=建立地区~tEvent=ue_cusarea_set" 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 tab_1 from tab within w_cust_edit integer x = 1975 integer y = 292 integer width = 1614 integer height = 1948 integer taborder = 60 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 = 1577 integer height = 1836 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 = 1568 integer height = 1872 boolean enabled = false string dataobject = "dw_cust_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_2' THEN GetParentWin().TriggerEvent('ue_mod_address') END IF IF dw_edit_mode THEN IF dwo.Name = 'p_1' THEN GetParentWin().TriggerEvent('ue_ch_station') ELSEIF dwo.Name = 'p_3' THEN GetParentWin().TriggerEvent('ue_mod_freight_address') ELSEIF dwo.Name = 'p_emp' THEN GetParentWin().TriggerEvent('ue_ch_outrepdef') ELSEIF dwo.Name = 'p_banktype' THEN GetParentWin().TriggerEvent('ue_ch_banktype') ELSEIF dwo.Name = 'p_cusarea' THEN GetParentWin().TriggerEvent('ue_ch_cusarea') ELSEIF dwo.Name = 'p_member' THEN GetParentWin().TriggerEvent('ue_ch_member') ELSEIF dwo.Name = 'p_grade' THEN GetParentWin().TriggerEvent('ue_ch_grade') ELSEIF dwo.Name = 'p_up' THEN GetParentWin().TriggerEvent('ue_ch_upname') END IF END IF end event type tabpage_2 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 1577 integer height = 1836 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 = 891 integer y = 1620 integer width = 384 integer height = 92 integer taborder = 50 boolean bringtotop = true string text = "增联系人[&A]" end type event clicked;call super::clicked;long li_row IF not dw_edit_mode THEN return 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 width = 1568 integer height = 1612 string dataobject = "dw_cust_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 = 1271 integer y = 1620 integer width = 274 integer height = 92 integer taborder = 50 boolean bringtotop = true string text = "删联系人" end type event clicked;call super::clicked;IF not dw_edit_mode THEN return dw_rep.DeleteRow (0) dw_rep.TriggerEvent (rowfocuschanged!) end event type cb_other from uo_imflatbutton within w_cust_edit integer x = 987 integer width = 274 integer height = 164 integer taborder = 40 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" menustr = menustr + "|" + "Text=刷新附件数~tEvent=retrieve_fjnum" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=申请准客户~tEvent=ue_rq_cust" 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 st_2 from statictext within w_cust_edit integer x = 1253 integer y = 204 integer width = 238 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "会员类型" alignment alignment = right! boolean focusrectangle = false end type type ddlb_member from dropdownlistbox within w_cust_edit integer x = 1504 integer y = 188 integer width = 389 integer height = 396 integer taborder = 20 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "[全部]" boolean autohscroll = true borderstyle borderstyle = stylelowered! end type event constructor;Long memberid[] Long i = 1,it_mxbt String ls_space Int li_spacenum THIS.AddItem ('[全部]') DECLARE cur_inwaermx CURSOR FOR SELECT distinct memberid FROM u_cust; OPEN cur_inwaermx; FETCH cur_inwaermx INTO :memberid[i]; DO WHILE sqlca.SQLCode = 0 i++ FETCH cur_inwaermx INTO :memberid[i]; LOOP it_mxbt = i - 1 for i = 1 to it_mxbt string ls_membername select membername into :ls_membername from u_cust_member where memberid = :memberid[i]; li_spacenum = 50 - Len(Trim(ls_membername)) - 2 - Len(String(memberid[i])) ls_space = Fill(' ',li_spacenum) THIS.AddItem (ls_membername+ls_space+'['+String(memberid[i])+']') next THIS.Text = '[全部]' end event event selectionchanged;IF THIS.Text = '[全部]' THEN cur_memberid = -1 ELSE cur_memberid = Long(Mid ( THIS.Text,Pos(THIS.Text,'[') + 1,Len(THIS.Text) - Pos(THIS.Text,'[') - 1 )) END IF parent.triggerevent('retrieve_uc') end event type cbx_auto_cuscode from checkbox within w_cust_edit integer x = 2747 integer y = 12 integer width = 576 integer height = 64 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 string text = "按类别自动客户编号" end type event clicked;Int li_flag IF THIS.Checked THEN li_flag = 1 ELSE li_flag = 0 END IF f_SetProfileString (sys_empid,dw_index.DataObject, "if_auto_cuscode", String(li_flag)) end event event constructor;THIS.BackColor = 14215660 Int li_flag li_flag = Integer(f_ProfileString (sys_empid,dw_index.DataObject, "if_auto_cuscode", '0')) IF li_flag = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event type st_3 from statictext within w_cust_edit integer x = 2757 integer y = 100 integer width = 229 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 string text = "序号长度" boolean focusrectangle = false end type event constructor;this.backcolor = 14215660 end event type em_1 from editmask within w_cust_edit integer x = 2994 integer y = 92 integer width = 146 integer height = 84 integer taborder = 80 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "4" alignment alignment = right! borderstyle borderstyle = stylelowered! string mask = "#####0" boolean autoskip = true boolean spin = true end type event constructor;this.backcolor = 14215660 end event