w_mtrl_ch_fx.srw 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. $PBExportHeader$w_mtrl_ch_fx.srw
  2. $PBExportComments$分销系统(门店采购订单明细选供应商物料)
  3. forward
  4. global type w_mtrl_ch_fx from w_publ_base
  5. end type
  6. type tv_1 from uo_tv_fx_mtrltype within w_mtrl_ch_fx
  7. end type
  8. type dw_show from u_dw_rbtnfilter within w_mtrl_ch_fx
  9. end type
  10. type dw_select from u_dw_rbtnfilter within w_mtrl_ch_fx
  11. end type
  12. type cb_select from uo_imflatbutton within w_mtrl_ch_fx
  13. end type
  14. type cb_del from uo_imflatbutton within w_mtrl_ch_fx
  15. end type
  16. type cb_ok from uo_imflatbutton within w_mtrl_ch_fx
  17. end type
  18. end forward
  19. global type w_mtrl_ch_fx from w_publ_base
  20. integer width = 4375
  21. integer height = 2300
  22. string title = "供应商物料选择"
  23. boolean minbox = false
  24. windowtype windowtype = response!
  25. long backcolor = 16777215
  26. string icon = "graphics\chain_link_128px.ico"
  27. boolean center = true
  28. tv_1 tv_1
  29. dw_show dw_show
  30. dw_select dw_select
  31. cb_select cb_select
  32. cb_del cb_del
  33. cb_ok cb_ok
  34. end type
  35. global w_mtrl_ch_fx w_mtrl_ch_fx
  36. forward prototypes
  37. public subroutine wf_retrieve ()
  38. public subroutine wf_retrieve_mtrltype (readonly oleobject arg_mtrltypes)
  39. public subroutine wf_retrieve_mtrl (readonly integer arg_mtrltypeid, readonly integer arg_sonflag)
  40. end prototypes
  41. public subroutine wf_retrieve ();string arg_msg
  42. oleobject mtrltypes
  43. mtrltypes = FXAppCom.GetSptMtrltype(app_token_fx, ref arg_msg)
  44. IF (arg_msg <> '') THEN
  45. MessageBox('ERROR', '获取物料类别失败:' + arg_msg)
  46. RETURN
  47. END IF
  48. dw_show.ReSet( )
  49. wf_retrieve_mtrltype(mtrltypes)
  50. end subroutine
  51. public subroutine wf_retrieve_mtrltype (readonly oleobject arg_mtrltypes);long i, cnt, row
  52. cnt = arg_mtrltypes.Count
  53. if cnt <= 0 then return
  54. datastore ds
  55. ds = create datastore
  56. ds.DataObject = 'ds_fx_mtrltype'
  57. oleobject mtrltype
  58. for i = 1 to cnt
  59. mtrltype = arg_mtrltypes.GetItem(i - 1)
  60. row = ds.InsertRow(0)
  61. ds.Object.comid[row] = mtrltype.GetInt('comid')
  62. ds.Object.mtrltypeid[row] = mtrltype.GetInt('mtrltypeid')
  63. ds.Object.mtrltype[row] = mtrltype.GetString('mtrltype')
  64. ds.Object.handtype[row] = mtrltype.GetString('handtype')
  65. ds.Object.sonflag[row] = mtrltype.GetInt('sonflag')
  66. ds.Object.parentid[row] = mtrltype.GetInt('parentid')
  67. ds.Object.mtrltypeid_erp[row] = mtrltype.GetInt('mtrltypeid_erp')
  68. next
  69. tv_1.uof_init(ds)
  70. end subroutine
  71. public subroutine wf_retrieve_mtrl (readonly integer arg_mtrltypeid, readonly integer arg_sonflag);oleobject mtrls, mtrl
  72. mtrls = FXAppCom.CreArrOfPbDictionary()
  73. string arg_msg
  74. mtrls = FXAppCom.GetSptMtrl(app_token_fx, arg_mtrltypeid, arg_sonflag, ref arg_msg)
  75. long i, cnt, row
  76. cnt = mtrls.Count
  77. dw_show.Reset( )
  78. dw_show.SetRedraw(false)
  79. for i = 1 to cnt
  80. mtrl = mtrls.GetItem(i - 1)
  81. row = dw_show.InsertRow(0)
  82. dw_show.Object.fxmtrlid[row] = mtrl.GetInt('fxmtrlid')
  83. dw_show.Object.comid[row] = mtrl.GetInt('comid')
  84. dw_show.Object.mtrlid[row] = mtrl.GetInt('mtrlid')
  85. dw_show.Object.mtrlcode[row] = mtrl.GetString('mtrlcode')
  86. dw_show.Object.mtrlname[row] = mtrl.GetString('mtrlname')
  87. dw_show.Object.mtrlmode[row] = mtrl.GetString('mtrlmode')
  88. dw_show.Object.mtrlsectype[row] = mtrl.GetString('mtrlsectype')
  89. dw_show.Object.zxmtrlmode[row] = mtrl.GetString('zxmtrlmode')
  90. dw_show.Object.usermtrlmode[row] = mtrl.GetString('usermtrlmode')
  91. next
  92. dw_show.SetRedraw(true)
  93. dw_show.SelectRow(0, false)
  94. end subroutine
  95. on w_mtrl_ch_fx.create
  96. int iCurrent
  97. call super::create
  98. this.tv_1=create tv_1
  99. this.dw_show=create dw_show
  100. this.dw_select=create dw_select
  101. this.cb_select=create cb_select
  102. this.cb_del=create cb_del
  103. this.cb_ok=create cb_ok
  104. iCurrent=UpperBound(this.Control)
  105. this.Control[iCurrent+1]=this.tv_1
  106. this.Control[iCurrent+2]=this.dw_show
  107. this.Control[iCurrent+3]=this.dw_select
  108. this.Control[iCurrent+4]=this.cb_select
  109. this.Control[iCurrent+5]=this.cb_del
  110. this.Control[iCurrent+6]=this.cb_ok
  111. end on
  112. on w_mtrl_ch_fx.destroy
  113. call super::destroy
  114. destroy(this.tv_1)
  115. destroy(this.dw_show)
  116. destroy(this.dw_select)
  117. destroy(this.cb_select)
  118. destroy(this.cb_del)
  119. destroy(this.cb_ok)
  120. end on
  121. event open;call super::open;wf_retrieve( )
  122. end event
  123. event resize;call super::resize;cb_exit.X = this.workspacewidth( ) - cb_exit.Width
  124. end event
  125. type cb_func from w_publ_base`cb_func within w_mtrl_ch_fx
  126. integer width = 151
  127. integer height = 164
  128. end type
  129. type cb_exit from w_publ_base`cb_exit within w_mtrl_ch_fx
  130. integer x = 1801
  131. integer width = 151
  132. integer height = 164
  133. integer picsize = 16
  134. toolbaralignment pic_align = alignattop!
  135. end type
  136. type tv_1 from uo_tv_fx_mtrltype within w_mtrl_ch_fx
  137. integer y = 176
  138. integer width = 1015
  139. integer height = 2052
  140. integer taborder = 30
  141. boolean bringtotop = true
  142. integer textsize = -9
  143. fontcharset fontcharset = gb2312charset!
  144. fontfamily fontfamily = anyfont!
  145. string facename = "宋体"
  146. boolean disabledragdrop = false
  147. boolean hideselection = false
  148. boolean tooltips = false
  149. boolean trackselect = true
  150. string picturename[] = {"Application!","Structure5!"}
  151. end type
  152. event selectionchanged;call super::selectionchanged;wf_retrieve_mtrl(this.ins_cur_info.mtrltypeid[1], this.ins_cur_info.sonflag[1])
  153. end event
  154. type dw_show from u_dw_rbtnfilter within w_mtrl_ch_fx
  155. integer x = 1029
  156. integer y = 176
  157. integer width = 3351
  158. integer height = 976
  159. integer taborder = 20
  160. boolean bringtotop = true
  161. string dataobject = "dw_fx_mtrldef"
  162. boolean hscrollbar = true
  163. boolean vscrollbar = true
  164. boolean rbutton_filter_use = true
  165. boolean rbutton_setposition_use = true
  166. boolean titleclick_sort_use = true
  167. end type
  168. event clicked;call super::clicked;if (row <= 0) then return
  169. This.SelectRow(row, not This.IsSelected(row))
  170. end event
  171. type dw_select from u_dw_rbtnfilter within w_mtrl_ch_fx
  172. integer x = 1029
  173. integer y = 1260
  174. integer width = 3351
  175. integer height = 964
  176. integer taborder = 20
  177. boolean bringtotop = true
  178. string dataobject = "dw_fx_mtrldef"
  179. boolean hscrollbar = true
  180. boolean vscrollbar = true
  181. boolean rbutton_filter_use = true
  182. boolean rbutton_setposition_use = true
  183. boolean titleclick_sort_use = true
  184. end type
  185. event clicked;call super::clicked;if (row <= 0) then return
  186. This.SelectRow(0, false)
  187. This.SelectRow(row, true)
  188. end event
  189. event rowfocuschanged;call super::rowfocuschanged;IF currentrow <=0 THEN RETURN
  190. this.selectrow(0,false)
  191. this.selectrow(currentrow,true)
  192. this.SetRow(currentrow)
  193. end event
  194. type cb_select from uo_imflatbutton within w_mtrl_ch_fx
  195. integer x = 3118
  196. integer y = 1160
  197. integer width = 608
  198. integer height = 92
  199. integer taborder = 30
  200. boolean bringtotop = true
  201. string text = "↓ 选择"
  202. end type
  203. event clicked;call super::clicked;long row
  204. row = dw_show.GetRow( )
  205. if (row <= 0) then
  206. MessageBox('提示', '请在上方的物料清单内选择')
  207. return
  208. end if
  209. long i
  210. for i = 1 to dw_show.RowCount( )
  211. if (dw_show.IsSelected(i)) then
  212. dw_show.RowsCopy(i, i, Primary!, dw_select, dw_select.RowCount() + 1, Primary!)
  213. end if
  214. next
  215. dw_show.SelectRow(0, false)
  216. dw_show.SetRow(0)
  217. if (dw_select.RowCount( ) > 0) then
  218. dw_select.SelectRow(0, false)
  219. dw_select.SelectRow(dw_select.RowCount( ), true)
  220. dw_select.SetRow(dw_select.RowCount( ))
  221. end if
  222. end event
  223. type cb_del from uo_imflatbutton within w_mtrl_ch_fx
  224. integer x = 3744
  225. integer y = 1160
  226. integer width = 608
  227. integer height = 92
  228. integer taborder = 40
  229. boolean bringtotop = true
  230. string text = "↑删除"
  231. end type
  232. event clicked;call super::clicked;if (dw_select.GetRow() <= 0) then
  233. MessageBox('提示', '请在下方的物料清单内选择')
  234. return
  235. end if
  236. dw_select.DeleteRow(dw_select.GetRow())
  237. dw_show.TriggerEvent(rowfocuschanged!)
  238. end event
  239. type cb_ok from uo_imflatbutton within w_mtrl_ch_fx
  240. integer x = 1029
  241. integer width = 165
  242. integer height = 164
  243. integer taborder = 20
  244. boolean bringtotop = true
  245. string text = "选定"
  246. string normalpicname = "ok.bmp"
  247. integer picsize = 16
  248. toolbaralignment pic_align = alignattop!
  249. end type
  250. event clicked;call super::clicked;if (dw_select.RowCount() <= 0) then
  251. MessageBox('提示', '右下角的清单内并没有内容')
  252. return
  253. end if
  254. s_fx_mtrldef s_tran
  255. long i
  256. for i = 1 to dw_select.RowCount()
  257. s_tran.fxmtrlid[i] = dw_select.Object.fxmtrlid[i]
  258. s_tran.comid[i] = dw_select.Object.comid[i]
  259. s_tran.mtrlid[i] = dw_select.Object.mtrlid[i]
  260. s_tran.mtrlcode[i] = dw_select.Object.mtrlcode[i]
  261. s_tran.mtrlname[i] = dw_select.Object.mtrlname[i]
  262. s_tran.mtrlmode[i] = dw_select.Object.mtrlmode[i]
  263. s_tran.mtrlsectype[i] = dw_select.Object.mtrlsectype[i]
  264. s_tran.zxmtrlmode[i] = dw_select.Object.zxmtrlmode[i]
  265. s_tran.usermtrlmode[i] = dw_select.Object.usermtrlmode[i]
  266. next
  267. CloseWithReturn(parent, s_tran)
  268. end event