w_flowdef_edit.srw 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. $PBExportHeader$w_flowdef_edit.srw
  2. forward
  3. global type w_flowdef_edit from w_publ_edit_index
  4. end type
  5. type cb_re_create from uo_imflatbutton within w_flowdef_edit
  6. end type
  7. end forward
  8. global type w_flowdef_edit from w_publ_edit_index
  9. integer width = 3589
  10. integer height = 2024
  11. string title = "现金流量项目"
  12. boolean minbox = true
  13. windowtype windowtype = popup!
  14. long backcolor = 81324524
  15. event ue_refresh_face ( )
  16. cb_re_create cb_re_create
  17. end type
  18. global w_flowdef_edit w_flowdef_edit
  19. type variables
  20. uo_flow uo_flow_recreate
  21. end variables
  22. event ue_refresh_face;cb_re_create.Enabled = NOT dw_edit_mode
  23. end event
  24. on w_flowdef_edit.create
  25. int iCurrent
  26. call super::create
  27. this.cb_re_create=create cb_re_create
  28. iCurrent=UpperBound(this.Control)
  29. this.Control[iCurrent+1]=this.cb_re_create
  30. end on
  31. on w_flowdef_edit.destroy
  32. call super::destroy
  33. destroy(this.cb_re_create)
  34. end on
  35. event retrieve_uc;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  36. Boolean cb_query_enabled,cb_retrieve_enabled
  37. cb_nextpage_enabled = cb_nextpage.Enabled
  38. cb_retrieveall_enabled = cb_retrieveall.Enabled
  39. cb_retrieve_enabled = cb_retrieve.Enabled
  40. cb_nextpage.Enabled = FALSE
  41. cb_retrieveall.Enabled = FALSE
  42. cb_retrieve.Enabled = FALSE
  43. dw_UC.SetRedraw(FALSE)
  44. dw_index.ShareDataOff()
  45. SetPointer(HourGlass!)
  46. dw_UC.Retrieve(sys_accsetid)
  47. SetPointer(Arrow!)
  48. dw_UC.ShareData(dw_index)
  49. dw_UC.SetRedraw(TRUE)
  50. IF dw_index.RowCount() >= 1 THEN
  51. dw_index.SelectRow(0,FALSE)
  52. dw_index.SelectRow(1,TRUE)
  53. END IF
  54. cb_nextpage.Enabled = cb_nextpage_enabled
  55. cb_retrieveall.Enabled = cb_retrieveall_enabled
  56. cb_retrieve.Enabled = cb_retrieve_enabled
  57. end event
  58. event ue_usual_query_filt;call super::ue_usual_query_filt;
  59. IF dw_edit_mode OR KeyDown(keyf4!) OR KeyDown(keyf5!) THEN RETURN
  60. String obj_expr = ''
  61. IF Trim(sle_usual_query.Text) <> '' THEN
  62. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  63. obj_expr = obj_expr+'( cashcode LIKE "%'+Trim(sle_usual_query.Text)+'%" )'
  64. ELSE
  65. obj_expr = obj_expr+'( cashcode LIKE "'+Trim(sle_usual_query.Text)+'" )'
  66. END IF
  67. END IF
  68. dw_UC.SetFilter(obj_expr)
  69. dw_UC.SetRedraw(FALSE)
  70. dw_INDEX.SetRedraw(FALSE)
  71. dw_UC.Filter()
  72. IF dw_INDEX.RowCount() >= 1 THEN
  73. dw_INDEX.SelectRow(0,FALSE)
  74. dw_INDEX.SelectRow(1,TRUE)
  75. END IF
  76. dw_UC.SetRedraw(TRUE)
  77. dw_INDEX.SetRedraw(TRUE)
  78. end event
  79. event open;call super::open;uo_flow_recreate = CREATE uo_flow
  80. end event
  81. event close;call super::close;DESTROY uo_flow_recreate
  82. end event
  83. event resize;ln_1.EndX = THIS.Width
  84. ln_2.EndX = THIS.Width
  85. end event
  86. type cb_func from w_publ_edit_index`cb_func within w_flowdef_edit
  87. integer x = 151
  88. end type
  89. type cb_exit from w_publ_edit_index`cb_exit within w_flowdef_edit
  90. integer x = 1490
  91. end type
  92. type sle_usual_query from w_publ_edit_index`sle_usual_query within w_flowdef_edit
  93. integer x = 229
  94. integer width = 558
  95. boolean bringtotop = true
  96. end type
  97. type cb_nextpage from w_publ_edit_index`cb_nextpage within w_flowdef_edit
  98. integer x = 347
  99. integer y = 2140
  100. integer width = 146
  101. boolean bringtotop = true
  102. end type
  103. type cb_priorpage from w_publ_edit_index`cb_priorpage within w_flowdef_edit
  104. end type
  105. type cb_firstpage from w_publ_edit_index`cb_firstpage within w_flowdef_edit
  106. end type
  107. type cb_retrieveall from w_publ_edit_index`cb_retrieveall within w_flowdef_edit
  108. integer x = 809
  109. integer y = 2140
  110. integer width = 146
  111. boolean bringtotop = true
  112. end type
  113. type em_pagerowno from w_publ_edit_index`em_pagerowno within w_flowdef_edit
  114. integer x = 1646
  115. integer y = 2116
  116. boolean bringtotop = true
  117. end type
  118. type st_pagerowno from w_publ_edit_index`st_pagerowno within w_flowdef_edit
  119. end type
  120. type st_1 from w_publ_edit_index`st_1 within w_flowdef_edit
  121. integer x = 14
  122. integer y = 216
  123. integer width = 206
  124. integer height = 44
  125. boolean bringtotop = true
  126. string text = "代码含:"
  127. end type
  128. type cb_add from w_publ_edit_index`cb_add within w_flowdef_edit
  129. integer x = 315
  130. end type
  131. event cb_add::clicked;//IF NOT f_power_ind(11) THEN
  132. // MessageBox(publ_operator,'你没有使用权限!')
  133. // RETURN
  134. //END IF
  135. Long ll_flowid = 0,cnt
  136. String errmsg = '',ls_cashcode,ls_pcashcode
  137. IF dw_edit_mode THEN
  138. dw_uc.AcceptText()
  139. IF dw_uc.GetNextModified(0, Primary!) = 0 THEN
  140. MessageBox('系统提示','没有任何修改,不可以保存!')
  141. RETURN
  142. END IF
  143. dw_uc.Object.cashcode[dw_uc.GetRow()] = Trim(dw_uc.Object.cashcode[dw_uc.GetRow()])
  144. dw_uc.Object.flowname[dw_uc.GetRow()] = Trim(dw_uc.Object.flowname[dw_uc.GetRow()])
  145. IF dw_uc.Object.cashcode[dw_uc.GetRow()] = '' THEN
  146. MessageBox('系统提示','请输入项目代码!')
  147. dw_uc.SetFocus()
  148. dw_uc.SetColumn("cashcode")
  149. RETURN
  150. END IF
  151. IF dw_uc.Object.flowname[dw_uc.GetRow()] = '' THEN
  152. MessageBox('系统提示','请输入客户名称!')
  153. dw_uc.SetFocus()
  154. dw_uc.SetColumn("flowname")
  155. RETURN
  156. END IF
  157. //--检查项目代码
  158. ls_cashcode = dw_uc.Object.cashcode[dw_uc.GetRow()]
  159. IF NOT Mod(Len(ls_cashcode),2) = 0 THEN
  160. MessageBox('系统提示','项目代码每级为两位,项目代码长度必须为偶数!')
  161. dw_uc.SetFocus()
  162. dw_uc.SetColumn("cashcode")
  163. RETURN
  164. END IF
  165. IF Len(ls_cashcode) > 2 THEN
  166. ls_pcashcode = Left(ls_cashcode,Len(ls_cashcode) - 2 )
  167. SELECT count(*) INTO :cnt FROM cw_flow
  168. Where accsetid = :sys_accsetid AND cashcode = :ls_pcashcode;
  169. IF sqlca.SQLCode <> 0 THEN
  170. MessageBox('系统提示',ls_pcashcode+':不存在该项目代码,在定义子项目之前,必须先定义其上级项目!')
  171. dw_uc.SetFocus()
  172. dw_uc.SetColumn("cashcode")
  173. RETURN
  174. END IF
  175. UPDATE cw_flow SET detailfalg = 0
  176. Where accsetid = :sys_accsetid AND cashcode = :ls_pcashcode;
  177. IF sqlca.SQLCode <> 0 THEN
  178. ROLLBACK;
  179. MessageBox('系统提示','更新上级项目'+ls_pcashcode+'一级项目标记失败!')
  180. dw_uc.SetFocus()
  181. dw_uc.SetColumn("cashcode")
  182. RETURN
  183. END IF
  184. dw_uc.Object.detailfalg[dw_uc.GetRow()] = 1
  185. ELSE
  186. dw_uc.Object.detailfalg[dw_uc.GetRow()] = 0
  187. END IF
  188. dw_uc.Object.accsetid[dw_uc.GetRow()] = sys_accsetid
  189. IF dw_uc.Object.flowid[dw_uc.GetRow()] = 0 THEN
  190. ll_flowid = f_sys_scidentity(0,"cw_flow","flowid",errmsg,TRUE,id_sqlca)
  191. IF ll_flowid <= 0 THEN
  192. MessageBox("系统信息",errmsg)
  193. RETURN
  194. ELSE
  195. dw_uc.Object.flowid[dw_uc.GetRow()] = ll_flowid
  196. END IF
  197. END IF
  198. END IF
  199. CALL SUPER::Clicked
  200. IF dw_edit_mode THEN
  201. dw_uc.SetColumn('cashcode')
  202. END IF
  203. PARENT.TriggerEvent('ue_refresh_face')
  204. end event
  205. type cb_edit from w_publ_edit_index`cb_edit within w_flowdef_edit
  206. integer x = 507
  207. end type
  208. event cb_edit::clicked;call super::clicked;PARENT.TriggerEvent('ue_refresh_face')
  209. end event
  210. type cb_delet from w_publ_edit_index`cb_delet within w_flowdef_edit
  211. integer x = 699
  212. end type
  213. type cb_choice from w_publ_edit_index`cb_choice within w_flowdef_edit
  214. integer x = 603
  215. integer y = 2136
  216. end type
  217. type cbx_mlselect from w_publ_edit_index`cbx_mlselect within w_flowdef_edit
  218. integer x = 2514
  219. integer y = 1960
  220. integer height = 48
  221. end type
  222. type cbx_allselect from w_publ_edit_index`cbx_allselect within w_flowdef_edit
  223. integer x = 2789
  224. integer y = 2008
  225. end type
  226. type cb_mode_itfchg from w_publ_edit_index`cb_mode_itfchg within w_flowdef_edit
  227. integer x = 1403
  228. integer width = 87
  229. end type
  230. type dw_uc from w_publ_edit_index`dw_uc within w_flowdef_edit
  231. integer x = 1765
  232. integer width = 1760
  233. integer height = 1616
  234. string dataobject = "dw_flowdef_edit"
  235. end type
  236. type cb_retrieve from w_publ_edit_index`cb_retrieve within w_flowdef_edit
  237. integer x = 0
  238. end type
  239. type cb_print from w_publ_edit_index`cb_print within w_flowdef_edit
  240. boolean visible = false
  241. integer x = 974
  242. integer y = 552
  243. boolean enabled = false
  244. end type
  245. type ln_bar from w_publ_edit_index`ln_bar within w_flowdef_edit
  246. end type
  247. type ln_bar2 from w_publ_edit_index`ln_bar2 within w_flowdef_edit
  248. end type
  249. type r_bar from w_publ_edit_index`r_bar within w_flowdef_edit
  250. end type
  251. type ln_1 from w_publ_edit_index`ln_1 within w_flowdef_edit
  252. end type
  253. type ln_2 from w_publ_edit_index`ln_2 within w_flowdef_edit
  254. end type
  255. type dw_index from w_publ_edit_index`dw_index within w_flowdef_edit
  256. integer width = 1765
  257. integer height = 1616
  258. boolean bringtotop = true
  259. string dataobject = "dw_flowdef_index"
  260. end type
  261. type cb_re_create from uo_imflatbutton within w_flowdef_edit
  262. integer x = 2208
  263. integer width = 553
  264. integer height = 172
  265. integer taborder = 150
  266. boolean bringtotop = true
  267. string text = "重新生成初始化项目"
  268. string normalpicname = "update.bmp"
  269. integer picsize = 16
  270. toolbaralignment pic_align = alignattop!
  271. boolean border = false
  272. end type
  273. event clicked;Long cnt
  274. String arg_msg
  275. cnt = 0
  276. SELECT count(*)
  277. INTO :cnt
  278. FROM cw_initflow
  279. WHERE accsetid = :sys_accsetid
  280. AND ( debit <> 0 OR credit <> 0 );
  281. IF sqlca.SQLCode <> 0 THEN
  282. MessageBox('提示','查询原有现金流量项目是否有初始化数据失败,'+sqlca.SQLErrText)
  283. RETURN
  284. END IF
  285. IF cnt > 0 THEN
  286. MessageBox('提示','原有现金流量项目已有初始化数据,不能操作')
  287. RETURN
  288. END IF
  289. cnt = 0
  290. SELECT count(*)
  291. INTO :cnt
  292. FROM cw_CashItem
  293. Where accsetid = :sys_accsetid;
  294. IF sqlca.SQLCode <> 0 THEN
  295. MessageBox('提示','查询原有现金流量项目是否已用于凭证失败,'+sqlca.SQLErrText)
  296. RETURN
  297. END IF
  298. IF cnt > 0 THEN
  299. MessageBox('提示','原有现金流量项目已用于凭证,不能操作')
  300. RETURN
  301. END IF
  302. IF MessageBox ("询问","是否确定要重新生成初始化项目?(选择确定后原有项目将被删除,不可恢复)",Question!,YesNo! ) = 2 THEN
  303. RETURN
  304. END IF
  305. IF uo_flow_recreate.uof_create_flow(sys_accsetid,arg_msg,TRUE) = 0 THEN
  306. MessageBox('提示',arg_msg)
  307. RETURN
  308. END IF
  309. PARENT.TriggerEvent('retrieve_uc')
  310. end event