w_cust_edit.srw 54 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191
  1. $PBExportHeader$w_cust_edit.srw
  2. forward
  3. global type w_cust_edit from w_publ_edit_index
  4. end type
  5. type cbx_inuse from checkbox within w_cust_edit
  6. end type
  7. type tv_1 from uo_tv_cusarea within w_cust_edit
  8. end type
  9. type cb_1 from uo_imflatbutton within w_cust_edit
  10. end type
  11. type tab_1 from tab within w_cust_edit
  12. end type
  13. type tabpage_1 from userobject within tab_1
  14. end type
  15. type dw_base from u_dw_rbtnfilter within tabpage_1
  16. end type
  17. type tabpage_1 from userobject within tab_1
  18. dw_base dw_base
  19. end type
  20. type tabpage_2 from userobject within tab_1
  21. end type
  22. type cb_add_xm from uo_imflatbutton within tabpage_2
  23. end type
  24. type dw_rep from u_dw_rbtnfilter within tabpage_2
  25. end type
  26. type cb_dele_xm from uo_imflatbutton within tabpage_2
  27. end type
  28. type tabpage_2 from userobject within tab_1
  29. cb_add_xm cb_add_xm
  30. dw_rep dw_rep
  31. cb_dele_xm cb_dele_xm
  32. end type
  33. type tab_1 from tab within w_cust_edit
  34. tabpage_1 tabpage_1
  35. tabpage_2 tabpage_2
  36. end type
  37. type cb_other from uo_imflatbutton within w_cust_edit
  38. end type
  39. type st_2 from statictext within w_cust_edit
  40. end type
  41. type ddlb_member from dropdownlistbox within w_cust_edit
  42. end type
  43. type cbx_auto_cuscode from checkbox within w_cust_edit
  44. end type
  45. type st_3 from statictext within w_cust_edit
  46. end type
  47. type em_1 from editmask within w_cust_edit
  48. end type
  49. end forward
  50. global type w_cust_edit from w_publ_edit_index
  51. integer width = 3611
  52. integer height = 2336
  53. string title = "客户"
  54. event ue_fj_edit ( )
  55. event ue_fj_view ( )
  56. event ue_mod_address ( )
  57. event ue_cusarea_rtr ( )
  58. event ue_cusarea_set ( )
  59. event ue_ch_outrepdef ( )
  60. event ue_ch_banktype ( )
  61. event ue_ch_station ( )
  62. event ue_ch_member ( )
  63. event ue_ch_cusarea ( )
  64. event ue_auto_fill ( )
  65. event ue_after_open ( )
  66. event ue_ch_grade ( )
  67. event ue_rq_cust ( )
  68. event ue_mod_freight_address ( )
  69. event retrieve_fjnum ( )
  70. event ue_ch_upname ( )
  71. cbx_inuse cbx_inuse
  72. tv_1 tv_1
  73. cb_1 cb_1
  74. tab_1 tab_1
  75. cb_other cb_other
  76. st_2 st_2
  77. ddlb_member ddlb_member
  78. cbx_auto_cuscode cbx_auto_cuscode
  79. st_3 st_3
  80. em_1 em_1
  81. end type
  82. global w_cust_edit w_cust_edit
  83. type variables
  84. s_custom ins_rt_stru
  85. datawindow dw_base,dw_rep
  86. uo_custdef uo_cust
  87. String oldcode,oldname,newcode,newname
  88. Int inuse = 1
  89. String ls_areaname = ''
  90. long cur_memberid = -1
  91. long cur_CusareaID
  92. string cur_typecode
  93. string cur_typecodestr
  94. s_edit_index_tran s_tran //传递参数使用
  95. end variables
  96. forward prototypes
  97. public subroutine wf_retrieve_rep ()
  98. public function integer wf_lock_uc ()
  99. public function integer wf_auto_cuscode ()
  100. public function string wf_sys_option_auto_code ()
  101. public subroutine wf_hide_message ()
  102. end prototypes
  103. event ue_fj_edit();IF dw_edit_mode THEN
  104. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  105. RETURN
  106. END IF
  107. s_edit_index_tran s_pic
  108. Long ll_ConnectionID
  109. String arg_msg
  110. Long ls_row
  111. ls_row = dw_uc.GetRow()
  112. IF ls_row <= 0 THEN
  113. MessageBox('提示','请选择资料', Information!, OK! )
  114. RETURN
  115. END IF
  116. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  117. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  118. RETURN
  119. END IF
  120. s_pic.f_long = 105 //物料资料 mainID
  121. s_pic.f_string = dw_uc.Object.cuscode[ls_row]
  122. s_pic.g_long = dw_uc.Object.cusid[ls_row]
  123. s_pic.d_long = 0 //relid_mx
  124. s_pic.d_string = '' //relcode_mx
  125. s_pic.e_long = 0 // scid
  126. s_pic.sqltransaction = sys_filedb_sqlca
  127. OpenWithParm(w_fj_bill_mng,s_pic)
  128. end event
  129. event ue_fj_view();IF dw_edit_mode THEN
  130. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  131. RETURN
  132. END IF
  133. s_edit_index_tran s_pic
  134. Long ll_ConnectionID
  135. String arg_msg
  136. Long ls_row
  137. ls_row = dw_uc.GetRow()
  138. IF ls_row <= 0 THEN
  139. MessageBox('提示','请选择资料', Information!, OK! )
  140. RETURN
  141. END IF
  142. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  143. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  144. RETURN
  145. END IF
  146. s_pic.f_long = 105 //物料资料 mainID
  147. s_pic.f_string = dw_uc.Object.cuscode[ls_row]
  148. s_pic.g_long = dw_uc.Object.cusid[ls_row]
  149. s_pic.d_long = 0 //relid_mx
  150. s_pic.d_string = '' //relcode_mx
  151. s_pic.e_long = 0 // scid
  152. s_pic.sqltransaction = sys_filedb_sqlca
  153. OpenWithParm(w_fj_bill_view,s_pic)
  154. end event
  155. event ue_mod_address();s_view_dscrp s_view,s_return
  156. String ls_dscrp
  157. dw_base.AcceptText()
  158. ls_dscrp = dw_base.Object.address[dw_base.GetRow()]
  159. s_view.Title = '地址'
  160. s_view.dscrp = ls_dscrp
  161. s_view.editmode = dw_edit_mode
  162. OpenWithParm(w_view_dscrp2,s_view)
  163. IF dw_edit_mode THEN
  164. s_return = Message.PowerObjectParm
  165. dw_base.Object.address[dw_base.GetRow()] = s_return.dscrp
  166. END IF
  167. end event
  168. event ue_cusarea_rtr();if dw_edit_mode then return
  169. tv_1.f_maketree()
  170. end event
  171. event ue_cusarea_set();if dw_edit_mode then return
  172. open(w_cusarea_def)
  173. end event
  174. event ue_ch_outrepdef();IF Not IsValid(w_outrepdef_edit_ch) THEN
  175. Open(w_outrepdef_edit_ch)
  176. s_outrepdef s_outrep_ch
  177. s_outrep_ch = Message.PowerObjectParm
  178. IF s_outrep_ch.outrepname <> '' THEN
  179. dw_base.Object.custype[dw_base.GetRow()] = s_outrep_ch.outrepname
  180. END IF
  181. datawindowchild childdw
  182. dw_base.GetChild("custype",childdw)
  183. childdw.SetTransObject (sqlca)
  184. childdw.Retrieve()
  185. END IF
  186. end event
  187. event ue_ch_banktype();IF NOT IsValid(w_banktype_edit_ch) THEN
  188. s_edit_index_tran s_open //传递参数使用
  189. s_open.work_mode = 1
  190. s_open.c_long = 0
  191. Openwithparm(w_banktype_edit_ch, s_open)
  192. s_banktype s_ch
  193. s_ch = Message.PowerObjectParm
  194. IF s_ch.banktypeid > 0 THEN
  195. dw_base.Object.banktypeid[dw_base.GetRow()] = s_ch.banktypeid
  196. END IF
  197. datawindowchild childdw
  198. dw_base.GetChild("banktypeid",childdw)
  199. childdw.SetTransObject (sqlca)
  200. childdw.Retrieve()
  201. END IF
  202. end event
  203. event ue_ch_station();Long ll_row
  204. String arg_msg
  205. s_station s_station_2
  206. dw_base.AcceptText()
  207. ll_row = dw_base.GetRow()
  208. IF ll_row <= 0 THEN
  209. MessageBox('提示','请先选择客户',information!,OK!)
  210. RETURN
  211. END IF
  212. IF Not IsValid(w_station_edit) THEN
  213. s_edit_index_tran s_ch_tran
  214. s_ch_tran.if_retrieve_all = False
  215. s_ch_tran.work_mode = 1
  216. s_ch_tran.arg_pkid = 0
  217. s_ch_tran.arg_string_code = ''
  218. s_ch_tran.if_select_all = False
  219. OpenWithParm(w_station_edit,s_ch_tran) //调用
  220. s_station_2 = Message.PowerObjectParm //接受返回结构
  221. IF s_station_2.stationid = 0 THEN RETURN
  222. dw_base.Object.freight[ll_row] = s_station_2.stationname
  223. dw_base.Object.freight_tele[ll_row] = s_station_2.tele
  224. dw_base.Object.freight_address[ll_row] = s_station_2.address
  225. END IF
  226. end event
  227. event ue_ch_member();IF Not IsValid(w_cust_member_ch) THEN
  228. Open(w_cust_member_ch)
  229. s_cust_member s_ch
  230. s_ch = Message.PowerObjectParm
  231. IF s_ch.memberid > 0 THEN
  232. dw_base.Object.memberid[dw_base.GetRow()] = s_ch.memberid
  233. END IF
  234. datawindowchild childdw
  235. dw_base.GetChild("memberid",childdw)
  236. childdw.SetTransObject (sqlca)
  237. childdw.Retrieve()
  238. END IF
  239. end event
  240. event ue_ch_cusarea();IF Not IsValid(w_cusarea_ch) THEN
  241. Open(w_cusarea_ch)
  242. s_cusarea s_ch
  243. s_ch = Message.PowerObjectParm
  244. IF s_ch.cusareaid > 0 THEN
  245. dw_base.Object.cusareaid[dw_base.GetRow()] = s_ch.cusareaid
  246. END IF
  247. datawindowchild childdw
  248. dw_base.GetChild("cusareaid",childdw)
  249. childdw.SetTransObject (sqlca)
  250. childdw.Retrieve()
  251. END IF
  252. end event
  253. event ue_auto_fill();IF Not dw_edit_mode THEN RETURN
  254. Long ll_row
  255. ll_row = dw_base.GetRow()
  256. IF ll_row <= 0 THEN RETURN
  257. IF ClassName(s_tran.a_any) <> 's_custom' THEN RETURN
  258. s_custom ls_cust
  259. ls_cust = s_tran.a_any
  260. IF ls_cust.cuscode <> '' THEN
  261. dw_base.Object.cuscode[ll_row] = ls_cust.cuscode
  262. END IF
  263. IF ls_cust.Name <> '' THEN
  264. dw_base.Object.Name[ll_row] = ls_cust.Name
  265. END IF
  266. IF ls_cust.custype <> '' THEN
  267. dw_base.Object.custype[ll_row] = ls_cust.custype
  268. END IF
  269. IF ls_cust.upname <> '' THEN
  270. dw_base.Object.upname[ll_row] = ls_cust.upname
  271. END IF
  272. IF ls_cust.rep <> '' THEN
  273. dw_base.Object.rep[ll_row] = ls_cust.rep
  274. END IF
  275. IF ls_cust.tele <> '' THEN
  276. dw_base.Object.tele[ll_row] = ls_cust.tele
  277. END IF
  278. IF ls_cust.tele1 <> '' THEN
  279. dw_base.Object.tele1[ll_row] = ls_cust.tele1
  280. END IF
  281. IF ls_cust.fax <> '' THEN
  282. dw_base.Object.faxno[ll_row] = ls_cust.fax
  283. END IF
  284. IF ls_cust.Address <> '' THEN
  285. dw_base.Object.Address[ll_row] = ls_cust.Address
  286. END IF
  287. IF ls_cust.freight <> '' THEN
  288. dw_base.Object.freight[ll_row] = ls_cust.freight
  289. END IF
  290. IF ls_cust.freight_tele <> '' THEN
  291. dw_base.Object.freight_tele[ll_row] = ls_cust.freight_tele
  292. END IF
  293. IF ls_cust.email <> '' THEN
  294. dw_base.Object.email[ll_row] = ls_cust.email
  295. END IF
  296. //IF ls_cust.moneyid > 0 THEN
  297. // dw_base.Object.moneyid[ll_row] = ls_cust.moneyid
  298. //END IF
  299. IF ls_cust.banktypeid > 0 THEN
  300. dw_base.Object.banktypeid[ll_row] = ls_cust.banktypeid
  301. END IF
  302. end event
  303. event ue_after_open();IF Not dw_edit_mode THEN
  304. cb_add.TriggerEvent(Clicked!)
  305. This.TriggerEvent('ue_auto_fill')
  306. oldcode = dw_uc.Object.cuscode[dw_uc.GetRow()]
  307. oldname = dw_uc.Object.Name[dw_uc.GetRow()]
  308. // IF Not f_power_ind(918,sys_msg_pow) THEN
  309. // dw_base.SetTabOrder('name',0)
  310. // END IF
  311. END IF
  312. end event
  313. event ue_ch_grade();IF Not IsValid(w_grade_ch) THEN
  314. Open(w_grade_ch)
  315. s_grade s_ch
  316. s_ch = Message.PowerObjectParm
  317. IF UpperBound(s_ch.grade) > 0 THEN
  318. IF s_ch.grade[1] <> '' THEN
  319. dw_base.Object.u_cust_grade[dw_base.GetRow()] = s_ch.grade[1]
  320. END IF
  321. datawindowchild childdw
  322. dw_base.GetChild("u_cust_grade",childdw)
  323. childdw.SetTransObject (sqlca)
  324. childdw.Retrieve()
  325. END IF
  326. END IF
  327. end event
  328. event ue_rq_cust();Int rslt = 1
  329. Long ll_row
  330. Long ll_cusid
  331. Int li_state
  332. String ls_cusname, ls_custype, ls_dscrp
  333. String arg_msg
  334. datetime ldt_rqdate
  335. ll_row = dw_uc.GetRow()
  336. IF ll_row <= 0 THEN
  337. MessageBox('系统提示', '请选择客户')
  338. RETURN
  339. END IF
  340. ll_cusid = dw_uc.Object.cusid[ll_row]
  341. ls_cusname = dw_uc.Object.Name[ll_row]
  342. li_state = dw_uc.Object.u_cust_state[ll_row]
  343. ls_custype = dw_uc.Object.custype[ll_row]
  344. IF li_state <> 0 THEN
  345. MessageBox('系统提示', '非公共客户不能申请')
  346. RETURN
  347. END IF
  348. IF MessageBox('确定', '是否确定要申请['+ls_cusname+']为准客户?', question!, yesno!) = 2 THEN RETURN
  349. ldt_rqdate = datetime(today(), now())
  350. ls_dscrp = ""
  351. IF uo_cust.uof_add_cust_rq(ll_cusid, ls_custype, ldt_rqdate, ls_dscrp, arg_msg, True) = 0 THEN
  352. rslt = 0
  353. //goto ext
  354. END IF
  355. IF rslt = 0 THEN
  356. MessageBox('系统提示', arg_msg)
  357. RETURN
  358. ELSE
  359. MessageBox('系统提示', '申请准客户成功')
  360. dw_uc.Object.u_cust_state[ll_row] = 3
  361. dw_base.Object.u_cust_state[dw_base.getrow()] = 3
  362. //RETURN
  363. END IF
  364. end event
  365. event ue_mod_freight_address();s_view_dscrp s_view,s_return
  366. String ls_dscrp
  367. dw_base.AcceptText()
  368. ls_dscrp = dw_base.Object.freight_address[dw_base.GetRow()]
  369. s_view.Title = '地址'
  370. s_view.dscrp = ls_dscrp
  371. s_view.editmode = dw_edit_mode
  372. OpenWithParm(w_view_dscrp2,s_view)
  373. IF dw_edit_mode THEN
  374. s_return = Message.PowerObjectParm
  375. dw_base.Object.freight_address[dw_base.GetRow()] = s_return.dscrp
  376. END IF
  377. end event
  378. event retrieve_fjnum();
  379. Long i,ls_filecount
  380. Long arg_billid
  381. FOR i = 1 To dw_index.RowCount()
  382. arg_billid = dw_index.Object.cusid[i]
  383. ls_filecount = 0
  384. SELECT count(*) INTO :ls_filecount
  385. FROM u_file
  386. WHERE relid = :arg_billid
  387. AND scid = 0
  388. AND billtype = 105
  389. Using sys_filedb_sqlca;
  390. IF ls_filecount <> 0 then
  391. dw_index.Object.fj_num[i] = String(ls_filecount)
  392. end if
  393. NEXT
  394. end event
  395. event ue_ch_upname();IF Not IsValid(w_outrepdef_edit_ch) THEN
  396. Open(w_outrepdef_edit_ch)
  397. s_outrepdef s_outrep_ch
  398. s_outrep_ch = Message.PowerObjectParm
  399. IF s_outrep_ch.outrepname <> '' THEN
  400. dw_base.Object.upname[dw_base.GetRow()] = s_outrep_ch.outrepname
  401. END IF
  402. datawindowchild childdw
  403. dw_base.GetChild("upname",childdw)
  404. childdw.SetTransObject (sqlca)
  405. childdw.Retrieve()
  406. END IF
  407. end event
  408. public subroutine wf_retrieve_rep ();IF dw_index.GetRow() < 1 THEN RETURN
  409. Long ls_cusid
  410. ls_cusid = dw_index.Object.cusid[dw_index.GetRow() ]
  411. dw_rep.Retrieve(ls_cusid )
  412. end subroutine
  413. public function integer wf_lock_uc ();//wf_lock_uc
  414. INT LS_INT
  415. long ls_row
  416. long uc_column_int
  417. ls_row=dw_base.getrow()
  418. IF dw_edit_mode THEN
  419. // uc_column_int=long(dw_base.Describe("DataWindow.Column.Count"))
  420. // FOR LS_INT=1 TO uc_column_int
  421. // dw_base.SetTabOrder (LS_INT,LS_INT*10 )
  422. // NEXT
  423. uc_column_int=long(dw_rep.Describe("DataWindow.Column.Count"))
  424. FOR LS_INT=1 TO uc_column_int
  425. dw_rep.SetTabOrder (LS_INT,LS_INT*10 )
  426. NEXT
  427. ELSE
  428. // uc_column_int=long(dw_base.Describe("DataWindow.Column.Count"))
  429. // FOR LS_INT=1 TO uc_column_int
  430. // dw_base.SetTabOrder (LS_INT,0 )
  431. // NEXT
  432. uc_column_int=long(dw_rep.Describe("DataWindow.Column.Count"))
  433. FOR LS_INT=1 TO uc_column_int
  434. dw_rep.SetTabOrder (LS_INT,0 )
  435. NEXT
  436. END IF
  437. if ls_row>0 then dw_base.setrow(ls_row)
  438. RETURN 1
  439. end function
  440. public function integer wf_auto_cuscode ();IF NOT dw_edit_mode THEN RETURN 1
  441. IF dw_base.GetRow() <= 0 THEN RETURN 1
  442. //IF cur_CusareaID = 0 THEN RETURN 1
  443. //IF cur_typecode = '' THEN RETURN 1
  444. IF Long(em_1.Text) <= 0 THEN RETURN 1
  445. if sys_option_auto_code=1 then return 1 //系统选项266 直接自动流水
  446. if cbx_auto_cuscode.checked = false then return 1//不勾选 按类别自动客户编号 则不进行自动编号
  447. if tv_1.uo_cur_info.sonflag <> 1 then return 1 //非子节点 不进行自动编号
  448. Long ll_len_typecode
  449. Long ll_maxnum
  450. String ls_auto_code,ls_num
  451. String ls_max_cuscode
  452. ll_len_typecode = Len(cur_typecodestr)
  453. SELECT max(cuscode) INTO :ls_max_cuscode
  454. FROM u_cust
  455. WHERE CusareaID = :cur_CusareaID
  456. AND Left(cuscode,:ll_len_typecode) = :cur_typecodestr ;
  457. IF sqlca.SQLCode <> 0 THEN RETURN 1
  458. ls_num = Fill("0",Long(em_1.Text))
  459. IF IsNull(ls_max_cuscode) THEN
  460. ll_maxnum = 0
  461. ELSE
  462. ll_maxnum = Long(Mid(ls_max_cuscode,ll_len_typecode + 1))
  463. END IF
  464. ls_auto_code = cur_typecodestr + String(ll_maxnum + 1,ls_num)
  465. dw_base.Object.cuscode[dw_base.GetRow()] = ls_auto_code
  466. RETURN 1
  467. end function
  468. public function string wf_sys_option_auto_code ();//
  469. long ll_cnt
  470. //select max(cusid) into :ll_cnt from u_cust ;
  471. select ScIdentityno into :ll_cnt from Sys_scIdentity where Tablename ='u_cust' ;
  472. if isnull(ll_cnt) then ll_cnt=0
  473. return 'cust_' + string(ll_cnt + 1,'0000')
  474. end function
  475. public subroutine wf_hide_message ();string ls_modify
  476. s_hide_col s_col,s_col_2
  477. s_col.col_1 = 'address'
  478. s_col.col_2 = 'tele'
  479. s_col.col_3 = 'tele_sms'
  480. s_col.col_4 = 'tele1'
  481. s_col.col_5 = 'faxno'
  482. s_col.col_6 = 'rep'
  483. f_hide_col(2049,dw_base,s_col)
  484. ls_modify = 'p_2.visible=0 ~n '
  485. IF ls_modify <> '' THEN dw_base.Modify(ls_modify)
  486. tab_1.tabpage_2.visible = false
  487. s_col_2.col_1 = 'rep'
  488. s_col_2.col_2 = 'tele'
  489. s_col_2.col_3 = 'tele1'
  490. s_col_2.col_4 = 'faxno'
  491. s_col_2.col_5 = 'address'
  492. f_hide_col(2049,dw_index,s_col_2)
  493. //s_hide_col s_col
  494. //s_col.col_1 = 'address'
  495. //f_hide_col(2049,dw_base,s_col)
  496. //string ls_modify
  497. //IF s_col.col_1 <> '' THEN ls_modify = ls_modify + "destroy " + s_col.col_1 + '_t ~n ' + s_col.col_1 + '.visible=0 ~n '
  498. //
  499. //
  500. //IF ls_modify <> '' THEN dw_base.Modify(ls_modify)
  501. //
  502. //
  503. //
  504. //s_col.col_1 = 'p_2'
  505. //
  506. //IF s_col.col_1 <> '' THEN ls_modify = 'p_2.visible=0 ~n '
  507. //
  508. //
  509. //IF ls_modify <> '' THEN dw_base.Modify(ls_modify)
  510. end subroutine
  511. on w_cust_edit.create
  512. int iCurrent
  513. call super::create
  514. this.cbx_inuse=create cbx_inuse
  515. this.tv_1=create tv_1
  516. this.cb_1=create cb_1
  517. this.tab_1=create tab_1
  518. this.cb_other=create cb_other
  519. this.st_2=create st_2
  520. this.ddlb_member=create ddlb_member
  521. this.cbx_auto_cuscode=create cbx_auto_cuscode
  522. this.st_3=create st_3
  523. this.em_1=create em_1
  524. iCurrent=UpperBound(this.Control)
  525. this.Control[iCurrent+1]=this.cbx_inuse
  526. this.Control[iCurrent+2]=this.tv_1
  527. this.Control[iCurrent+3]=this.cb_1
  528. this.Control[iCurrent+4]=this.tab_1
  529. this.Control[iCurrent+5]=this.cb_other
  530. this.Control[iCurrent+6]=this.st_2
  531. this.Control[iCurrent+7]=this.ddlb_member
  532. this.Control[iCurrent+8]=this.cbx_auto_cuscode
  533. this.Control[iCurrent+9]=this.st_3
  534. this.Control[iCurrent+10]=this.em_1
  535. end on
  536. on w_cust_edit.destroy
  537. call super::destroy
  538. destroy(this.cbx_inuse)
  539. destroy(this.tv_1)
  540. destroy(this.cb_1)
  541. destroy(this.tab_1)
  542. destroy(this.cb_other)
  543. destroy(this.st_2)
  544. destroy(this.ddlb_member)
  545. destroy(this.cbx_auto_cuscode)
  546. destroy(this.st_3)
  547. destroy(this.em_1)
  548. end on
  549. event refresh_interface;call super::refresh_interface;cbx_inuse.Enabled = Not dw_edit_mode
  550. ddlb_member.Enabled = Not dw_edit_mode
  551. wf_lock_uc()
  552. dw_base.Enabled = dw_edit_mode
  553. dw_index.Enabled = Not dw_edit_mode
  554. end event
  555. event close;call super::close;DESTROY uo_cust
  556. CLOSEWITHRETURN(THIS,INS_RT_STRU)
  557. //<INS_RT_STRU> 窗体级子定义结构变量,用于返回
  558. end event
  559. event retrieve_uc;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  560. Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  561. cb_firstpage_enabled = cb_firstpage.Enabled
  562. cb_nextpage_enabled = cb_nextpage.Enabled
  563. cb_retrieveall_enabled = cb_retrieveall.Enabled
  564. cb_priorpage_enabled = cb_priorpage.Enabled
  565. cb_func_enabled = cb_func.Enabled
  566. cb_retrieve_enabled = cb_retrieve.Enabled
  567. cb_firstpage.Enabled = FALSE
  568. cb_nextpage.Enabled = FALSE
  569. cb_retrieveall.Enabled = FALSE
  570. cb_priorpage.Enabled = FALSE
  571. cb_func.Enabled = FALSE
  572. cb_retrieve.Enabled = FALSE
  573. This.Enabled = False
  574. dw_UC.SetRedraw(FALSE)
  575. dw_index.ShareDataOff()
  576. open(w_sys_wait)
  577. w_sys_wait.wf_set_msg('正在查询客户资料...')
  578. w_sys_wait.Show()
  579. SetPointer(HourGlass!)
  580. dw_base.InsertRow(0) //refresh area tree
  581. dw_UC.Retrieve(inuse,ls_areaname,sys_areaid,sys_option_cusarea,cur_memberid,sys_user_outrep, sys_option_outrep,s_tran.c_long)
  582. w_sys_wait.Hide()
  583. dw_UC.ShareData(dw_index)
  584. dw_UC.SetRedraw(TRUE)
  585. SetPointer(Arrow!)
  586. IF dw_index.RowCount() >= 1 THEN
  587. dw_index.SelectRow(0,FALSE)
  588. dw_index.SelectRow(1,TRUE)
  589. ELSE
  590. dw_base.Reset( )
  591. dw_rep.Reset( )
  592. END IF
  593. This.Enabled = True
  594. //刷新附件数
  595. //THIS.TriggerEvent('retrieve_fjnum') //改成辅单位手动刷新
  596. cb_firstpage.Enabled = cb_firstpage_enabled
  597. cb_nextpage.Enabled = cb_nextpage_enabled
  598. cb_retrieveall.Enabled = cb_retrieveall_enabled
  599. cb_priorpage.Enabled = cb_priorpage_enabled
  600. cb_func.Enabled = cb_func_enabled
  601. cb_retrieve.Enabled = cb_retrieve_enabled
  602. //隐藏客户信息
  603. IF f_power_ind(2049) THEN
  604. wf_hide_message()
  605. END IF
  606. end event
  607. event ue_usual_query_filt;call super::ue_usual_query_filt;if dw_edit_mode or keydown(keyf4!) or keydown(keyf5!) then return
  608. string obj_expr=''
  609. if trim(sle_usual_query.text)<>'' then
  610. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  611. obj_expr=obj_expr+'( cuscode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  612. obj_expr=obj_expr+' or ( name LIKE "%'+trim(sle_usual_query.text)+'%" )'
  613. ELSE
  614. obj_expr=obj_expr+'( cuscode LIKE "'+trim(sle_usual_query.text)+'") '
  615. obj_expr=obj_expr+' or (name LIKE "'+trim(sle_usual_query.text)+'" )'
  616. END IF
  617. end if
  618. dw_UC.setfilter(obj_expr)
  619. dw_UC.SetRedraw(False)
  620. dw_INDEX.SetRedraw(False)
  621. dw_UC.filter()
  622. if dw_index.rowcount()>=1 then
  623. dw_index.selectrow(0,false)
  624. dw_index.selectrow(1,true)
  625. end if
  626. dw_UC.SetRedraw(TRUE)
  627. dw_INDEX.SetRedraw(TRUE)
  628. end event
  629. event ue_usual_query_retr;call super::ue_usual_query_retr;IF dw_edit_mode OR KeyDown(keyf4!) OR KeyDown(keyf5!) THEN RETURN
  630. String ls_querystrpart = ''
  631. ls_newselect = Lower(ori_oldselect)
  632. IF Trim(sle_usual_query.Text) <> '' THEN
  633. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  634. ls_querystrpart = ls_querystrpart + "( u_cust.cuscode like '%"+Trim(sle_usual_query.Text)+"%'"
  635. ls_querystrpart = ls_querystrpart + " or u_cust.name like '%"+Trim(sle_usual_query.Text)+"%')"
  636. ELSE
  637. ls_querystrpart = ls_querystrpart + "( u_cust.cuscode like '"+Trim(sle_usual_query.Text)+"'"
  638. ls_querystrpart = ls_querystrpart + " or u_cust.name like '"+Trim(sle_usual_query.Text)+"')"
  639. END IF
  640. IF Pos(ls_newselect," where ") <> 0 THEN
  641. ls_newselect = ls_newselect+" AND ("+ls_querystrpart+')'
  642. ELSE
  643. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  644. END IF
  645. END IF
  646. wf_retrieveuc(dw_uc,ls_newselect,1)
  647. THIS.TriggerEvent('retrieve_uc') //注意必须有此句
  648. end event
  649. event ue_before_open;call super::ue_before_open;if_ue_retr = TRUE
  650. if_ue_filter = TRUE
  651. if_ue_sort = TRUE
  652. if_ue_sentdataout = TRUE
  653. end event
  654. event open;this.triggerevent('ue_before_open')
  655. wf_movetocenter()
  656. dw_base = tab_1.tabpage_1.dw_base
  657. dw_rep = tab_1.tabpage_2.dw_rep
  658. dw_base.SetTransObject (sqlca)
  659. dw_rep.SetTransObject (sqlca)
  660. if_ue_retr = True
  661. if_ue_filter = True
  662. if_ue_sort = True
  663. old_title = This.Title
  664. s_tran = Message.PowerObjectParm
  665. IF Not IsNull(s_tran) THEN
  666. retrieve_all = local_retrieve_all //s_tran.if_retrieve_all
  667. mode = s_tran.work_mode
  668. arg_pkid = s_tran.arg_pkid
  669. arg_string_code = s_tran.arg_string_code
  670. if_select_all = s_tran.if_select_all
  671. END IF
  672. //choose case mode
  673. // case 0
  674. // this.title = old_title+' 编辑模式 [f4-新建/保存 f5-编辑/放弃]'
  675. // case 1
  676. // this.title = old_title+' 选择模式 [f4-新建/保存 f5-编辑/放弃]'
  677. //end choose
  678. dw_uc.SetTransObject (sqlca)
  679. dw_index.SetTransObject (sqlca)
  680. dw_index.rbutton_filter_use = True //右键查询功能开关
  681. pkcolumndbtname = wf_get_pkcolumndbtname(dw_uc) //取第一列为关键字
  682. ori_oldselect = dw_uc.Describe("datawindow.table.select")
  683. ls_newselect = ori_oldselect
  684. ds_curquery = Create datastore
  685. ds_curquery.DataObject = 'd_extr_find'
  686. ds_curquery.SetTransObject (sqlca)
  687. IF mode = 1 THEN
  688. cbx_mlselect.Visible = True
  689. cbx_allselect.Visible = True
  690. cb_choice.Enabled = True
  691. ELSE
  692. cbx_mlselect.Visible = False
  693. cbx_allselect.Visible = False
  694. cb_choice.Enabled = False
  695. END IF
  696. //IF mode = 1 THEN cb_mode_itfchg.TriggerEvent(Clicked!)
  697. wf_editindex_lockf()
  698. IF Not retrieve_all And Trim(arg_string_code) <> '' THEN
  699. sle_usual_query.Text = Trim(arg_string_code)
  700. This.TriggerEvent("ue_usual_query_retr") //修改ls_newselect,retrieve
  701. ELSE
  702. wf_retrieveuc(dw_uc,ls_newselect,1) //retrieve
  703. This.TriggerEvent('retrieve_uc')
  704. END IF
  705. IF retrieve_all And Trim(arg_string_code) <> '' THEN
  706. sle_usual_query.Text = Trim(arg_string_code)
  707. This.TriggerEvent("ue_usual_query_filt")
  708. END IF
  709. TRY
  710. IF Not IsNull(s_tran) THEN
  711. IF s_tran.d_long = 1 THEN
  712. This.Post Event ue_after_open()
  713. END IF
  714. END IF
  715. Catch (RuntimeError rrrr)
  716. END TRY
  717. uo_cust = Create uo_custdef
  718. uo_cust.commit_transaction = sqlca
  719. IF Not f_power_ind(2) and not dw_edit_mode THEN
  720. cb_add.Enabled = false
  721. else
  722. cb_add.Enabled = true
  723. END IF
  724. end event
  725. event ue_sentdataout;IF NOT f_power_ind(1450) THEN
  726. MessageBox('提示','你没有使用权限!', Information!, OK! )
  727. RETURN
  728. END IF
  729. OPENWITHPARM(w_sentdataout,dw_index)
  730. end event
  731. type cb_func from w_publ_edit_index`cb_func within w_cust_edit
  732. integer x = 306
  733. end type
  734. type cb_exit from w_publ_edit_index`cb_exit within w_cust_edit
  735. integer x = 1851
  736. end type
  737. type sle_usual_query from w_publ_edit_index`sle_usual_query within w_cust_edit
  738. integer x = 352
  739. integer y = 188
  740. end type
  741. type cb_nextpage from w_publ_edit_index`cb_nextpage within w_cust_edit
  742. boolean visible = true
  743. integer x = 2281
  744. end type
  745. type cb_priorpage from w_publ_edit_index`cb_priorpage within w_cust_edit
  746. integer x = 2633
  747. end type
  748. type cb_firstpage from w_publ_edit_index`cb_firstpage within w_cust_edit
  749. integer x = 2482
  750. end type
  751. type cb_retrieveall from w_publ_edit_index`cb_retrieveall within w_cust_edit
  752. boolean visible = true
  753. integer x = 2135
  754. end type
  755. type em_pagerowno from w_publ_edit_index`em_pagerowno within w_cust_edit
  756. boolean visible = true
  757. integer x = 2386
  758. integer y = 44
  759. string text = "9999999"
  760. end type
  761. type st_pagerowno from w_publ_edit_index`st_pagerowno within w_cust_edit
  762. integer x = 0
  763. integer y = 0
  764. end type
  765. type st_1 from w_publ_edit_index`st_1 within w_cust_edit
  766. integer x = 0
  767. integer width = 343
  768. string text = "编码/名称含"
  769. alignment alignment = center!
  770. end type
  771. type cb_add from w_publ_edit_index`cb_add within w_cust_edit
  772. integer x = 453
  773. end type
  774. event cb_add::clicked;//IF Not f_power_ind(2) THEN
  775. // MessageBox('提示','你没有使用权限!', Information!, OK! )
  776. // RETURN
  777. //END IF
  778. string ls_msg=''
  779. Long ll_cusid = 0,i,ll_repid
  780. String errmsg = ''
  781. Long cnt,cnt_cusid
  782. String cnt_custname
  783. IF dw_edit_mode THEN
  784. dw_uc.AcceptText()
  785. dw_base.AcceptText()
  786. dw_rep.AcceptText()
  787. IF dw_base.GetNextModified(0, Primary!) = 0 And dw_rep.GetNextModified(0, Primary!) = 0 THEN
  788. MessageBox('提示','没有任何修改,不可以保存!', Information!, OK! )
  789. RETURN
  790. END IF
  791. //检查操作员是否有相应区域权限
  792. IF sys_areastr <> '0' THEN
  793. Long ll_cusareaid
  794. ll_cusareaid = dw_base.Object.cusareaid[dw_base.GetRow()]
  795. String ls_cusareaid
  796. ls_cusareaid = ','+String(ll_cusareaid)+','
  797. IF Pos(sys_areastr,ls_cusareaid) = 0 THEN
  798. MessageBox('提示','你没有相应的区域权限,不能建立该区域的客户', Information!, OK! )
  799. RETURN
  800. END IF
  801. END IF
  802. dw_uc.Object.cuscode[dw_uc.GetRow()] = Trim(dw_base.Object.cuscode[dw_base.GetRow()])
  803. dw_uc.Object.Name[dw_uc.GetRow()] = Trim(dw_base.Object.Name[dw_base.GetRow()])
  804. dw_uc.Object.custype[dw_uc.GetRow()] = Trim(dw_base.Object.custype[dw_base.GetRow()])
  805. dw_uc.Object.rep[dw_uc.GetRow()] = Trim(dw_base.Object.rep[dw_base.GetRow()])
  806. dw_uc.Object.tele[dw_uc.GetRow()] = Trim(dw_base.Object.tele[dw_base.GetRow()])
  807. dw_uc.Object.tele1[dw_uc.GetRow()] = Trim(dw_base.Object.tele1[dw_base.GetRow()])
  808. dw_uc.Object.bank[dw_uc.GetRow()] = Trim(dw_base.Object.bank[dw_base.GetRow()])
  809. dw_uc.Object.faxno[dw_uc.GetRow()] = Trim(dw_base.Object.faxno[dw_base.GetRow()])
  810. dw_uc.Object.cunt[dw_uc.GetRow()] = Trim(dw_base.Object.cunt[dw_base.GetRow()])
  811. dw_uc.Object.code[dw_uc.GetRow()] = Upper(Trim(dw_base.Object.code[dw_base.GetRow()]))
  812. dw_uc.Object.Address[dw_uc.GetRow()] = Trim(dw_base.Object.Address[dw_base.GetRow()])
  813. dw_uc.Object.dscrp[dw_uc.GetRow()] = Trim(dw_base.Object.dscrp[dw_base.GetRow()])
  814. dw_uc.Object.givebackrate[dw_uc.GetRow()] = dw_base.Object.givebackrate[dw_base.GetRow()]
  815. dw_uc.Object.email[dw_uc.GetRow()] = dw_base.Object.email[dw_base.GetRow()]
  816. dw_uc.Object.freight[dw_uc.GetRow()] = dw_base.Object.freight[dw_base.GetRow()]
  817. dw_uc.Object.freight_tele[dw_uc.GetRow()] = dw_base.Object.freight_tele[dw_base.GetRow()]
  818. dw_uc.Object.cusareaid[dw_uc.GetRow()] = dw_base.Object.cusareaid[dw_base.GetRow()]
  819. dw_uc.Object.inuse[dw_uc.GetRow()] = dw_base.Object.inuse[dw_base.GetRow()]
  820. dw_uc.Object.lsflag[dw_uc.GetRow()] = dw_base.Object.lsflag[dw_base.GetRow()]
  821. dw_uc.Object.u_cust_grade[dw_uc.GetRow()] = Trim(dw_base.Object.u_cust_grade[dw_base.GetRow()])
  822. dw_uc.Object.memberid[dw_uc.GetRow()] = dw_base.Object.memberid[dw_base.GetRow()]
  823. dw_uc.Object.score[dw_uc.GetRow()] = dw_base.Object.score[dw_base.GetRow()]
  824. dw_uc.Object.pricelistid[dw_uc.GetRow()] = dw_base.Object.pricelistid[dw_base.GetRow()]
  825. dw_uc.Object.banktypeid[dw_uc.GetRow()] = dw_base.Object.banktypeid[dw_base.GetRow()]
  826. dw_uc.Object.tele_sms[dw_uc.GetRow()] = dw_base.Object.tele_sms[dw_base.GetRow()]
  827. dw_uc.Object.upname[dw_uc.GetRow()] = dw_base.Object.upname[dw_base.GetRow()]
  828. dw_uc.Object.industry[dw_uc.GetRow()] = dw_base.Object.industry[dw_base.GetRow()]
  829. dw_uc.Object.u_cust_bhflag[dw_uc.GetRow()] = dw_base.Object.u_cust_bhflag[dw_base.GetRow()]
  830. dw_uc.Object.u_cust_state[dw_uc.GetRow()] = dw_base.Object.u_cust_state[dw_base.GetRow()]
  831. IF dw_uc.Object.CusID[dw_uc.GetRow()] >0 THEN
  832. dw_uc.Object.u_cust_moddate[dw_uc.GetRow()] = Today()
  833. dw_uc.Object.u_cust_modemp[dw_uc.GetRow()] = publ_operator
  834. ELSE
  835. dw_uc.Object.opdate[dw_uc.GetRow()] = Today()
  836. dw_uc.Object.opemp[dw_uc.GetRow()] = publ_operator
  837. END IF
  838. dw_uc.Object.u_cust_tax[dw_uc.GetRow()] = dw_base.Object.u_cust_tax[dw_base.GetRow()]
  839. dw_uc.Object.freight_address[dw_uc.GetRow()] = dw_base.Object.freight_address[dw_base.GetRow()]
  840. dw_uc.Object.u_cust_bmstday[dw_uc.GetRow()] = dw_base.Object.u_cust_bmstday[dw_base.GetRow()]
  841. // dw_uc.AcceptText()
  842. IF dw_base.Object.cuscode[dw_base.GetRow()] = '' THEN
  843. MessageBox('提示','请输入客户编号!', Information!, OK! )
  844. dw_base.SetFocus()
  845. dw_base.SetColumn("cuscode")
  846. RETURN
  847. END IF
  848. IF dw_base.Object.Name[dw_base.GetRow()] = '' THEN
  849. MessageBox('提示','请输入客户名称!', Information!, OK! )
  850. dw_base.SetFocus()
  851. dw_base.SetColumn("name")
  852. RETURN
  853. END IF
  854. IF dw_base.Object.custype[dw_base.GetRow()] = '' THEN
  855. MessageBox('提示','请选择业务员!', Information!, OK! )
  856. dw_base.SetFocus()
  857. dw_base.SetColumn("custype")
  858. RETURN
  859. END IF
  860. IF dw_base.Object.cusareaid[dw_base.GetRow()] = 0 THEN
  861. MessageBox('提示','请选择客户区域!', Information!, OK! )
  862. dw_base.SetFocus()
  863. dw_base.SetColumn("cusareaid")
  864. RETURN
  865. END IF
  866. IF dw_base.Object.rep[dw_base.GetRow()] = '' THEN
  867. MessageBox('提示','请输入联系人!', Information!, OK! )
  868. dw_base.SetFocus()
  869. dw_base.SetColumn("rep")
  870. RETURN
  871. END IF
  872. cnt_custname = dw_uc.Object.Name[dw_uc.GetRow()]
  873. cnt_cusid = dw_uc.Object.CusID[dw_uc.GetRow()]
  874. SELECT count(*) INTO :cnt
  875. FROM u_cust
  876. WHERE name = :cnt_custname
  877. And CusID <> :cnt_cusid;
  878. IF sqlca.SQLCode <> 0 THEN
  879. MessageBox('提示','查询客户名称是否重复失败', Information!, OK! )
  880. RETURN
  881. END IF
  882. IF cnt > 0 THEN
  883. MessageBox('提示','客户名称重复,请检查客户资料', Information!, OK! )
  884. RETURN
  885. END IF
  886. //////////////////////////////////////////////// //
  887. IF dw_uc.Object.CusID[dw_uc.GetRow()] = 0 THEN
  888. uo_cust.newbegin(0)
  889. ELSE
  890. newcode = dw_uc.Object.cuscode[dw_uc.GetRow()]
  891. newname = dw_uc.Object.Name[dw_uc.GetRow()]
  892. String arg_msg
  893. f_setsysoplog('定义资料','客户修改,原:'+oldcode+','+oldname+'->新:'+newcode+','+newname,arg_msg,False)
  894. END IF
  895. // dw_uc.AcceptText()
  896. String ll_cusareaname,ll_areaname
  897. ll_cusareaid = dw_uc.Object.cusareaid[dw_uc.GetRow()]
  898. SELECT cusareaname,areaname
  899. INTO:ll_cusareaname,:ll_areaname
  900. FROM u_cusarea
  901. Where cusareaid = :ll_cusareaid;
  902. dw_uc.Object.cusareaname[dw_uc.GetRow()] = ll_cusareaname
  903. dw_uc.Object.areaname[dw_uc.GetRow()] = ll_areaname
  904. dw_uc.AcceptText()
  905. Long ll_cnt
  906. ll_cnt = dw_rep.RowCount( )
  907. FOR i = 1 To ll_cnt
  908. dw_rep.Object.CusID[i] = dw_uc.Object.CusID[dw_uc.GetRow()]
  909. IF dw_rep.Object.repid[i] = 0 And Trim(dw_rep.Object.repname[i]) = '' THEN
  910. dw_rep.DeleteRow( i)
  911. CONTINUE
  912. END IF
  913. IF dw_rep.Object.repid[i] = 0 THEN
  914. ll_repid = f_sys_scidentity(0,"u_Cust_rep","repid",errmsg,False,sqlca)
  915. IF ll_repid <= 0 THEN
  916. MessageBox("提示",errmsg,exclamation!,OK!)
  917. RETURN
  918. ELSE
  919. dw_rep.Object.repid[i] = ll_repid
  920. END IF
  921. END IF
  922. NEXT
  923. string s_name = ""
  924. string this_name=""
  925. this_name = trim(dw_uc.Object.name[dw_uc.GetRow()])
  926. //检查地址是否重复
  927. String s_address = ""
  928. s_address = trim(dw_uc.Object.address[dw_uc.GetRow()])
  929. IF IsNull(s_address) THEN s_address = ""
  930. IF s_address <> "" THEN
  931. SELECT Top 1 Name Into :s_name From u_cust Where address = :s_address;
  932. IF s_name <> "" and s_name<>this_name THEN
  933. ls_msg = '地址与客户《' + s_name + '》相同,'
  934. // IF MessageBox('提示信息','地址与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN
  935. // RETURN
  936. // END IF
  937. END IF
  938. END IF
  939. //检查email是否重复
  940. String s_email = ""
  941. s_email = trim(dw_uc.Object.email[dw_uc.GetRow()])
  942. IF IsNull(s_email) THEN s_email = ""
  943. IF s_email <> "" THEN
  944. SELECT Top 1 Name Into :s_name From u_cust Where email = :s_email;
  945. IF s_name <> "" and s_name<>this_name THEN
  946. ls_msg = ls_msg + 'email与客户《' + s_name + '》相同,'
  947. // IF MessageBox('提示信息','email与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN
  948. // RETURN
  949. // END IF
  950. END IF
  951. END IF
  952. //检查手机是否重复
  953. String s_tele1 = ""
  954. s_tele1 = trim(dw_uc.Object.tele1[dw_uc.GetRow()])
  955. IF IsNull(s_tele1) THEN s_tele1 = ""
  956. IF s_tele1 <> "" THEN
  957. SELECT Top 1 Name Into :s_name From u_cust Where tele1 = :s_tele1;
  958. IF s_name <> "" and s_name<>this_name THEN
  959. ls_msg = ls_msg + '手机与客户《' + s_name + '》相同,'
  960. // IF MessageBox('提示信息','手机与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN
  961. // RETURN
  962. // END IF
  963. END IF
  964. END IF
  965. //检查联系人是否重复
  966. String s_rep = ""
  967. s_rep = trim(dw_uc.Object.rep[dw_uc.GetRow()])
  968. IF IsNull(s_rep) THEN s_rep = ""
  969. IF s_rep <> "" THEN
  970. SELECT Top 1 Name Into :s_name From u_cust Where rep = :s_rep;
  971. IF s_name <> "" and s_name<>this_name THEN
  972. ls_msg = ls_msg + '联系人与客户《' + s_name + '》相同,'
  973. // IF MessageBox('提示信息','联系人与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN
  974. // RETURN
  975. // END IF
  976. END IF
  977. END IF
  978. //检查联系电话是否重复
  979. String s_tele = ""
  980. s_tele = trim(dw_uc.Object.tele[dw_uc.GetRow()])
  981. IF IsNull(s_tele) THEN s_tele = ""
  982. IF s_tele <> "" THEN
  983. SELECT Top 1 Name Into :s_name From u_cust Where tele = :s_tele;
  984. IF s_name <> "" and s_name<>this_name THEN
  985. ls_msg = ls_msg + '联系电话与客户《' + s_name + '》相同,'
  986. // IF MessageBox('提示信息','联系电话与客户《' + s_name + '》相同,是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN
  987. // RETURN
  988. // END IF
  989. END IF
  990. END IF
  991. if ls_msg <> '' then
  992. IF MessageBox('提示信息',ls_msg+'是否保存?', Question! ,YesNo! , 1 ) <> 1 THEN
  993. RETURN
  994. END IF
  995. end if
  996. uo_cust.s_cust.cuscode = dw_uc.Object.cuscode[dw_uc.GetRow()]
  997. uo_cust.s_cust.Name = dw_uc.Object.Name[dw_uc.GetRow()]
  998. uo_cust.s_cust.custype = dw_uc.Object.custype[dw_uc.GetRow()]
  999. uo_cust.s_cust.rep = dw_uc.Object.rep[dw_uc.GetRow()]
  1000. uo_cust.s_cust.tele = dw_uc.Object.tele[dw_uc.GetRow()]
  1001. uo_cust.s_cust.tele1 = dw_uc.Object.tele1[dw_uc.GetRow()]
  1002. uo_cust.s_cust.bank = dw_uc.Object.bank[dw_uc.GetRow()]
  1003. uo_cust.s_cust.cunt = dw_uc.Object.cunt[dw_uc.GetRow()]
  1004. uo_cust.s_cust.Address = dw_uc.Object.Address[dw_uc.GetRow()]
  1005. uo_cust.s_cust.code = dw_uc.Object.code[dw_uc.GetRow()]
  1006. uo_cust.s_cust.dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()]
  1007. uo_cust.s_cust.faxno = dw_uc.Object.faxno[dw_uc.GetRow()]
  1008. uo_cust.s_cust.industry= dw_uc.Object.industry[dw_uc.GetRow()]
  1009. uo_cust.s_cust.pricelistid = dw_uc.Object.pricelistid[dw_uc.GetRow()]
  1010. uo_cust.s_cust.inuse = dw_uc.Object.inuse[dw_uc.GetRow()]
  1011. uo_cust.s_cust.cusareaid = dw_uc.Object.cusareaid[dw_uc.GetRow()]
  1012. uo_cust.s_cust.cusareaname = dw_uc.Object.cusareaname[dw_uc.GetRow()]
  1013. uo_cust.s_cust.areaname = dw_uc.Object.areaname[dw_uc.GetRow()]
  1014. uo_cust.s_cust.email = dw_uc.Object.email[dw_uc.GetRow()]
  1015. uo_cust.s_cust.givebackrate = dw_uc.Object.givebackrate[dw_uc.GetRow()]
  1016. uo_cust.s_cust.freight = dw_uc.Object.freight[dw_uc.GetRow()]
  1017. uo_cust.s_cust.freight_tele = dw_uc.Object.freight_tele[dw_uc.GetRow()]
  1018. uo_cust.s_cust.freight_address = dw_uc.Object.freight_address[dw_uc.GetRow()]
  1019. uo_cust.s_cust.lsflag = dw_uc.Object.lsflag[dw_uc.GetRow()]
  1020. uo_cust.s_cust.score = dw_uc.Object.score[dw_uc.GetRow()]
  1021. uo_cust.s_cust.memberid = dw_uc.Object.memberid[dw_uc.GetRow()]
  1022. uo_cust.s_cust.grade = dw_uc.Object.u_cust_grade[dw_uc.GetRow()]
  1023. uo_cust.s_cust.banktypeid = dw_uc.Object.banktypeid[dw_uc.GetRow()]
  1024. uo_cust.s_cust.tele_sms = dw_uc.Object.tele_sms[dw_uc.GetRow()]
  1025. uo_cust.s_cust.upname = dw_uc.Object.upname[dw_uc.GetRow()]
  1026. uo_cust.s_cust.bhflag = dw_uc.Object.u_cust_bhflag[dw_uc.GetRow()]
  1027. uo_cust.s_cust.state = dw_uc.Object.u_cust_state[dw_uc.GetRow()]
  1028. uo_cust.s_cust.tax = dw_uc.Object.u_cust_tax[dw_uc.GetRow()]
  1029. uo_cust.s_cust.bmstday = dw_uc.Object.u_cust_bmstday[dw_uc.GetRow()]
  1030. dw_rep.AcceptText()
  1031. ll_cnt = dw_rep.RowCount( )
  1032. FOR i = 1 To ll_cnt
  1033. IF dw_rep.Object.repid[i] > 0 THEN
  1034. IF uo_cust.acceptmx(dw_rep.Object.repid[i],&
  1035. dw_rep.Object.CusID[i],&
  1036. dw_rep.Object.repname[i],&
  1037. dw_rep.Object.duty[i],&
  1038. dw_rep.Object.sex[i],&
  1039. dw_rep.Object.officetel[i],&
  1040. dw_rep.Object.handtel[i],&
  1041. dw_rep.Object.faxno[i],&
  1042. dw_rep.Object.email[i],&
  1043. dw_rep.Object.dscrp[i],&
  1044. arg_msg) = 0 THEN
  1045. MessageBox('错误',arg_msg, StopSign!, OK! )
  1046. RETURN
  1047. END IF
  1048. END IF
  1049. NEXT
  1050. /////////////////////////// //
  1051. String ls_errmsg
  1052. IF uo_cust.Save( True, ls_errmsg) = 0 THEN
  1053. MessageBox ("提示",ls_errmsg+",保存操作失败!",exclamation!,OK!)
  1054. ls_update_flag = False
  1055. RETURN
  1056. ELSE
  1057. dw_uc.Object.CusID[dw_uc.GetRow()] = uo_cust.CusID
  1058. dw_uc.RowsCopy(dw_uc.GetRow(), dw_uc.GetRow(), Primary!, dw_base , 1, Primary!)
  1059. ls_update_flag = True
  1060. END IF
  1061. ins_sqlerrtext = ""
  1062. ELSE
  1063. Long li_row, li_cur_row
  1064. li_cur_row = dw_uc.GetRow()
  1065. li_row = dw_uc.InsertRow (li_cur_row)
  1066. dw_uc.SetRow (li_row)
  1067. dw_uc.ScrollToRow (li_row)
  1068. dw_index.SetRow (li_row)
  1069. dw_index.ScrollToRow (li_row)
  1070. modifyrow_no = li_row
  1071. dw_rep.InsertRow(0)
  1072. END IF
  1073. dw_edit_mode = Not dw_edit_mode
  1074. dw_index.rbutton_filter_use = Not dw_edit_mode
  1075. wf_editindex_lockf()
  1076. wf_face_change()
  1077. IF dw_edit_mode THEN
  1078. IF cb_mode_itfchg.Text = '<<' THEN
  1079. cb_mode_itfchg.TriggerEvent(Clicked!)
  1080. END IF
  1081. dw_base.SetFocus()
  1082. dw_base.SetColumn('cuscode')
  1083. IF tv_1.uo_cur_info.sonflag = 1 THEN
  1084. dw_base.Object.cusareaid[dw_base.GetRow()] = tv_1.uo_cur_info.cusareaid
  1085. END IF
  1086. //系统选项266 直接自动流水号
  1087. IF sys_option_auto_code = 1 THEN dw_base.Object.cuscode[dw_base.GetRow()] = wf_sys_option_auto_code()
  1088. wf_auto_cuscode()
  1089. if sys_option_cust_audit = 1 then
  1090. dw_base.Object.custype[dw_base.GetRow()] = publ_operator
  1091. dw_base.Object.u_cust_state[dw_base.GetRow()] = 0
  1092. else
  1093. dw_base.Object.u_cust_state[dw_base.GetRow()] = 1
  1094. end if
  1095. ELSE
  1096. wf_index_uc()
  1097. END IF
  1098. IF Not f_power_ind(2) and not dw_edit_mode THEN
  1099. cb_add.Enabled = false
  1100. else
  1101. cb_add.Enabled = true
  1102. END IF
  1103. end event
  1104. type cb_edit from w_publ_edit_index`cb_edit within w_cust_edit
  1105. integer x = 645
  1106. end type
  1107. event cb_edit::clicked;IF NOT f_power_ind(1547) THEN
  1108. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1109. RETURN
  1110. END IF
  1111. IF DW_UC.GetRow() < 1 THEN RETURN
  1112. CALL SUPER::Clicked
  1113. IF dw_edit_mode THEN
  1114. dw_base.SetFocus()
  1115. dw_base.SetColumn('cuscode')
  1116. oldcode = DW_UC.Object.cuscode[DW_UC.GetRow()]
  1117. oldname = DW_UC.Object.Name[DW_UC.GetRow()]
  1118. If Not f_power_ind(1809,sys_msg_pow) Then
  1119. dw_base.SetTabOrder('name',0)
  1120. End If
  1121. String arg_msg = ''
  1122. IF uo_cust.updatebegin(DW_UC.Object.cusid[DW_UC.GetRow()],arg_msg) = 0 THEN
  1123. MessageBox('提示',arg_msg, Information!, OK! )
  1124. RETURN
  1125. END IF
  1126. ELSE
  1127. oldcode = ''
  1128. oldname = ''
  1129. END IF
  1130. IF Not f_power_ind(2) and not dw_edit_mode THEN
  1131. cb_add.Enabled = false
  1132. else
  1133. cb_add.Enabled = true
  1134. END IF
  1135. end event
  1136. type cb_delet from w_publ_edit_index`cb_delet within w_cust_edit
  1137. integer x = 837
  1138. end type
  1139. event cb_delet::clicked;IF Not f_power_ind(1544) THEN
  1140. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1141. RETURN
  1142. END IF
  1143. Long ll_row
  1144. Long LS_id
  1145. Long LS_LONG = 0
  1146. String ls_code,arg_msg
  1147. ll_row = dw_uc.GetRow()
  1148. IF dw_uc.GetRow() <= 0 THEN
  1149. MessageBox('提示','没有操作目标记录!', Information!, OK! )
  1150. RETURN
  1151. END IF
  1152. LS_id = dw_uc.Object.cusid[dw_uc.GetRow()]
  1153. ls_code = dw_uc.Object.cuscode[dw_uc.GetRow()]
  1154. IF MessageBox ("询问","是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  1155. RETURN
  1156. END IF
  1157. //DW_UC.SetRedraw (False)
  1158. IF uo_cust.del( LS_id, ls_code,arg_msg, True) = 0 THEN
  1159. MessageBox ("提示","删除记录操作失败!"+arg_msg,exclamation!,OK!)
  1160. RETURN
  1161. END IF
  1162. //DW_UC.SetRedraw (True)
  1163. dw_uc.deleterow(ll_row)
  1164. dw_UC.ShareData(dw_index)
  1165. dw_index.Triggerevent(RowFocusChanged!)
  1166. //Parent.TriggerEvent('retrieve_uc')
  1167. //WF_INDEX_UC()
  1168. end event
  1169. type cb_choice from w_publ_edit_index`cb_choice within w_cust_edit
  1170. integer x = 1550
  1171. end type
  1172. event cb_choice::clicked;call super::clicked;LONG rOW
  1173. ROW=dw_uc.getrow()
  1174. if ROW<=0 then
  1175. messagebox('提示','请先选择目标行!', Information!, OK! )
  1176. return
  1177. end if
  1178. INS_RT_STRU.cusid=dw_uc.OBJECT.cusid[ROW]
  1179. INS_RT_STRU.name=dw_uc.OBJECT.name[ROW]
  1180. INS_RT_STRU.bsntype=dw_uc.OBJECT.custype[ROW]
  1181. INS_RT_STRU.rep=dw_uc.OBJECT.rep[ROW]
  1182. INS_RT_STRU.tele=dw_uc.OBJECT.tele[ROW]
  1183. INS_RT_STRU.tele1=dw_uc.OBJECT.tele1[ROW]
  1184. INS_RT_STRU.faxno=dw_uc.object.faxno[row]
  1185. INS_RT_STRU.bank=dw_uc.OBJECT.bank[ROW]
  1186. INS_RT_STRU.cunt=dw_uc.OBJECT.cunt[ROW]
  1187. INS_RT_STRU.address=dw_uc.OBJECT.address[ROW]
  1188. INS_RT_STRU.code=dw_uc.OBJECT.code[ROW]
  1189. INS_RT_STRU.dscrp=dw_uc.OBJECT.dscrp[ROW]
  1190. INS_RT_STRU.cuscode=dw_uc.OBJECT.cuscode[ROW]
  1191. INS_RT_STRU.givebackrate=dw_uc.OBJECT.givebackrate[ROW]
  1192. INS_RT_STRU.freight=dw_uc.OBJECT.freight[ROW]
  1193. INS_RT_STRU.freight_tele=dw_uc.OBJECT.freight_tele[ROW]
  1194. INS_RT_STRU.lsflag=dw_uc.OBJECT.lsflag[ROW]
  1195. INS_RT_STRU.memberid=dw_uc.OBJECT.memberid[ROW]
  1196. INS_RT_STRU.score=dw_uc.OBJECT.score[ROW]
  1197. INS_RT_STRU.pricelistid=dw_uc.OBJECT.pricelistid[ROW]
  1198. INS_RT_STRU.banktypeid=dw_uc.OBJECT.banktypeid[ROW]
  1199. INS_RT_STRU.tele_sms=dw_uc.OBJECT.tele_sms[ROW]
  1200. INS_RT_STRU.freight_address=dw_uc.OBJECT.freight_address[ROW]
  1201. CLOSE(PARENT)
  1202. end event
  1203. type cb_cancel from w_publ_edit_index`cb_cancel within w_cust_edit
  1204. end type
  1205. type cbx_mlselect from w_publ_edit_index`cbx_mlselect within w_cust_edit
  1206. integer x = 2103
  1207. end type
  1208. type cbx_allselect from w_publ_edit_index`cbx_allselect within w_cust_edit
  1209. integer x = 2345
  1210. end type
  1211. type cb_mode_itfchg_b from w_publ_edit_index`cb_mode_itfchg_b within w_cust_edit
  1212. end type
  1213. type cb_mode_itfchg from w_publ_edit_index`cb_mode_itfchg within w_cust_edit
  1214. integer x = 1458
  1215. end type
  1216. event cb_mode_itfchg::clicked;IF This.Text = '<<' THEN
  1217. This.Text = '>>'
  1218. dw_index.Width = tab_1.X + 1 - 736
  1219. dw_index.Y = tab_1.Y
  1220. ELSE
  1221. This.Text = '<<'
  1222. dw_index.Width = tab_1.X + 1 + tab_1.Width - 736
  1223. dw_index.Y = tab_1.Y
  1224. END IF
  1225. Parent.TriggerEvent('ue_mode_itfchg')
  1226. //cb_mode_itfchg_b.text = this.text
  1227. //cb_mode_itfchg_b.triggerevent('ue_textchange')
  1228. end event
  1229. type gb_1 from w_publ_edit_index`gb_1 within w_cust_edit
  1230. end type
  1231. type dw_uc from w_publ_edit_index`dw_uc within w_cust_edit
  1232. boolean visible = false
  1233. integer x = 3173
  1234. integer y = 0
  1235. integer width = 421
  1236. integer height = 192
  1237. boolean enabled = true
  1238. string dataobject = "dw_cust_edit"
  1239. end type
  1240. type cb_retrieve from w_publ_edit_index`cb_retrieve within w_cust_edit
  1241. integer x = 151
  1242. end type
  1243. type cb_print from w_publ_edit_index`cb_print within w_cust_edit
  1244. integer x = 1262
  1245. end type
  1246. event cb_print::clicked;call super::clicked;IF NOT f_power_ind(1364) THEN
  1247. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1248. RETURN
  1249. END IF
  1250. String ls_windowname
  1251. String ls_old_dwname,ls_new_dwname = ''
  1252. S_print_MSG LS_PRMSG
  1253. ls_old_dwname = 'dw_rp_cust'
  1254. ls_windowname = parent.ClassName ( )
  1255. ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname)
  1256. IF ls_new_dwname = '' THEN
  1257. ls_new_dwname = ls_old_dwname
  1258. END IF
  1259. LS_PRMSG.obj_dwNAME = ls_new_dwname
  1260. LS_PRMSG.SHARE_DW = DW_UC
  1261. LS_PRMSG.TAG_TEXT = PARENT.Title
  1262. LS_PRMSG.SETUP_FLAG = 0
  1263. LS_PRMSG.PAGECH_FLAG = 1
  1264. LS_PRMSG.retr_pram_falg = 0
  1265. OpenWithParm(w_publ_preview,LS_PRMSG)
  1266. end event
  1267. type ln_bar from w_publ_edit_index`ln_bar within w_cust_edit
  1268. end type
  1269. type ln_bar2 from w_publ_edit_index`ln_bar2 within w_cust_edit
  1270. end type
  1271. type r_bar from w_publ_edit_index`r_bar within w_cust_edit
  1272. integer x = 3163
  1273. end type
  1274. type ln_1 from w_publ_edit_index`ln_1 within w_cust_edit
  1275. end type
  1276. type ln_2 from w_publ_edit_index`ln_2 within w_cust_edit
  1277. end type
  1278. type dw_index from w_publ_edit_index`dw_index within w_cust_edit
  1279. integer x = 741
  1280. integer width = 1234
  1281. integer height = 1948
  1282. string dataobject = "dw_cust_index"
  1283. end type
  1284. event dw_index::rowfocuschanged;currentrow = This.GetRow()
  1285. IF if_mlselect = 1 THEN
  1286. IF currentrow <= 0 THEN RETURN
  1287. IF KeyDown(keycontrol!) THEN
  1288. IF This.IsSelected(currentrow) THEN
  1289. This.SelectRow(currentrow,False)
  1290. if_changeselect = False
  1291. ELSE
  1292. if_changeselect = True
  1293. END IF
  1294. ELSE
  1295. IF Not This.IsSelected(currentrow) THEN
  1296. This.SelectRow(currentrow,True)
  1297. if_changeselect = False
  1298. ELSE
  1299. if_changeselect = True
  1300. END IF
  1301. END IF
  1302. ELSE
  1303. // IF dw_edit_mode THEN RETURN
  1304. IF currentrow <= 0 THEN RETURN
  1305. This.SelectRow(0,False)
  1306. This.SelectRow(currentrow,True)
  1307. END IF
  1308. dw_uc.SetRow(currentrow)
  1309. //dw_uc.ScrollToRow (currentrow)
  1310. dw_uc.RowsCopy(currentrow, currentrow, Primary!, dw_base , 1, Primary!)
  1311. wf_retrieve_rep()
  1312. end event
  1313. type cb_help from w_publ_edit_index`cb_help within w_cust_edit
  1314. integer x = 1701
  1315. end type
  1316. type cbx_inuse from checkbox within w_cust_edit
  1317. integer x = 882
  1318. integer y = 204
  1319. integer width = 402
  1320. integer height = 60
  1321. boolean bringtotop = true
  1322. integer textsize = -9
  1323. integer weight = 400
  1324. fontcharset fontcharset = gb2312charset!
  1325. fontpitch fontpitch = variable!
  1326. string facename = "宋体"
  1327. long textcolor = 33554432
  1328. long backcolor = 134217739
  1329. string text = "只显示有效"
  1330. boolean checked = true
  1331. end type
  1332. event clicked;IF dw_edit_mode THEN RETURN
  1333. IF THIS.Checked THEN
  1334. inuse = 1
  1335. ELSE
  1336. inuse = -1
  1337. END IF
  1338. cb_retrieve.TriggerEvent(Clicked!)
  1339. end event
  1340. type tv_1 from uo_tv_cusarea within w_cust_edit
  1341. integer y = 292
  1342. integer width = 736
  1343. integer height = 1832
  1344. integer taborder = 50
  1345. boolean bringtotop = true
  1346. integer textsize = -9
  1347. fontcharset fontcharset = gb2312charset!
  1348. fontfamily fontfamily = anyfont!
  1349. string facename = "宋体"
  1350. end type
  1351. event selectionchanged;call super::selectionchanged;IF dw_edit_mode THEN
  1352. IF This.uo_cur_info.sonflag = 1 THEN
  1353. dw_base.SetRedraw(False)
  1354. dw_base.Object.cusareaid[dw_base.GetRow()] = This.uo_cur_info.cusareaid
  1355. cur_CusareaID = This.uo_cur_info.cusareaid
  1356. cur_typecode = This.uo_cur_info.typecode
  1357. cur_typecodestr = This.uo_cur_info.typecodestr
  1358. wf_auto_cuscode()
  1359. dw_base.SetRedraw(True)
  1360. END IF
  1361. ELSE
  1362. ls_areaname = This.uo_cur_info.areaname
  1363. ls_areaname = ls_areaname + '%'
  1364. cur_CusareaID = This.uo_cur_info.cusareaid
  1365. cur_typecode = This.uo_cur_info.typecode
  1366. cur_typecodestr = This.uo_cur_info.typecodestr
  1367. cb_retrieve.TriggerEvent(Clicked!)
  1368. END IF
  1369. end event
  1370. type cb_1 from uo_imflatbutton within w_cust_edit
  1371. integer width = 151
  1372. integer height = 164
  1373. integer taborder = 10
  1374. boolean bringtotop = true
  1375. string text = "地区"
  1376. string normalpicname = "update.bmp"
  1377. integer picsize = 16
  1378. toolbaralignment pic_align = alignattop!
  1379. boolean border = false
  1380. end type
  1381. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1382. string menustr
  1383. menustr="Text=刷新地区~tEvent=ue_cusarea_rtr"
  1384. menustr=menustr + "|" + "Text=建立地区~tEvent=ue_cusarea_set"
  1385. if len(trim(menustr))<>0 then
  1386. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1387. dmPopupMenu.mf_BuildMenu(This, menustr)
  1388. dmPopupMenu.mf_PopMenu()
  1389. Destroy dmPopupMenu
  1390. end if
  1391. end event
  1392. type tab_1 from tab within w_cust_edit
  1393. integer x = 1975
  1394. integer y = 292
  1395. integer width = 1614
  1396. integer height = 1948
  1397. integer taborder = 60
  1398. integer textsize = -9
  1399. integer weight = 400
  1400. fontcharset fontcharset = gb2312charset!
  1401. fontpitch fontpitch = variable!
  1402. string facename = "宋体"
  1403. long backcolor = 134217739
  1404. boolean raggedright = true
  1405. boolean focusonbuttondown = true
  1406. boolean boldselectedtext = true
  1407. integer selectedtab = 1
  1408. tabpage_1 tabpage_1
  1409. tabpage_2 tabpage_2
  1410. end type
  1411. on tab_1.create
  1412. this.tabpage_1=create tabpage_1
  1413. this.tabpage_2=create tabpage_2
  1414. this.Control[]={this.tabpage_1,&
  1415. this.tabpage_2}
  1416. end on
  1417. on tab_1.destroy
  1418. destroy(this.tabpage_1)
  1419. destroy(this.tabpage_2)
  1420. end on
  1421. event selectionchanged;choose case newindex
  1422. case 1
  1423. dw_base.setfocus( )
  1424. case 2
  1425. dw_rep.setfocus( )
  1426. end choose
  1427. end event
  1428. type tabpage_1 from userobject within tab_1
  1429. integer x = 18
  1430. integer y = 96
  1431. integer width = 1577
  1432. integer height = 1836
  1433. long backcolor = 134217739
  1434. string text = "客户资料"
  1435. long tabtextcolor = 33554432
  1436. long tabbackcolor = 134217739
  1437. long picturemaskcolor = 536870912
  1438. dw_base dw_base
  1439. end type
  1440. on tabpage_1.create
  1441. this.dw_base=create dw_base
  1442. this.Control[]={this.dw_base}
  1443. end on
  1444. on tabpage_1.destroy
  1445. destroy(this.dw_base)
  1446. end on
  1447. type dw_base from u_dw_rbtnfilter within tabpage_1
  1448. integer width = 1568
  1449. integer height = 1872
  1450. boolean enabled = false
  1451. string dataobject = "dw_cust_edit"
  1452. end type
  1453. event constructor;autosave_setlayout_USE= false
  1454. end event
  1455. event dwnkey;call super::dwnkey;IF Key = KeyEnter! THEN //
  1456. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1457. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1458. RETURN 1
  1459. END IF
  1460. end event
  1461. event clicked;call super::clicked;
  1462. IF dwo.Name = 'p_2' THEN
  1463. GetParentWin().TriggerEvent('ue_mod_address')
  1464. END IF
  1465. IF dw_edit_mode THEN
  1466. IF dwo.Name = 'p_1' THEN
  1467. GetParentWin().TriggerEvent('ue_ch_station')
  1468. ELSEIF dwo.Name = 'p_3' THEN
  1469. GetParentWin().TriggerEvent('ue_mod_freight_address')
  1470. ELSEIF dwo.Name = 'p_emp' THEN
  1471. GetParentWin().TriggerEvent('ue_ch_outrepdef')
  1472. ELSEIF dwo.Name = 'p_banktype' THEN
  1473. GetParentWin().TriggerEvent('ue_ch_banktype')
  1474. ELSEIF dwo.Name = 'p_cusarea' THEN
  1475. GetParentWin().TriggerEvent('ue_ch_cusarea')
  1476. ELSEIF dwo.Name = 'p_member' THEN
  1477. GetParentWin().TriggerEvent('ue_ch_member')
  1478. ELSEIF dwo.Name = 'p_grade' THEN
  1479. GetParentWin().TriggerEvent('ue_ch_grade')
  1480. ELSEIF dwo.Name = 'p_up' THEN
  1481. GetParentWin().TriggerEvent('ue_ch_upname')
  1482. END IF
  1483. END IF
  1484. end event
  1485. type tabpage_2 from userobject within tab_1
  1486. integer x = 18
  1487. integer y = 96
  1488. integer width = 1577
  1489. integer height = 1836
  1490. long backcolor = 134217739
  1491. string text = "联系人"
  1492. long tabtextcolor = 33554432
  1493. long tabbackcolor = 134217739
  1494. long picturemaskcolor = 536870912
  1495. cb_add_xm cb_add_xm
  1496. dw_rep dw_rep
  1497. cb_dele_xm cb_dele_xm
  1498. end type
  1499. on tabpage_2.create
  1500. this.cb_add_xm=create cb_add_xm
  1501. this.dw_rep=create dw_rep
  1502. this.cb_dele_xm=create cb_dele_xm
  1503. this.Control[]={this.cb_add_xm,&
  1504. this.dw_rep,&
  1505. this.cb_dele_xm}
  1506. end on
  1507. on tabpage_2.destroy
  1508. destroy(this.cb_add_xm)
  1509. destroy(this.dw_rep)
  1510. destroy(this.cb_dele_xm)
  1511. end on
  1512. type cb_add_xm from uo_imflatbutton within tabpage_2
  1513. integer x = 891
  1514. integer y = 1620
  1515. integer width = 384
  1516. integer height = 92
  1517. integer taborder = 50
  1518. boolean bringtotop = true
  1519. string text = "增联系人[&A]"
  1520. end type
  1521. event clicked;call super::clicked;long li_row
  1522. IF not dw_edit_mode THEN return
  1523. li_row=dw_rep.insertrow(0)
  1524. dw_rep.scrolltorow (li_row)
  1525. dw_rep.setcolumn( 'repname')
  1526. dw_rep.SetFocus()
  1527. end event
  1528. type dw_rep from u_dw_rbtnfilter within tabpage_2
  1529. integer width = 1568
  1530. integer height = 1612
  1531. string dataobject = "dw_cust_rep"
  1532. boolean hscrollbar = true
  1533. boolean vscrollbar = true
  1534. boolean hsplitscroll = true
  1535. end type
  1536. event constructor;autosave_setlayout_USE= false
  1537. end event
  1538. event dwnkey;call super::dwnkey;IF Key = KeyEnter! THEN //
  1539. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1540. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1541. RETURN 1
  1542. END IF
  1543. If keydown(Keydownarrow!) Then
  1544. if this.getrow()=this.rowcount() then
  1545. this.insertrow(0)
  1546. end if
  1547. end if
  1548. end event
  1549. type cb_dele_xm from uo_imflatbutton within tabpage_2
  1550. integer x = 1271
  1551. integer y = 1620
  1552. integer width = 274
  1553. integer height = 92
  1554. integer taborder = 50
  1555. boolean bringtotop = true
  1556. string text = "删联系人"
  1557. end type
  1558. event clicked;call super::clicked;IF not dw_edit_mode THEN return
  1559. dw_rep.DeleteRow (0)
  1560. dw_rep.TriggerEvent (rowfocuschanged!)
  1561. end event
  1562. type cb_other from uo_imflatbutton within w_cust_edit
  1563. integer x = 987
  1564. integer width = 274
  1565. integer height = 164
  1566. integer taborder = 40
  1567. boolean bringtotop = true
  1568. string text = "辅助功能"
  1569. string normalpicname = "other.bmp"
  1570. integer picsize = 16
  1571. toolbaralignment pic_align = alignattop!
  1572. boolean border = false
  1573. end type
  1574. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1575. string menustr
  1576. menustr="Text=图片管理~tEvent=ue_fj_edit"
  1577. menustr = menustr + "|" + "Text=图片查看~tEvent=ue_fj_view"
  1578. menustr = menustr + "|" + "Text=刷新附件数~tEvent=retrieve_fjnum"
  1579. menustr = menustr + "|" + "Text=-"
  1580. menustr = menustr + "|" + "Text=申请准客户~tEvent=ue_rq_cust"
  1581. if len(trim(menustr))<>0 then
  1582. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1583. dmPopupMenu.mf_BuildMenu(This, menustr)
  1584. dmPopupMenu.mf_PopMenu()
  1585. Destroy dmPopupMenu
  1586. end if
  1587. end event
  1588. type st_2 from statictext within w_cust_edit
  1589. integer x = 1253
  1590. integer y = 204
  1591. integer width = 238
  1592. integer height = 48
  1593. boolean bringtotop = true
  1594. integer textsize = -9
  1595. integer weight = 400
  1596. fontcharset fontcharset = gb2312charset!
  1597. fontpitch fontpitch = variable!
  1598. string facename = "宋体"
  1599. long textcolor = 33554432
  1600. long backcolor = 134217739
  1601. string text = "会员类型"
  1602. alignment alignment = right!
  1603. boolean focusrectangle = false
  1604. end type
  1605. type ddlb_member from dropdownlistbox within w_cust_edit
  1606. integer x = 1504
  1607. integer y = 188
  1608. integer width = 389
  1609. integer height = 396
  1610. integer taborder = 20
  1611. boolean bringtotop = true
  1612. integer textsize = -9
  1613. integer weight = 400
  1614. fontcharset fontcharset = gb2312charset!
  1615. fontpitch fontpitch = variable!
  1616. string facename = "宋体"
  1617. long textcolor = 33554432
  1618. string text = "[全部]"
  1619. boolean autohscroll = true
  1620. borderstyle borderstyle = stylelowered!
  1621. end type
  1622. event constructor;Long memberid[]
  1623. Long i = 1,it_mxbt
  1624. String ls_space
  1625. Int li_spacenum
  1626. THIS.AddItem ('[全部]')
  1627. DECLARE cur_inwaermx CURSOR FOR
  1628. SELECT distinct memberid
  1629. FROM u_cust;
  1630. OPEN cur_inwaermx;
  1631. FETCH cur_inwaermx INTO :memberid[i];
  1632. DO WHILE sqlca.SQLCode = 0
  1633. i++
  1634. FETCH cur_inwaermx INTO :memberid[i];
  1635. LOOP
  1636. it_mxbt = i - 1
  1637. for i = 1 to it_mxbt
  1638. string ls_membername
  1639. select membername
  1640. into :ls_membername
  1641. from u_cust_member
  1642. where memberid = :memberid[i];
  1643. li_spacenum = 50 - Len(Trim(ls_membername)) - 2 - Len(String(memberid[i]))
  1644. ls_space = Fill(' ',li_spacenum)
  1645. THIS.AddItem (ls_membername+ls_space+'['+String(memberid[i])+']')
  1646. next
  1647. THIS.Text = '[全部]'
  1648. end event
  1649. event selectionchanged;IF THIS.Text = '[全部]' THEN
  1650. cur_memberid = -1
  1651. ELSE
  1652. cur_memberid = Long(Mid ( THIS.Text,Pos(THIS.Text,'[') + 1,Len(THIS.Text) - Pos(THIS.Text,'[') - 1 ))
  1653. END IF
  1654. parent.triggerevent('retrieve_uc')
  1655. end event
  1656. type cbx_auto_cuscode from checkbox within w_cust_edit
  1657. integer x = 2747
  1658. integer y = 12
  1659. integer width = 576
  1660. integer height = 64
  1661. boolean bringtotop = true
  1662. integer textsize = -9
  1663. integer weight = 400
  1664. fontcharset fontcharset = gb2312charset!
  1665. fontpitch fontpitch = variable!
  1666. string facename = "宋体"
  1667. long textcolor = 33554432
  1668. long backcolor = 67108864
  1669. string text = "按类别自动客户编号"
  1670. end type
  1671. event clicked;Int li_flag
  1672. IF THIS.Checked THEN
  1673. li_flag = 1
  1674. ELSE
  1675. li_flag = 0
  1676. END IF
  1677. f_SetProfileString (sys_empid,dw_index.DataObject, "if_auto_cuscode", String(li_flag))
  1678. end event
  1679. event constructor;THIS.BackColor = 14215660
  1680. Int li_flag
  1681. li_flag = Integer(f_ProfileString (sys_empid,dw_index.DataObject, "if_auto_cuscode", '0'))
  1682. IF li_flag = 0 THEN
  1683. THIS.Checked = FALSE
  1684. ELSE
  1685. THIS.Checked = TRUE
  1686. END IF
  1687. end event
  1688. type st_3 from statictext within w_cust_edit
  1689. integer x = 2757
  1690. integer y = 100
  1691. integer width = 229
  1692. integer height = 48
  1693. boolean bringtotop = true
  1694. integer textsize = -9
  1695. integer weight = 400
  1696. fontcharset fontcharset = gb2312charset!
  1697. fontpitch fontpitch = variable!
  1698. string facename = "宋体"
  1699. long textcolor = 33554432
  1700. long backcolor = 67108864
  1701. string text = "序号长度"
  1702. boolean focusrectangle = false
  1703. end type
  1704. event constructor;this.backcolor = 14215660
  1705. end event
  1706. type em_1 from editmask within w_cust_edit
  1707. integer x = 2994
  1708. integer y = 92
  1709. integer width = 146
  1710. integer height = 84
  1711. integer taborder = 80
  1712. boolean bringtotop = true
  1713. integer textsize = -9
  1714. integer weight = 400
  1715. fontcharset fontcharset = gb2312charset!
  1716. fontpitch fontpitch = variable!
  1717. string facename = "宋体"
  1718. long textcolor = 33554432
  1719. string text = "4"
  1720. alignment alignment = right!
  1721. borderstyle borderstyle = stylelowered!
  1722. string mask = "#####0"
  1723. boolean autoskip = true
  1724. boolean spin = true
  1725. end type
  1726. event constructor;this.backcolor = 14215660
  1727. end event