w_hsitem_edit.srw 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. $PBExportHeader$w_hsitem_edit.srw
  2. forward
  3. global type w_hsitem_edit from w_publ_edit_choice
  4. end type
  5. type ddlb_1 from dropdownlistbox within w_hsitem_edit
  6. end type
  7. end forward
  8. global type w_hsitem_edit from w_publ_edit_choice
  9. integer width = 1792
  10. integer height = 2200
  11. string title = "项目设定"
  12. long backcolor = 82700779
  13. event refresh_face ( )
  14. ddlb_1 ddlb_1
  15. end type
  16. global w_hsitem_edit w_hsitem_edit
  17. type variables
  18. s_hsitem s_item
  19. end variables
  20. event refresh_face;ddlb_1.enabled = not dw_edit_mode
  21. end event
  22. on w_hsitem_edit.create
  23. int iCurrent
  24. call super::create
  25. this.ddlb_1=create ddlb_1
  26. iCurrent=UpperBound(this.Control)
  27. this.Control[iCurrent+1]=this.ddlb_1
  28. end on
  29. on w_hsitem_edit.destroy
  30. call super::destroy
  31. destroy(this.ddlb_1)
  32. end on
  33. event retrieve_uc;int ls_useflag
  34. if ddlb_1.text = '全部' then
  35. ls_useflag = -1
  36. elseif ddlb_1.text = '有效' then
  37. ls_useflag = 1
  38. else
  39. ls_useflag = 0
  40. end if
  41. dw_UC.retrieve(sys_accsetid,ls_useflag)
  42. end event
  43. event close;CloseWithReturn(THIS,s_item)
  44. end event
  45. event ue_before_open;call super::ue_before_open;if_ue_filter = TRUE
  46. end event
  47. type cb_func from w_publ_edit_choice`cb_func within w_hsitem_edit
  48. end type
  49. type cb_exit from w_publ_edit_choice`cb_exit within w_hsitem_edit
  50. integer x = 878
  51. end type
  52. event cb_exit::clicked;s_item.hsitemid = 0
  53. Close (PARENT)
  54. end event
  55. type cb_add from w_publ_edit_choice`cb_add within w_hsitem_edit
  56. end type
  57. event cb_add::clicked;Long ll_newid,i
  58. String errmsg
  59. IF dw_edit_mode THEN
  60. dw_uc.AcceptText()
  61. IF dw_uc.GetNextModified(0, Primary!) = 0 THEN
  62. MessageBox('提示','没有任何修改,不可以保存!')
  63. RETURN
  64. END IF
  65. dw_uc.Object.hsitemname[dw_uc.GetRow()] = Trim(dw_uc.Object.hsitemname[dw_uc.GetRow()])
  66. dw_uc.Object.hsitemcode[dw_uc.GetRow()] = Trim(dw_uc.Object.hsitemcode[dw_uc.GetRow()])
  67. IF dw_uc.Object.hsitemcode[dw_uc.GetRow()] = '' THEN
  68. MessageBox('提示','请输入编号!')
  69. dw_uc.SetFocus()
  70. dw_uc.SetColumn('hsitemcode')
  71. RETURN
  72. END IF
  73. IF dw_uc.Object.hsitemname[dw_uc.GetRow()] = '' THEN
  74. MessageBox('提示','请输入项目资料名称!')
  75. dw_uc.SetFocus()
  76. dw_uc.SetColumn('hsitemname')
  77. RETURN
  78. END IF
  79. dw_uc.Object.accsetid[dw_uc.GetRow()] = sys_accsetid
  80. IF dw_uc.Object.hsitemid[dw_uc.GetRow()] = 0 THEN
  81. ll_newid = f_sys_scidentity(sys_accsetid,"cw_hsitem","hsitemid",errmsg,TRUE,id_sqlca)
  82. IF ll_newid <= 0 THEN
  83. MessageBox('提示',errmsg)
  84. RETURN
  85. ELSE
  86. dw_uc.Object.hsitemid[dw_uc.GetRow()] = ll_newid
  87. END IF
  88. END IF
  89. END IF
  90. IF dw_edit_mode THEN
  91. String ls_errmsg
  92. IF dw_uc.UPDATE() = -1 THEN
  93. IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN
  94. ls_errmsg = "关键内容重复"
  95. ELSE
  96. ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
  97. END IF
  98. ROLLBACK;
  99. MessageBox ('提示',ls_errmsg+",保存操作失败!",Exclamation!,OK!)
  100. LS_UPDATE_FLAG = FALSE
  101. RETURN
  102. ELSE
  103. COMMIT;
  104. FOR i = 1 TO 5
  105. dw_uc.SetTabOrder ( i, 0 )
  106. NEXT
  107. LS_UPDATE_FLAG = TRUE
  108. END IF
  109. ins_sqlerrtext = ""
  110. ELSE
  111. Long li_row, li_cur_row
  112. li_cur_row = dw_uc.GetRow()
  113. li_row = dw_uc.InsertRow (0)
  114. FOR i = 1 TO 5
  115. dw_uc.SetTabOrder ( i, i*10 )
  116. NEXT
  117. dw_uc.SelectRow(0,FALSE)
  118. dw_uc.ScrollToRow (li_row)
  119. dw_uc.SelectRow(li_row,TRUE)
  120. dw_uc.SetFocus()
  121. modifyrow_no = li_row
  122. END IF
  123. dw_edit_mode = NOT dw_edit_mode
  124. WF_FACE_CHANGE()
  125. PARENT.TriggerEvent('refresh_face')
  126. end event
  127. type cb_edit from w_publ_edit_choice`cb_edit within w_hsitem_edit
  128. end type
  129. event cb_edit::clicked;Long i
  130. IF dw_edit_mode THEN
  131. IF dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = NewModified! OR dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = New! THEN
  132. dw_uc.DeleteRow(dw_uc.GetRow())
  133. ELSE
  134. dw_uc.ReselectRow(dw_uc.GetRow())
  135. END IF
  136. FOR i = 1 TO 5
  137. dw_uc.SetTabOrder ( i, 0 )
  138. NEXT
  139. modifyrow_no = 0
  140. ELSE
  141. modifyrow_no = dw_uc.GetRow()
  142. FOR i = 1 TO 5
  143. dw_uc.SetTabOrder ( i, i*10 )
  144. NEXT
  145. dw_uc.SetFocus()
  146. dw_uc.SelectRow(0,FALSE)
  147. dw_uc.ScrollToRow (modifyrow_no)
  148. dw_uc.SelectRow(modifyrow_no,TRUE)
  149. END IF
  150. dw_edit_mode = NOT dw_edit_mode
  151. WF_FACE_CHANGE()
  152. PARENT.TriggerEvent('refresh_face')
  153. end event
  154. type cb_delet from w_publ_edit_choice`cb_delet within w_hsitem_edit
  155. end type
  156. event cb_delet::clicked;IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  157. RETURN
  158. END IF
  159. long LS_id
  160. LONG LS_LONG=0
  161. string ls_code,arg_msg
  162. IF DW_UC.GETROW()<=0 THEN
  163. MESSAGEBOX(publ_operator,'没有操作目标记录!')
  164. RETURN
  165. END IF
  166. LS_id=DW_UC.OBJECT.hsitemid[DW_UC.GETROW()]
  167. select COUNT(*) into :LS_LONG from cw_credencemx
  168. where cw_credencemx.itemid=:LS_id
  169. and cw_credencemx.accsetid=:sys_accsetid;
  170. if SQLCA.SQLCode<>0 then
  171. MessageBox (publ_operator,"数据查询操作失败!(请重试!)",Exclamation!,OK!)
  172. return
  173. end if
  174. IF LS_LONG>0 THEN
  175. MessageBox (publ_operator,"该资料已经使用于凭证,不可以删除!",Exclamation!,OK!)
  176. RETURN
  177. END IF
  178. LS_LONG=0
  179. select COUNT(*) into :LS_LONG from cw_inititembala
  180. where cw_inititembala.itemid=:LS_id
  181. and cw_inititembala.accsetid=:sys_accsetid;
  182. if SQLCA.SQLCode<>0 then
  183. MessageBox (publ_operator,"数据查询操作失败!(请重试!)",Exclamation!,OK!)
  184. return
  185. end if
  186. IF LS_LONG>0 THEN
  187. MessageBox (publ_operator,"该资料已经使用于项目初始化数据,不可以删除!",Exclamation!,OK!)
  188. RETURN
  189. END IF
  190. dw_uc.SetRedraw (false)
  191. dw_UC.DeleteRow (0)
  192. dw_UC.TriggerEvent (rowfocuschanged!)
  193. if dw_UC.Update() = -1 then
  194. rollback;
  195. MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!)
  196. else
  197. commit;
  198. end if
  199. dw_uc.SetRedraw (true)
  200. end event
  201. type cb_choice from w_publ_edit_choice`cb_choice within w_hsitem_edit
  202. integer x = 713
  203. end type
  204. event cb_choice::clicked;call super::clicked;Long ll_row
  205. dw_uc.AcceptText()
  206. ll_row = dw_uc.GetRow()
  207. IF ll_row <= 0 THEN
  208. MessageBox('提示','请选择项目')
  209. RETURN
  210. END IF
  211. IF dw_uc.Object.useflag[ll_row] = 0 THEN
  212. MessageBox('提示','该项目已设为无效,不能选择')
  213. RETURN
  214. END IF
  215. s_item.hsitemid = dw_uc.Object.hsitemid[ll_row]
  216. s_item.hsitemname = dw_uc.Object.hsitemname[ll_row]
  217. Close (PARENT)
  218. end event
  219. type dw_uc from w_publ_edit_choice`dw_uc within w_hsitem_edit
  220. integer width = 1765
  221. integer height = 1924
  222. string dataobject = "dw_hsitem_index"
  223. end type
  224. type ln_bar from w_publ_edit_choice`ln_bar within w_hsitem_edit
  225. end type
  226. type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_hsitem_edit
  227. end type
  228. type r_bar from w_publ_edit_choice`r_bar within w_hsitem_edit
  229. end type
  230. type ddlb_1 from dropdownlistbox within w_hsitem_edit
  231. integer x = 1061
  232. integer y = 44
  233. integer width = 311
  234. integer height = 320
  235. integer taborder = 70
  236. boolean bringtotop = true
  237. integer textsize = -9
  238. integer weight = 400
  239. fontcharset fontcharset = gb2312charset!
  240. fontpitch fontpitch = variable!
  241. string facename = "宋体"
  242. long textcolor = 33554432
  243. string text = "有效"
  244. boolean sorted = false
  245. boolean vscrollbar = true
  246. string item[] = {"全部","有效","无效"}
  247. borderstyle borderstyle = stylelowered!
  248. end type
  249. event selectionchanged;parent.triggerevent('retrieve_uc')
  250. end event