w_event_setting.srw 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. $PBExportHeader$w_event_setting.srw
  2. forward
  3. global type w_event_setting from window
  4. end type
  5. type cb_cancel from uo_imflatbutton within w_event_setting
  6. end type
  7. type cb_del_mx from uo_imflatbutton within w_event_setting
  8. end type
  9. type cb_add_mx from uo_imflatbutton within w_event_setting
  10. end type
  11. type cb_refresh from uo_imflatbutton within w_event_setting
  12. end type
  13. type dw_1 from u_dw_rbtnfilter within w_event_setting
  14. end type
  15. type tv_1 from uo_tv_bill_event within w_event_setting
  16. end type
  17. type cb_edit from uo_imflatbutton within w_event_setting
  18. end type
  19. type cb_exit from uo_imflatbutton within w_event_setting
  20. end type
  21. type r_bar from rectangle within w_event_setting
  22. end type
  23. type ln_bar from line within w_event_setting
  24. end type
  25. type ln_bar2 from line within w_event_setting
  26. end type
  27. end forward
  28. global type w_event_setting from window
  29. integer width = 3840
  30. integer height = 2004
  31. boolean titlebar = true
  32. string title = "单据事件脚本设置"
  33. boolean controlmenu = true
  34. boolean minbox = true
  35. boolean maxbox = true
  36. windowtype windowtype = popup!
  37. windowstate windowstate = maximized!
  38. long backcolor = 67108864
  39. string icon = "AppIcon!"
  40. boolean center = true
  41. event ue_retrieve ( )
  42. event ue_face_refresh ( )
  43. cb_cancel cb_cancel
  44. cb_del_mx cb_del_mx
  45. cb_add_mx cb_add_mx
  46. cb_refresh cb_refresh
  47. dw_1 dw_1
  48. tv_1 tv_1
  49. cb_edit cb_edit
  50. cb_exit cb_exit
  51. r_bar r_bar
  52. ln_bar ln_bar
  53. ln_bar2 ln_bar2
  54. end type
  55. global w_event_setting w_event_setting
  56. type variables
  57. boolean dw_edit_mode = false
  58. end variables
  59. forward prototypes
  60. public function integer wf_save (ref string arg_msg)
  61. end prototypes
  62. event ue_retrieve();dw_1.retrieve(tv_1.ins_billtype, tv_1.ins_eventtype)
  63. end event
  64. event ue_face_refresh();cb_cancel.Enabled = dw_edit_mode
  65. cb_add_mx.Enabled = dw_edit_mode
  66. cb_del_mx.Enabled = dw_edit_mode
  67. cb_refresh.Enabled = not dw_edit_mode
  68. if dw_edit_mode then
  69. cb_edit.Text = '保存'
  70. cb_edit.normalpicname = 'Save.bmp'
  71. dw_1.SetTabOrder(4, 10)
  72. dw_1.SetTabOrder(5, 20)
  73. else
  74. cb_edit.Text = '修改'
  75. cb_edit.normalpicname = 'Open.bmp'
  76. dw_1.SetTabOrder(4, 0)
  77. dw_1.SetTabOrder(5, 0)
  78. end if
  79. cb_edit.of_init_draw()
  80. cb_edit.of_paint()
  81. cb_edit.TriggerEvent('ue_textchanged')
  82. end event
  83. public function integer wf_save (ref string arg_msg);Int rslt = 1
  84. Long ll_billtype
  85. Long ll_eventtype
  86. IF tv_1.ins_billtype = 0 Or tv_1.ins_eventtype = 0 THEN
  87. rslt = 0
  88. arg_msg = '请选择事件'
  89. GOTO ext
  90. END IF
  91. ll_billtype = tv_1.ins_billtype
  92. ll_eventtype = tv_1.ins_eventtype
  93. DELETE From sys_event Where billtype = :ll_billtype And eventtype = :ll_eventtype;
  94. IF sqlca.SQLCode <> 0 THEN
  95. rslt = 0
  96. arg_msg = '删除旧脚本失败,' + sqlca.SQLErrText
  97. GOTO ext
  98. END IF
  99. Long ll_row
  100. String ls_escript
  101. Long ll_isuse
  102. FOR ll_row = 1 To dw_1.RowCount()
  103. ls_escript = dw_1.Object.escript[ll_row]
  104. ll_isuse = dw_1.Object.isuse[ll_row]
  105. INSERT INTO sys_event(billtype, eventtype, printid, escript, isuse)
  106. Values(:ll_billtype, :ll_eventtype, :ll_row, :ls_escript, :ll_isuse);
  107. IF sqlca.SQLCode <> 0 THEN
  108. rslt = 0
  109. arg_msg = '插入脚本明细失败,' + sqlca.SQLErrText
  110. GOTO ext
  111. END IF
  112. NEXT
  113. ext:
  114. IF rslt = 0 THEN
  115. ROLLBACK;
  116. ELSE
  117. COMMIT;
  118. END IF
  119. RETURN rslt
  120. end function
  121. on w_event_setting.create
  122. this.cb_cancel=create cb_cancel
  123. this.cb_del_mx=create cb_del_mx
  124. this.cb_add_mx=create cb_add_mx
  125. this.cb_refresh=create cb_refresh
  126. this.dw_1=create dw_1
  127. this.tv_1=create tv_1
  128. this.cb_edit=create cb_edit
  129. this.cb_exit=create cb_exit
  130. this.r_bar=create r_bar
  131. this.ln_bar=create ln_bar
  132. this.ln_bar2=create ln_bar2
  133. this.Control[]={this.cb_cancel,&
  134. this.cb_del_mx,&
  135. this.cb_add_mx,&
  136. this.cb_refresh,&
  137. this.dw_1,&
  138. this.tv_1,&
  139. this.cb_edit,&
  140. this.cb_exit,&
  141. this.r_bar,&
  142. this.ln_bar,&
  143. this.ln_bar2}
  144. end on
  145. on w_event_setting.destroy
  146. destroy(this.cb_cancel)
  147. destroy(this.cb_del_mx)
  148. destroy(this.cb_add_mx)
  149. destroy(this.cb_refresh)
  150. destroy(this.dw_1)
  151. destroy(this.tv_1)
  152. destroy(this.cb_edit)
  153. destroy(this.cb_exit)
  154. destroy(this.r_bar)
  155. destroy(this.ln_bar)
  156. destroy(this.ln_bar2)
  157. end on
  158. event resize;ln_bar.EndX = THIS.Width
  159. ln_bar2.EndX = THIS.Width
  160. r_bar.Width = THIS.Width
  161. tv_1.Height = WorkSpaceHeight() - tv_1.Y
  162. dw_1.Height = tv_1.Height
  163. dw_1.Width = WorkSpaceWidth() - dw_1.X
  164. end event
  165. event open;dw_1.SetTransObject(sqlca)
  166. this.triggerevent('ue_face_refresh')
  167. cb_refresh.triggerevent(Clicked!)
  168. end event
  169. type cb_cancel from uo_imflatbutton within w_event_setting
  170. integer x = 1001
  171. integer width = 165
  172. integer height = 164
  173. integer taborder = 50
  174. boolean bringtotop = true
  175. string text = "放弃"
  176. string normalpicname = "UNDO.BMP"
  177. integer picsize = 16
  178. toolbaralignment pic_align = alignattop!
  179. boolean border = false
  180. end type
  181. event clicked;call super::clicked;if not dw_edit_mode then return
  182. dw_edit_mode = not dw_edit_mode
  183. parent.triggerevent('ue_face_refresh')
  184. parent.triggerevent('ue_retrieve')
  185. end event
  186. type cb_del_mx from uo_imflatbutton within w_event_setting
  187. integer x = 1403
  188. integer width = 219
  189. integer height = 164
  190. integer taborder = 40
  191. boolean bringtotop = true
  192. string text = "删明细"
  193. string normalpicname = "mx2.BMP"
  194. integer picsize = 16
  195. toolbaralignment pic_align = alignattop!
  196. boolean border = false
  197. end type
  198. event clicked;call super::clicked;if not dw_edit_mode then return
  199. long ll_row
  200. ll_row = dw_1.GetRow()
  201. if ll_row <= 0 then
  202. MessageBox('提示', '请选择行')
  203. return
  204. end if
  205. dw_1.DeleteRow(ll_row)
  206. dw_1.SetColumn('escript')
  207. dw_1.SetFocus()
  208. end event
  209. type cb_add_mx from uo_imflatbutton within w_event_setting
  210. integer x = 1175
  211. integer width = 219
  212. integer height = 164
  213. integer taborder = 30
  214. boolean bringtotop = true
  215. string text = "增明细"
  216. string normalpicname = "mx1.BMP"
  217. integer picsize = 16
  218. toolbaralignment pic_align = alignattop!
  219. boolean border = false
  220. end type
  221. event clicked;call super::clicked;if not dw_edit_mode then return
  222. long ll_row
  223. ll_row = dw_1.InsertRow(0)
  224. dw_1.ScrollToRow(ll_row)
  225. dw_1.SetRow(ll_row)
  226. dw_1.SetColumn('escript')
  227. dw_1.SetFocus()
  228. end event
  229. type cb_refresh from uo_imflatbutton within w_event_setting
  230. integer x = 1632
  231. integer width = 165
  232. integer height = 164
  233. integer taborder = 20
  234. boolean bringtotop = true
  235. string text = "刷新"
  236. string normalpicname = "refresh.BMP"
  237. integer picsize = 16
  238. toolbaralignment pic_align = alignattop!
  239. boolean border = false
  240. end type
  241. event clicked;call super::clicked;parent.triggerevent('ue_retrieve')
  242. end event
  243. type dw_1 from u_dw_rbtnfilter within w_event_setting
  244. integer x = 841
  245. integer y = 192
  246. integer width = 3538
  247. integer height = 1820
  248. integer taborder = 30
  249. boolean bringtotop = true
  250. string dataobject = "dw_sys_event"
  251. boolean hscrollbar = true
  252. boolean vscrollbar = true
  253. boolean hsplitscroll = true
  254. string cur_allowversion = "0"
  255. end type
  256. event constructor;// titleclick_sort_use=true //单击标题排序功能开关
  257. // RBUTTON_FILTER_USE=true //右键查询功能开关
  258. //
  259. end event
  260. event doubleclicked;call super::doubleclicked;Long ll_row
  261. String lpo_object
  262. s_script_edit s_script
  263. IF Not dw_edit_mode THEN RETURN
  264. ll_row = dw_1.GetRow()
  265. IF ll_row <= 0 THEN RETURN
  266. dw_1.AcceptText()
  267. //openwithparm(w_outware_error,ss_outware_error)
  268. s_script.billtype= tv_1.ins_billtype
  269. s_script.lpo_object=dw_1.Object.escript[ll_row]
  270. OpenWithParm(w_script_edit,s_script )
  271. lpo_object = String( Message.StringParm)
  272. IF lpo_object <> '' THEN dw_1.Object.escript[ll_row] = lpo_object
  273. end event
  274. event retrieveend;call super::retrieveend;//cb_1.Enabled = cb_reol
  275. //if_retrieveing = FALSE
  276. //
  277. //IF Dec(cur_vspos) > 0 THEN
  278. // THIS.Modify("DataWindow.VerticalScrollPosition="+cur_vspos)
  279. //END IF
  280. //
  281. end event
  282. event retrievestart;call super::retrievestart;//cb_reol = cb_1.Enabled
  283. //cb_1.Enabled = FALSE
  284. //if_retrieveing = TRUE
  285. //
  286. //cur_vspos = THIS.Describe("DataWindow.VerticalScrollPosition")
  287. //
  288. end event
  289. event rowfocuschanged;call super::rowfocuschanged;//IF currentrow > 0 THEN
  290. // THIS.SelectRow(0,FALSE)
  291. // THIS.SelectRow(currentrow,TRUE)
  292. //END IF
  293. end event
  294. event dwnkey;call super::dwnkey;//PARENT.TRIGGEREVENT('USER_KEY')
  295. end event
  296. type tv_1 from uo_tv_bill_event within w_event_setting
  297. integer y = 184
  298. integer taborder = 20
  299. end type
  300. event selectionchanged;call super::selectionchanged;//MessageBox(string(ins_billtype), string (ins_eventtype))
  301. dw_1.Retrieve(ins_billtype, ins_eventtype)
  302. end event
  303. event selectionchanging;call super::selectionchanging;if dw_edit_mode then return 1
  304. end event
  305. type cb_edit from uo_imflatbutton within w_event_setting
  306. integer x = 827
  307. integer width = 165
  308. integer height = 164
  309. integer taborder = 10
  310. boolean bringtotop = true
  311. string text = "修改"
  312. string normalpicname = "Open.BMP"
  313. integer picsize = 16
  314. toolbaralignment pic_align = alignattop!
  315. boolean border = false
  316. end type
  317. event clicked;call super::clicked;string ls_msg
  318. if tv_1.ins_billtype = 0 OR tv_1.ins_eventtype = 0 then
  319. MessageBox('错误', '请选择事件', StopSign!)
  320. return
  321. end if
  322. dw_1.AcceptText()
  323. if dw_edit_mode then
  324. if wf_save(ls_msg) <> 1 then
  325. MessageBox('错误', ls_msg, StopSign!)
  326. return
  327. end if
  328. parent.triggerevent('ue_retrieve')
  329. else
  330. if dw_1.RowCount() <= 0 then
  331. dw_1.InsertRow(0)
  332. end if
  333. dw_1.SetRow(1)
  334. dw_1.SetColumn('escript')
  335. dw_1.SetFocus()
  336. end if
  337. dw_edit_mode = not dw_edit_mode
  338. parent.triggerEvent('ue_face_refresh')
  339. end event
  340. type cb_exit from uo_imflatbutton within w_event_setting
  341. integer x = 1806
  342. integer width = 165
  343. integer height = 164
  344. integer taborder = 10
  345. boolean bringtotop = true
  346. string text = "取消"
  347. string normalpicname = "exit.BMP"
  348. integer picsize = 16
  349. toolbaralignment pic_align = alignattop!
  350. boolean border = false
  351. end type
  352. event clicked;call super::clicked;Close(parent)
  353. end event
  354. type r_bar from rectangle within w_event_setting
  355. long linecolor = 16777215
  356. integer linethickness = 4
  357. long fillcolor = 1073741824
  358. integer x = 690
  359. integer y = 4
  360. integer width = 87
  361. integer height = 68
  362. end type
  363. event constructor;this.fillcolor = 14215660
  364. this.linecolor = 14215660
  365. this.x = -1
  366. this.y = -1
  367. this.height = ln_bar.beginy - 5
  368. end event
  369. type ln_bar from line within w_event_setting
  370. long linecolor = 268435456
  371. integer linethickness = 4
  372. integer beginy = 172
  373. integer endx = 4425
  374. integer endy = 172
  375. end type
  376. type ln_bar2 from line within w_event_setting
  377. long linecolor = 16777215
  378. integer linethickness = 4
  379. integer beginy = 176
  380. integer endx = 4498
  381. integer endy = 176
  382. end type