w_dscrpdef_edit.srw 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. $PBExportHeader$w_dscrpdef_edit.srw
  2. forward
  3. global type w_dscrpdef_edit from w_publ_edit_choice
  4. end type
  5. type cb_view from uo_imflatbutton within w_dscrpdef_edit
  6. end type
  7. end forward
  8. global type w_dscrpdef_edit from w_publ_edit_choice
  9. integer width = 2533
  10. integer height = 1628
  11. string title = "备注信息"
  12. boolean if_ue_retr = true
  13. boolean if_ue_filter = true
  14. boolean if_ue_sort = true
  15. boolean if_ue_sentdataout = true
  16. cb_view cb_view
  17. end type
  18. global w_dscrpdef_edit w_dscrpdef_edit
  19. type variables
  20. s_outrepdef INS_RT_STRU
  21. long il_inuse = 1
  22. long il_Edit_column = 5
  23. end variables
  24. on w_dscrpdef_edit.create
  25. int iCurrent
  26. call super::create
  27. this.cb_view=create cb_view
  28. iCurrent=UpperBound(this.Control)
  29. this.Control[iCurrent+1]=this.cb_view
  30. end on
  31. on w_dscrpdef_edit.destroy
  32. call super::destroy
  33. destroy(this.cb_view)
  34. end on
  35. event close;call super::close;CLOSEWITHRETURN(THIS,INS_RT_STRU)
  36. end event
  37. event retrieve_uc;dw_UC.retrieve(il_inuse)
  38. end event
  39. type cb_func from w_publ_edit_choice`cb_func within w_dscrpdef_edit
  40. end type
  41. type cb_exit from w_publ_edit_choice`cb_exit within w_dscrpdef_edit
  42. integer x = 1275
  43. end type
  44. type cb_add from w_publ_edit_choice`cb_add within w_dscrpdef_edit
  45. end type
  46. event cb_add::clicked;call super::clicked;
  47. Long i
  48. IF dw_edit_mode THEN
  49. dw_uc.AcceptText()
  50. IF dw_uc.GetNextModified(0, Primary!) = 0 THEN
  51. MessageBox('提示','没有任何修改,不可以保存!', Information!, OK! )
  52. RETURN
  53. END IF
  54. dw_uc.Object.empid[dw_uc.GetRow()] = long(sys_empid)
  55. dw_uc.Object.itemname[dw_uc.GetRow()] = Trim(dw_uc.Object.itemname[dw_uc.GetRow()])
  56. dw_uc.Object.dscrpname[dw_uc.GetRow()] = Trim(dw_uc.Object.dscrpname[dw_uc.GetRow()])
  57. dw_uc.Object.itemvalue[dw_uc.GetRow()] = 'dscrpdef'
  58. IF dw_uc.Object.dscrpname[dw_uc.GetRow()] = '' THEN
  59. MessageBox('提示','请输入备注!', Information!, OK! )
  60. RETURN
  61. END IF
  62. String ls_errmsg
  63. IF dw_uc.Update() = -1 THEN
  64. IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN
  65. ls_errmsg = "关键内容重复"
  66. ELSE
  67. ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
  68. END IF
  69. ROLLBACK;
  70. MessageBox ("提示",ls_errmsg+",保存操作失败!", Information!, OK! )
  71. LS_UPDATE_FLAG = False
  72. RETURN
  73. ELSE
  74. COMMIT;
  75. LS_UPDATE_FLAG = True
  76. FOR i = 1 To il_Edit_column
  77. dw_uc.SetTabOrder ( i, 0 )
  78. NEXT
  79. END IF
  80. ins_sqlerrtext = ""
  81. ELSE
  82. Long li_row, li_cur_row
  83. li_cur_row = dw_uc.GetRow()
  84. li_row = dw_uc.InsertRow (0)
  85. FOR i = 1 To il_Edit_column
  86. dw_uc.SetTabOrder ( i, i*10 )
  87. NEXT
  88. dw_uc.SelectRow(0,False)
  89. dw_uc.ScrollToRow (li_row)
  90. dw_uc.SelectRow(li_row,True)
  91. dw_uc.SetFocus()
  92. dw_uc.SetColumn("dscrpname")
  93. modifyrow_no = li_row
  94. END IF
  95. dw_edit_mode = Not dw_edit_mode
  96. WF_FACE_CHANGE()
  97. end event
  98. type cb_edit from w_publ_edit_choice`cb_edit within w_dscrpdef_edit
  99. end type
  100. event cb_edit::clicked;call super::clicked;
  101. Long i
  102. IF dw_edit_mode THEN
  103. IF dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = NewModified! Or dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = New! THEN
  104. dw_uc.DeleteRow(dw_uc.GetRow())
  105. ELSE
  106. dw_uc.ReselectRow(dw_uc.GetRow())
  107. END IF
  108. FOR i = 1 To il_Edit_column
  109. dw_uc.SetTabOrder ( i, 0 )
  110. NEXT
  111. modifyrow_no = 0
  112. ELSE
  113. modifyrow_no = dw_uc.GetRow()
  114. FOR i = 1 To il_Edit_column
  115. dw_uc.SetTabOrder ( i, i*10 )
  116. NEXT
  117. //使用业务员限制,名称不能修改
  118. // IF sys_option_outrep = 1 THEN
  119. // dw_uc.SetTabOrder('outrepname',0)
  120. // END IF
  121. dw_uc.SetFocus()
  122. dw_uc.SelectRow(0,False)
  123. dw_uc.ScrollToRow (modifyrow_no)
  124. dw_uc.SelectRow(modifyrow_no,True)
  125. END IF
  126. dw_edit_mode = Not dw_edit_mode
  127. WF_FACE_CHANGE()
  128. end event
  129. type cb_delet from w_publ_edit_choice`cb_delet within w_dscrpdef_edit
  130. end type
  131. event cb_delet::clicked;call super::clicked;
  132. IF MessageBox ("询问","是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  133. RETURN
  134. END IF
  135. //检查客户资料, 销售发货单,销售订单,如果已经应用,不允许删除
  136. //String ls_outrepname
  137. //Long ll_cnt, ll_row
  138. //ll_row = dw_uc.GetRow()
  139. //ls_outrepname = dw_uc.Object.outrepname[ll_row]
  140. //
  141. //SELECT count(*)
  142. // INTO :ll_cnt
  143. // FROM u_cust
  144. // Where custype = :ls_outrepname;
  145. //IF sqlca.SQLCode <> 0 THEN
  146. // ll_cnt = 0
  147. //END IF
  148. //
  149. //IF ll_cnt > 0 THEN
  150. // MessageBox('系统提示','当前业务员已经应用到客户资料中,不能删除')
  151. // RETURN
  152. //END IF
  153. //
  154. //SELECT count(*)
  155. // INTO :ll_cnt
  156. // FROM u_saletask
  157. // Where assign_emp = :ls_outrepname;
  158. //IF sqlca.SQLCode <> 0 THEN
  159. // ll_cnt = 0
  160. //END IF
  161. //
  162. //IF ll_cnt > 0 THEN
  163. // MessageBox('系统提示','当前业务员已经应用到销售订单中,不能删除')
  164. // RETURN
  165. //END IF
  166. //
  167. //SELECT count(*)
  168. // INTO :ll_cnt
  169. // FROM u_outware
  170. // Where outrep = :ls_outrepname
  171. // and billtype = 1;
  172. //IF sqlca.SQLCode <> 0 THEN
  173. // ll_cnt = 0
  174. //END IF
  175. //
  176. //IF ll_cnt > 0 THEN
  177. // MessageBox('系统提示','当前业务员已经应用到销售发货单中,不能删除')
  178. // RETURN
  179. //END IF
  180. //
  181. dw_uc.SetRedraw (False)
  182. dw_uc.DeleteRow (0)
  183. dw_uc.TriggerEvent (RowFocusChanged!)
  184. IF dw_uc.Update() = -1 THEN
  185. ROLLBACK;
  186. MessageBox ("错误","删除记录操作失败!",StopSign!,OK!)
  187. ELSE
  188. COMMIT;
  189. END IF
  190. dw_uc.SetRedraw (True)
  191. end event
  192. type cb_choice from w_publ_edit_choice`cb_choice within w_dscrpdef_edit
  193. integer x = 841
  194. integer width = 279
  195. end type
  196. event cb_choice::clicked;call super::clicked;LONG rOW
  197. ROW=dw_uc.getrow()
  198. if ROW<=0 then
  199. messagebox('提示','请先选择目标行!', Information!, OK! )
  200. return
  201. end if
  202. INS_RT_STRU.outrepdscrp=dw_uc.OBJECT.dscrpname[ROW]
  203. CLOSE(PARENT)
  204. end event
  205. type dw_uc from w_publ_edit_choice`dw_uc within w_dscrpdef_edit
  206. event dwnkey pbm_dwnkey
  207. integer y = 284
  208. integer width = 2510
  209. integer height = 1260
  210. string dataobject = "dw_dscrpdef_edit"
  211. end type
  212. event dw_uc::dwnkey;call super::dwnkey;IF Key = KeyEnter! THEN //
  213. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  214. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  215. RETURN 1
  216. END IF
  217. end event
  218. event dw_uc::doubleclicked;call super::doubleclicked;IF row <= 0 then return
  219. cb_choice.triggerevent(clicked!)
  220. end event
  221. type cb_rtr from w_publ_edit_choice`cb_rtr within w_dscrpdef_edit
  222. end type
  223. type cb_help from w_publ_edit_choice`cb_help within w_dscrpdef_edit
  224. integer x = 1125
  225. end type
  226. type ln_bar from w_publ_edit_choice`ln_bar within w_dscrpdef_edit
  227. end type
  228. type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_dscrpdef_edit
  229. end type
  230. type r_bar from w_publ_edit_choice`r_bar within w_dscrpdef_edit
  231. end type
  232. type cb_view from uo_imflatbutton within w_dscrpdef_edit
  233. boolean visible = false
  234. integer x = 837
  235. integer width = 151
  236. integer height = 164
  237. integer taborder = 30
  238. boolean bringtotop = true
  239. string text = "预览"
  240. string normalpicname = "preview.bmp"
  241. integer picsize = 16
  242. toolbaralignment pic_align = alignattop!
  243. boolean border = false
  244. end type
  245. event clicked;call super::clicked;S_print_MSG LS_PRMSG
  246. LS_PRMSG.obj_dwNAME = 'dw_rp_outrep_index'
  247. LS_PRMSG.SHARE_DW = DW_UC
  248. LS_PRMSG.TAG_TEXT = parent.title
  249. LS_PRMSG.SETUP_FLAG = 0
  250. LS_PRMSG.PAGECH_FLAG = 1
  251. OpenWithParm(w_publ_preview,LS_PRMSG)
  252. end event