w_order_wfjg_wfjgmx_ch.srw 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. $PBExportHeader$w_order_wfjg_wfjgmx_ch.srw
  2. forward
  3. global type w_order_wfjg_wfjgmx_ch from w_pageretr_ch
  4. end type
  5. type cbx_mlselect from checkbox within w_order_wfjg_wfjgmx_ch
  6. end type
  7. end forward
  8. global type w_order_wfjg_wfjgmx_ch from w_pageretr_ch
  9. integer width = 3301
  10. integer height = 2108
  11. string title = "外协订单选择-销售订单明细"
  12. cbx_mlselect cbx_mlselect
  13. end type
  14. global w_order_wfjg_wfjgmx_ch w_order_wfjg_wfjgmx_ch
  15. type variables
  16. s_mtrldef_wfjg_array INS_RT_STRU
  17. Boolean if_changeselect = TRUE
  18. Int if_mlselect = 0
  19. Long cur_scid
  20. end variables
  21. on w_order_wfjg_wfjgmx_ch.create
  22. int iCurrent
  23. call super::create
  24. this.cbx_mlselect=create cbx_mlselect
  25. iCurrent=UpperBound(this.Control)
  26. this.Control[iCurrent+1]=this.cbx_mlselect
  27. end on
  28. on w_order_wfjg_wfjgmx_ch.destroy
  29. call super::destroy
  30. destroy(this.cbx_mlselect)
  31. end on
  32. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  33. if trim(sle_usual_query.text)<>'' then
  34. if pos(trim(sle_usual_query.text),'%')=0 then
  35. obj_expr=obj_expr+'( u_mtrldef_mtrlcode like "%'+trim(sle_usual_query.text)+'%" )'
  36. else
  37. obj_expr=obj_expr+'( u_mtrldef_mtrlcode like "'+trim(sle_usual_query.text)+'" )'
  38. end if
  39. end if
  40. dw_pageretr.setfilter(obj_expr)
  41. dw_pageretr.setredraw(false)
  42. dw_pageretr.filter()
  43. if dw_pageretr.rowcount()>=1 then
  44. dw_pageretr.selectrow(0,false)
  45. dw_pageretr.selectrow(1,true)
  46. end if
  47. dw_pageretr.setredraw(true)
  48. end event
  49. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  50. ls_newselect=lower(ori_oldselect)
  51. if trim(sle_usual_query.text)<>'' then
  52. if pos(trim(sle_usual_query.text),'%')=0 then
  53. ls_querystrpart="(u_mtrldef.mtrlcode like '%"+trim(sle_usual_query.text)+"%')"
  54. else
  55. ls_querystrpart="(u_mtrldef.mtrlcode like '"+trim(sle_usual_query.text)+"')"
  56. end if
  57. if pos(ls_newselect," where ") <> 0 then
  58. ls_newselect=ls_newselect+" and ("+ls_querystrpart+')'
  59. else
  60. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  61. end if
  62. end if
  63. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  64. this.triggerevent('retrieve_pageretr')
  65. end event
  66. event close;CLOSEWITHRETURN(THIS,INS_RT_STRU)
  67. //<INS_RT_STRU> 窗体级子定义结构变量,用于返回
  68. end event
  69. event open;this.triggerevent('ue_before_open')
  70. wf_movetocenter()
  71. OLD_TITLE=THIS.TITLE
  72. s_tran=Message.PowerObjectParm
  73. IF not ISNULL(s_tran) then
  74. retrieve_all=s_tran.if_retrieve_all
  75. mode=s_tran.work_mode
  76. arg_pkid=s_tran.arg_pkid
  77. arg_string_code=s_tran.arg_string_code
  78. if_sharedata=s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  79. ds_share=s_tran.ds_share
  80. cur_scid = s_tran.e_long
  81. end if
  82. dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关
  83. dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关
  84. dw_pageretr.SetTransObject (sqlca)
  85. pkcolumndbtname=wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  86. ori_oldselect=dw_pageretr.Describe("DataWindow.Table.Select")
  87. ls_newselect=ori_oldselect
  88. ds_curquery=CREATE DATASTORE
  89. ds_curquery.DATAOBJECT='d_extr_find'
  90. ds_curquery.SetTransObject (sqlca)
  91. wf_editindex_lockf()
  92. sle_usual_query.text=trim(arg_string_code)
  93. if NOT retrieve_all then
  94. THIS.TRIGGEREVENT("ue_usual_query_RETR") //修改ls_newselect,retrieve
  95. else
  96. if if_sharedata then
  97. ds_share.sharedata(dw_pageretr)
  98. else
  99. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  100. this.TRIGGEREVENT('RETRIEVE_pageretr')
  101. end if
  102. end if
  103. IF retrieve_all THEN
  104. THIS.TRIGGEREVENT("ue_usual_query_filt")
  105. END IF
  106. INS_RT_STRU.mtrlid[1]=0
  107. s_hide_col s_col_mtrlsectype
  108. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  109. f_hide_col(1308,dw_pageretr,s_col_mtrlsectype)
  110. s_hide_col s_col_zxmtrlmode
  111. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  112. f_hide_col(1309,dw_pageretr,s_col_zxmtrlmode)
  113. end event
  114. event ue_before_open;call super::ue_before_open;if_ue_sort=true
  115. end event
  116. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  117. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  118. //cb_firstpage_enabled=cb_firstpage.enabled
  119. cb_nextpage_enabled=cb_nextpage.enabled
  120. cb_retrieveall_enabled=cb_retrieveall.enabled
  121. //cb_priorpage_enabled=cb_priorpage.enabled
  122. cb_func_enabled=cb_func.enabled
  123. //cb_firstpage.enabled=false
  124. cb_nextpage.enabled=false
  125. cb_retrieveall.enabled=false
  126. //cb_priorpage.enabled=false
  127. cb_func.enabled=false
  128. SetPointer(HourGlass!)
  129. dw_pageretr.retrieve(cur_scid)
  130. if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1)
  131. SetPointer(Arrow!)
  132. //cb_firstpage.enabled=cb_firstpage_enabled
  133. cb_nextpage.enabled=cb_nextpage_enabled
  134. cb_retrieveall.enabled=cb_retrieveall_enabled
  135. //cb_priorpage.enabled=cb_priorpage_enabled
  136. cb_func.enabled=cb_func_enabled
  137. IF cbx_mlselect.Checked AND dw_pageretr.RowCount() > 1 THEN
  138. dw_pageretr.SelectRow(1,FALSE)
  139. END IF
  140. end event
  141. type cb_func from w_pageretr_ch`cb_func within w_order_wfjg_wfjgmx_ch
  142. end type
  143. type cb_exit from w_pageretr_ch`cb_exit within w_order_wfjg_wfjgmx_ch
  144. end type
  145. type sle_usual_query from w_pageretr_ch`sle_usual_query within w_order_wfjg_wfjgmx_ch
  146. integer x = 347
  147. end type
  148. type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_order_wfjg_wfjgmx_ch
  149. integer x = 1074
  150. end type
  151. type em_pagerowno from w_pageretr_ch`em_pagerowno within w_order_wfjg_wfjgmx_ch
  152. integer x = 763
  153. end type
  154. type dw_pageretr from w_pageretr_ch`dw_pageretr within w_order_wfjg_wfjgmx_ch
  155. integer width = 3241
  156. integer height = 1672
  157. string dataobject = "dw_order_wfjg_mx_ch"
  158. end type
  159. event dw_pageretr::clicked;if row>0 then
  160. this.setrow(row)
  161. if if_mlselect=1 then
  162. if if_changeselect then
  163. this.selectrow(row,not this.IsSelected(row))
  164. else
  165. if_changeselect=true
  166. end if
  167. else
  168. this.selectrow(0,false)
  169. this.selectrow(row,true)
  170. end if
  171. end if
  172. end event
  173. event dw_pageretr::rowfocuschanged;if if_mlselect=1 then
  174. if currentrow <=0 then return
  175. if keydown(keycontrol!) then
  176. if this.isselected(currentrow) then
  177. this.selectrow(currentrow,false)
  178. if_changeselect=false
  179. else
  180. if_changeselect=true
  181. end if
  182. else
  183. if not this.isselected(currentrow) then
  184. this.selectrow(currentrow,true)
  185. if_changeselect=false
  186. else
  187. if_changeselect=true
  188. end if
  189. end if
  190. else
  191. if dw_edit_mode then return
  192. if currentrow <=0 then return
  193. this.selectrow(0,false)
  194. this.selectrow(currentrow,true)
  195. end if
  196. end event
  197. event dw_pageretr::dwnkey;call super::dwnkey;if keydown(keyenter!) then return 1
  198. end event
  199. type st_1 from w_pageretr_ch`st_1 within w_order_wfjg_wfjgmx_ch
  200. integer width = 315
  201. string text = "物料编码含:"
  202. end type
  203. type cb_nextpage from w_pageretr_ch`cb_nextpage within w_order_wfjg_wfjgmx_ch
  204. integer x = 1221
  205. end type
  206. type cb_choice from w_pageretr_ch`cb_choice within w_order_wfjg_wfjgmx_ch
  207. end type
  208. event cb_choice::clicked;call super::clicked;Long ROW,ls_i = 0,chC = 0
  209. ROW = dw_pageretr.GetRow()
  210. IF ROW <= 0 THEN
  211. MessageBox('提示','请先选择目标行!', Information!, OK! )
  212. RETURN
  213. END IF
  214. FOR ls_i = 1 TO dw_pageretr.RowCount()
  215. IF dw_pageretr.IsSelected(ls_i) THEN
  216. chC++
  217. INS_RT_STRU.mtrlid[chC] = dw_pageretr.Object.u_saletaskmx_mtrlid[ls_i]
  218. INS_RT_STRU.mtrlname[chC] = dw_pageretr.Object.u_mtrldef_mtrlname[ls_i]
  219. INS_RT_STRU.mtrlcode[chC] = dw_pageretr.Object.u_mtrldef_mtrlcode[ls_i]
  220. INS_RT_STRU.mtrlmode[chC] = dw_pageretr.Object.u_mtrldef_mtrlmode[ls_i]
  221. INS_RT_STRU.unit[chC] = dw_pageretr.Object.u_mtrldef_unit[ls_i]
  222. INS_RT_STRU.qty[chC] = dw_pageretr.Object.nowfjgqty[ls_i]
  223. INS_RT_STRU.relcode[chC] = dw_pageretr.Object.u_saletask_taskcode[ls_i]
  224. INS_RT_STRU.orderid[chC] = dw_pageretr.Object.u_saletaskmx_taskid[ls_i]
  225. INS_RT_STRU.relPrintid[chC] = dw_pageretr.Object.u_saletaskmx_printid[ls_i]
  226. INS_RT_STRU.pcode[chC] = dw_pageretr.Object.u_saletaskmx_pcode[ls_i]
  227. INS_RT_STRU.status[chC] = dw_pageretr.Object.u_saletaskmx_status[ls_i]
  228. INS_RT_STRU.woodcode[chC] = dw_pageretr.Object.u_saletaskmx_woodcode[ls_i]
  229. INS_RT_STRU.mtrlsectype[chC] = dw_pageretr.Object.u_mtrldef_mtrlsectype[ls_i]
  230. INS_RT_STRU.zxmtrlmode[chC] = dw_pageretr.Object.u_mtrldef_zxmtrlmode[ls_i]
  231. INS_RT_STRU.statusflag[chC] = dw_pageretr.Object.u_mtrldef_statusflag[ls_i]
  232. INS_RT_STRU.woodcodeflag[chC] = dw_pageretr.Object.u_mtrldef_woodcodeflag[ls_i]
  233. INS_RT_STRU.pcodeflag[chC] = dw_pageretr.Object.u_mtrldef_pcodeflag[ls_i]
  234. INS_RT_STRU.planprice[chC] = dw_pageretr.Object.u_mtrldef_planprice[ls_i]
  235. INS_RT_STRU.lmbuyprice[chC] = dw_pageretr.Object.u_mtrldef_lmbuyprice[ls_i]
  236. END IF
  237. NEXT
  238. IF chC = 0 THEN
  239. MessageBox('提示','请至少选择一个目标行!', Information!, OK! )
  240. RETURN
  241. END IF
  242. Close(PARENT)
  243. end event
  244. type cb_refresh from w_pageretr_ch`cb_refresh within w_order_wfjg_wfjgmx_ch
  245. end type
  246. type cb_help from w_pageretr_ch`cb_help within w_order_wfjg_wfjgmx_ch
  247. end type
  248. type ln_bar from w_pageretr_ch`ln_bar within w_order_wfjg_wfjgmx_ch
  249. end type
  250. type ln_bar2 from w_pageretr_ch`ln_bar2 within w_order_wfjg_wfjgmx_ch
  251. end type
  252. type r_bar from w_pageretr_ch`r_bar within w_order_wfjg_wfjgmx_ch
  253. end type
  254. type ln_1 from w_pageretr_ch`ln_1 within w_order_wfjg_wfjgmx_ch
  255. end type
  256. type ln_2 from w_pageretr_ch`ln_2 within w_order_wfjg_wfjgmx_ch
  257. end type
  258. type cbx_mlselect from checkbox within w_order_wfjg_wfjgmx_ch
  259. integer x = 919
  260. integer y = 200
  261. integer width = 256
  262. integer height = 60
  263. boolean bringtotop = true
  264. integer textsize = -9
  265. integer weight = 400
  266. fontcharset fontcharset = gb2312charset!
  267. fontpitch fontpitch = variable!
  268. string facename = "宋体"
  269. long backcolor = 134217739
  270. string text = "多选"
  271. end type
  272. event clicked;if this.checked then
  273. if_mlselect=1
  274. else
  275. if_mlselect=0
  276. end if
  277. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "if_mlselect", String(if_mlselect))
  278. end event
  279. event constructor;if_mlselect=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", '0'))
  280. if if_mlselect =0 then
  281. this.checked=false
  282. else
  283. this.checked=true
  284. end if
  285. end event