w_mtrlware_storageid_ch_saletask.srw 28 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090
  1. $PBExportHeader$w_mtrlware_storageid_ch_saletask.srw
  2. forward
  3. global type w_mtrlware_storageid_ch_saletask from w_pageretr_ch
  4. end type
  5. type cbx_mlselect from checkbox within w_mtrlware_storageid_ch_saletask
  6. end type
  7. type ddlb_storageid from uo_ddlb_storageid within w_mtrlware_storageid_ch_saletask
  8. end type
  9. type tab_1 from tab within w_mtrlware_storageid_ch_saletask
  10. end type
  11. type tabpage_1 from userobject within tab_1
  12. end type
  13. type dw_1 from u_dw_rbtnfilter within tabpage_1
  14. end type
  15. type tabpage_1 from userobject within tab_1
  16. dw_1 dw_1
  17. end type
  18. type tabpage_3 from userobject within tab_1
  19. end type
  20. type dw_3 from u_dw_rbtnfilter within tabpage_3
  21. end type
  22. type tabpage_3 from userobject within tab_1
  23. dw_3 dw_3
  24. end type
  25. type tabpage_2 from userobject within tab_1
  26. end type
  27. type dw_4 from u_dw_rbtnfilter within tabpage_2
  28. end type
  29. type tabpage_2 from userobject within tab_1
  30. dw_4 dw_4
  31. end type
  32. type tab_1 from tab within w_mtrlware_storageid_ch_saletask
  33. tabpage_1 tabpage_1
  34. tabpage_3 tabpage_3
  35. tabpage_2 tabpage_2
  36. end type
  37. type ddlb_notuse from dropdownlistbox within w_mtrlware_storageid_ch_saletask
  38. end type
  39. type dw_2 from u_dw_rbtnfilter within w_mtrlware_storageid_ch_saletask
  40. end type
  41. type cb_ok from uo_imflatbutton within w_mtrlware_storageid_ch_saletask
  42. end type
  43. type cb_del from uo_imflatbutton within w_mtrlware_storageid_ch_saletask
  44. end type
  45. type cbx_ml from checkbox within w_mtrlware_storageid_ch_saletask
  46. end type
  47. type ddlb_mtrlprp from dropdownlistbox within w_mtrlware_storageid_ch_saletask
  48. end type
  49. type st_2 from statictext within w_mtrlware_storageid_ch_saletask
  50. end type
  51. type tv_1 from uo_tv_mtrltype within w_mtrlware_storageid_ch_saletask
  52. end type
  53. type cb_other from uo_imflatbutton within w_mtrlware_storageid_ch_saletask
  54. end type
  55. end forward
  56. global type w_mtrlware_storageid_ch_saletask from w_pageretr_ch
  57. integer width = 3621
  58. integer height = 2252
  59. string title = "订单产品选择"
  60. event retrieve_mx ( )
  61. event ue_help ( )
  62. event ue_retrieve_info ( )
  63. cbx_mlselect cbx_mlselect
  64. ddlb_storageid ddlb_storageid
  65. tab_1 tab_1
  66. ddlb_notuse ddlb_notuse
  67. dw_2 dw_2
  68. cb_ok cb_ok
  69. cb_del cb_del
  70. cbx_ml cbx_ml
  71. ddlb_mtrlprp ddlb_mtrlprp
  72. st_2 st_2
  73. tv_1 tv_1
  74. cb_other cb_other
  75. end type
  76. global w_mtrlware_storageid_ch_saletask w_mtrlware_storageid_ch_saletask
  77. type variables
  78. s_mtrldef_array INS_RT_STRU
  79. boolean if_changeselect=true
  80. int if_mlselect=0
  81. Long cur_scid
  82. Long cur_storageid = -1
  83. Long cur_storageid_arr[]
  84. String ls_handtype = ''
  85. Int cur_mtrlorigin = 0 //当前显示物料来源
  86. Int notuse = 1
  87. datawindow dw_1,dw_3,dw_4
  88. end variables
  89. forward prototypes
  90. public subroutine wf_face_change ()
  91. end prototypes
  92. event retrieve_mx();long ll_mtrlid
  93. if dw_pageretr.getrow() <= 0 then
  94. dw_1.reset()
  95. dw_3.reset()
  96. dw_4.reset()
  97. else
  98. ll_mtrlid = dw_pageretr.object.u_mtrldef_mtrlid[dw_pageretr.getrow()]
  99. dw_1.retrieve(ll_mtrlid)
  100. dw_3.retrieve(ll_mtrlid)
  101. dw_4.retrieve(ll_mtrlid)
  102. end if
  103. end event
  104. event ue_help();Int i
  105. i = htmlhelpA(Handle(THIS), sys_help_chm, 0, THIS.Title+".html")
  106. end event
  107. event ue_retrieve_info();Long ll_row
  108. Long ll_mtrlid
  109. ll_row = dw_pageretr.GetRow()
  110. IF ll_row <= 0 THEN
  111. ll_mtrlid = 0
  112. ELSE
  113. ll_mtrlid = dw_pageretr.Object.u_mtrldef_mtrlid[ll_row]
  114. END IF
  115. IF IsValid(w_mtrl_info) THEN
  116. w_mtrl_info.WindowState = Normal!
  117. w_mtrl_info.ins_mtrlid = ll_mtrlid
  118. w_mtrl_info.wf_retrieve(ll_mtrlid)
  119. END IF
  120. end event
  121. public subroutine wf_face_change ();if cbx_ml.checked then
  122. dw_pageretr.height=1308
  123. cb_ok.visible=false
  124. cb_del.visible=false
  125. dw_2.visible=false
  126. else
  127. dw_pageretr.height=788
  128. cb_ok.visible=true
  129. cb_del.visible=true
  130. dw_2.visible=true
  131. end if
  132. end subroutine
  133. on w_mtrlware_storageid_ch_saletask.create
  134. int iCurrent
  135. call super::create
  136. this.cbx_mlselect=create cbx_mlselect
  137. this.ddlb_storageid=create ddlb_storageid
  138. this.tab_1=create tab_1
  139. this.ddlb_notuse=create ddlb_notuse
  140. this.dw_2=create dw_2
  141. this.cb_ok=create cb_ok
  142. this.cb_del=create cb_del
  143. this.cbx_ml=create cbx_ml
  144. this.ddlb_mtrlprp=create ddlb_mtrlprp
  145. this.st_2=create st_2
  146. this.tv_1=create tv_1
  147. this.cb_other=create cb_other
  148. iCurrent=UpperBound(this.Control)
  149. this.Control[iCurrent+1]=this.cbx_mlselect
  150. this.Control[iCurrent+2]=this.ddlb_storageid
  151. this.Control[iCurrent+3]=this.tab_1
  152. this.Control[iCurrent+4]=this.ddlb_notuse
  153. this.Control[iCurrent+5]=this.dw_2
  154. this.Control[iCurrent+6]=this.cb_ok
  155. this.Control[iCurrent+7]=this.cb_del
  156. this.Control[iCurrent+8]=this.cbx_ml
  157. this.Control[iCurrent+9]=this.ddlb_mtrlprp
  158. this.Control[iCurrent+10]=this.st_2
  159. this.Control[iCurrent+11]=this.tv_1
  160. this.Control[iCurrent+12]=this.cb_other
  161. end on
  162. on w_mtrlware_storageid_ch_saletask.destroy
  163. call super::destroy
  164. destroy(this.cbx_mlselect)
  165. destroy(this.ddlb_storageid)
  166. destroy(this.tab_1)
  167. destroy(this.ddlb_notuse)
  168. destroy(this.dw_2)
  169. destroy(this.cb_ok)
  170. destroy(this.cb_del)
  171. destroy(this.cbx_ml)
  172. destroy(this.ddlb_mtrlprp)
  173. destroy(this.st_2)
  174. destroy(this.tv_1)
  175. destroy(this.cb_other)
  176. end on
  177. event ue_before_open;call super::ue_before_open;dw_1 = tab_1.tabpage_1.dw_1
  178. dw_3 = tab_1.tabpage_3.dw_3
  179. dw_4 = tab_1.tabpage_2.dw_4
  180. if_ue_retr=true
  181. if_ue_sort=true
  182. dw_1.settransobject(sqlca)
  183. dw_3.settransobject(sqlca)
  184. dw_4.settransobject(sqlca)
  185. end event
  186. event close;call super::close;cLOSEWITHRETURN(THIS,INS_RT_STRU)
  187. //<INS_RT_STRU> 窗体级子定义结构变量,用于返回
  188. end event
  189. event open;THIS.TriggerEvent('ue_before_open')
  190. wf_movetocenter()
  191. OLD_TITLE = THIS.Title
  192. s_tran = Message.PowerObjectParm
  193. IF NOT IsNull(s_tran) THEN
  194. retrieve_all = local_retrieve_all //s_tran.if_retrieve_all
  195. mode = s_tran.work_mode
  196. arg_pkid = s_tran.arg_pkid
  197. arg_string_code = s_tran.arg_string_code
  198. cur_scid = s_tran.c_long
  199. // cur_storageid = s_tran.d_long
  200. END IF
  201. //////////////////
  202. //String ls_storagename
  203. //ls_storagename = f_find_storageid(String(cur_storageid))
  204. //THIS.Title = ls_storagename + THIS.Title
  205. //////////////////
  206. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  207. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  208. dw_pageretr.SetTransObject (sqlca)
  209. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  210. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  211. ls_newselect = ori_oldselect
  212. ds_curquery = CREATE DATASTORE
  213. ds_curquery.DataObject = 'd_extr_find'
  214. ds_curquery.SetTransObject (sqlca)
  215. wf_editindex_lockf()
  216. //IF sys_version_type = 1 THEN
  217. // ddlb_mtrlprp.Text = "采购[2]"
  218. // cur_mtrlorigin = 2
  219. // ddlb_mtrlprp .Enabled = FALSE
  220. //ELSEIF s_tran.b_long = 0 THEN
  221. // ddlb_mtrlprp.Text = "自制产品[0]"
  222. // cur_mtrlorigin = 0
  223. //ELSEIF s_tran.b_long = 2 THEN
  224. // ddlb_mtrlprp.Text = "采购[2]"
  225. // cur_mtrlorigin = 2
  226. //ELSEIF s_tran.b_long = 3 THEN
  227. // ddlb_mtrlprp.Text = "外加工部件[3]"
  228. // cur_mtrlorigin = 3
  229. //ELSEIF s_tran.b_long = 4 THEN
  230. // ddlb_mtrlprp.Text = "自制部件[4]"
  231. // cur_mtrlorigin = 4
  232. //ELSEIF s_tran.b_long = -1 THEN
  233. // ddlb_mtrlprp.Text = "全部[-1]"
  234. // cur_mtrlorigin = -1
  235. //END IF
  236. tv_1.f_maketree(-1)
  237. tv_1.triggerevent(selectionchanged!)
  238. sle_usual_query.Text = Trim(arg_string_code)
  239. IF NOT retrieve_all AND Trim(arg_string_code) <> '' THEN
  240. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  241. ELSE
  242. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  243. THIS.TriggerEvent('RETRIEVE_pageretr')
  244. END IF
  245. IF retrieve_all AND Trim(arg_string_code) <> '' THEN
  246. THIS.TriggerEvent("ue_usual_query_filt")
  247. END IF
  248. INS_RT_STRU.mtrlid[1] = 0
  249. //ddlb_storageid.Text = '[全部]'
  250. s_hide_col s_col
  251. s_col.col_1 = 'u_mtrldef_planprice'
  252. f_hide_col(490,dw_pageretr,s_col)
  253. s_hide_col s_col_mtrlsectype
  254. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  255. f_hide_col(1308,dw_pageretr,s_col_mtrlsectype)
  256. f_hide_col(1308,dw_2,s_col_mtrlsectype)
  257. s_hide_col s_col_zxmtrlmode
  258. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  259. f_hide_col(1309,dw_pageretr,s_col_zxmtrlmode)
  260. f_hide_col(1309,dw_2,s_col_zxmtrlmode)
  261. wf_face_change()
  262. end event
  263. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  264. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  265. cb_nextpage_enabled=cb_nextpage.enabled
  266. cb_retrieveall_enabled=cb_retrieveall.enabled
  267. cb_func_enabled=cb_func.enabled
  268. cb_nextpage.enabled=false
  269. cb_retrieveall.enabled=false
  270. cb_func.enabled=false
  271. SetPointer(HourGlass!)
  272. IF ddlb_notuse.Text = '全部' THEN
  273. notuse = -1
  274. ELSE
  275. notuse = 1
  276. END IF
  277. dw_pageretr.retrieve(cur_scid,cur_storageid_arr,ls_handtype,cur_mtrlorigin,notuse)
  278. if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1)
  279. SetPointer(Arrow!)
  280. cb_nextpage.enabled=cb_nextpage_enabled
  281. cb_retrieveall.enabled=cb_retrieveall_enabled
  282. cb_func.enabled=cb_func_enabled
  283. IF cbx_mlselect.Checked AND dw_pageretr.RowCount() > 1 THEN
  284. dw_pageretr.SelectRow(1,FALSE)
  285. END IF
  286. end event
  287. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  288. if trim(sle_usual_query.text)<>'' then
  289. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  290. obj_expr=obj_expr+'( u_mtrldef_mtrlcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  291. obj_expr=obj_expr+' or (u_mtrldef_mtrlname LIKE "%'+trim(sle_usual_query.text)+'%" )'
  292. ELSE
  293. obj_expr=obj_expr+'( u_mtrldef_mtrlcode LIKE "'+trim(sle_usual_query.text)+'" )'
  294. obj_expr=obj_expr+' or (u_mtrldef_mtrlname LIKE "'+trim(sle_usual_query.text)+'" )'
  295. END IF
  296. end if
  297. dw_pageretr.setfilter(obj_expr)
  298. dw_pageretr.SetRedraw(False)
  299. dw_pageretr.filter()
  300. if dw_pageretr.rowcount()>=1 then
  301. dw_pageretr.selectrow(0,false)
  302. dw_pageretr.selectrow(1,true )
  303. end if
  304. dw_pageretr.SetRedraw(TRUE )
  305. end event
  306. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  307. ls_newselect=lower(ori_oldselect)
  308. if trim(sle_usual_query.text)<>'' then
  309. if pos(trim(sle_usual_query.text),'%')=0 then
  310. ls_querystrpart=ls_querystrpart + "( u_mtrldef.mtrlcode like '%"+trim(sle_usual_query.text)+"%'"
  311. ls_querystrpart=ls_querystrpart + " or u_mtrldef.mtrlname like '%"+trim(sle_usual_query.text)+"%')"
  312. else
  313. ls_querystrpart=ls_querystrpart + "( u_mtrldef.mtrlcode like '"+trim(sle_usual_query.text)+"'"
  314. ls_querystrpart=ls_querystrpart + " or u_mtrldef.mtrlname like '"+trim(sle_usual_query.text)+"')"
  315. end if
  316. if Pos(ls_newselect," where ") <> 0 then
  317. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  318. else
  319. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  320. end if
  321. end if
  322. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  323. this.triggerevent('retrieve_pageretr')
  324. end event
  325. type cb_func from w_pageretr_ch`cb_func within w_mtrlware_storageid_ch_saletask
  326. end type
  327. type cb_exit from w_pageretr_ch`cb_exit within w_mtrlware_storageid_ch_saletask
  328. integer x = 718
  329. end type
  330. type sle_usual_query from w_pageretr_ch`sle_usual_query within w_mtrlware_storageid_ch_saletask
  331. integer x = 1801
  332. end type
  333. type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_mtrlware_storageid_ch_saletask
  334. integer x = 1335
  335. end type
  336. type em_pagerowno from w_pageretr_ch`em_pagerowno within w_mtrlware_storageid_ch_saletask
  337. integer x = 1029
  338. end type
  339. type dw_pageretr from w_pageretr_ch`dw_pageretr within w_mtrlware_storageid_ch_saletask
  340. integer x = 859
  341. integer y = 300
  342. integer width = 2715
  343. integer height = 788
  344. string dataobject = "dw_mtrlware_storageid_ch_saletask"
  345. end type
  346. event dw_pageretr::clicked;if row>0 then
  347. this.setrow(row)
  348. if if_mlselect=1 then
  349. if if_changeselect then
  350. this.selectrow(row,not this.IsSelected(row))
  351. else
  352. if_changeselect=true
  353. end if
  354. else
  355. this.selectrow(0,false)
  356. this.selectrow(row,true)
  357. end if
  358. end if
  359. end event
  360. event dw_pageretr::doubleclicked;if cbx_ml.checked then
  361. cb_choice.TRIGGEREVENT(CLICKED!)
  362. else
  363. cb_ok.TRIGGEREVENT(CLICKED!)
  364. end if
  365. end event
  366. event dw_pageretr::rowfocuschanged;if if_mlselect=1 then
  367. if currentrow <=0 then return
  368. if keydown(keycontrol!) then
  369. if this.isselected(currentrow) then
  370. this.selectrow(currentrow,false)
  371. if_changeselect=false
  372. else
  373. if_changeselect=true
  374. end if
  375. else
  376. if not this.isselected(currentrow) then
  377. this.selectrow(currentrow,true)
  378. if_changeselect=false
  379. else
  380. if_changeselect=true
  381. end if
  382. end if
  383. else
  384. if currentrow <=0 then return
  385. this.selectrow(0,false)
  386. this.selectrow(currentrow,true)
  387. end if
  388. parent.triggerevent('retrieve_mx')
  389. parent.TriggerEvent('ue_retrieve_info')
  390. end event
  391. event dw_pageretr::dwnkey;call super::dwnkey;if keydown(keyenter!) then return 1
  392. end event
  393. event dw_pageretr::retrievestart;call super::retrievestart;tv_1.Enabled = False
  394. ddlb_mtrlprp.Enabled = False
  395. ddlb_storageid.Enabled = False
  396. end event
  397. event dw_pageretr::retrieveend;call super::retrieveend;tv_1.Enabled = true
  398. ddlb_mtrlprp.Enabled = true
  399. ddlb_storageid.Enabled = true
  400. end event
  401. type st_1 from w_pageretr_ch`st_1 within w_mtrlware_storageid_ch_saletask
  402. integer x = 1458
  403. integer width = 343
  404. string text = "编码/名称含:"
  405. end type
  406. type cb_nextpage from w_pageretr_ch`cb_nextpage within w_mtrlware_storageid_ch_saletask
  407. integer x = 1486
  408. end type
  409. type cb_choice from w_pageretr_ch`cb_choice within w_mtrlware_storageid_ch_saletask
  410. integer x = 567
  411. integer taborder = 120
  412. end type
  413. event cb_choice::clicked;call super::clicked;Long ROW,ls_i = 0,chC = 0
  414. datawindow dw
  415. IF cbx_ml.Checked THEN
  416. dw = dw_pageretr
  417. ROW = dw_pageretr.GetRow()
  418. IF ROW <= 0 THEN
  419. MessageBox('提示','请先选择目标行!', Information!, OK! )
  420. RETURN
  421. END IF
  422. ELSE
  423. dw = dw_2
  424. ROW = dw.RowCount()
  425. IF ROW <= 0 THEN
  426. MessageBox('提示','请先选择缓冲目标行!', Information!, OK! )
  427. RETURN
  428. END IF
  429. END IF
  430. FOR ls_i = 1 To dw.RowCount()
  431. IF dw.IsSelected(ls_i) Or Not cbx_ml.Checked THEN
  432. chC++
  433. INS_RT_STRU.mtrlid[chC] = dw.Object.u_mtrldef_mtrlid[ls_i]
  434. INS_RT_STRU.mtrlcode[chC] = dw.Object.u_mtrldef_mtrlcode[ls_i]
  435. INS_RT_STRU.mtrlname[chC] = dw.Object.u_mtrldef_mtrlname[ls_i]
  436. INS_RT_STRU.mtrlmode[chC] = dw.Object.u_mtrldef_mtrlmode[ls_i]
  437. INS_RT_STRU.unit[chC] = dw.Object.u_mtrldef_unit[ls_i]
  438. INS_RT_STRU.mtrltype[chC] = dw.Object.u_mtrldef_mtrltype[ls_i]
  439. INS_RT_STRU.planprice[chC] = dw.Object.u_mtrldef_planprice[ls_i]
  440. INS_RT_STRU.mtrlsectype[chC] = dw.Object.u_mtrldef_mtrlsectype[ls_i]
  441. INS_RT_STRU.zxmtrlmode[chC] = dw.Object.u_mtrldef_zxmtrlmode[ls_i]
  442. INS_RT_STRU.net_weight[chC] = dw.Object.u_mtrldef_net_weight[ls_i]
  443. INS_RT_STRU.gross_weight[chC] = dw.Object.u_mtrldef_gross_weight[ls_i]
  444. INS_RT_STRU.cubage[chC] = dw.Object.u_mtrldef_cubage[ls_i]
  445. INS_RT_STRU.mtrlengname[chC] = dw.Object.u_mtrldef_mtrlengname[ls_i]
  446. INS_RT_STRU.barcode[chC] = dw.Object.u_mtrldef_barcode[ls_i]
  447. INS_RT_STRU.handtype[chC] = dw.Object.u_mtrldef_handtype[ls_i]
  448. END IF
  449. NEXT
  450. //IF cbx_ml.Checked THEN
  451. // FOR ls_i = 1 TO dw_pageretr.RowCount()
  452. // IF dw_pageretr.IsSelected(ls_i) THEN
  453. // chC++
  454. // INS_RT_STRU.mtrlid[chC] = dw_pageretr.Object.u_mtrldef_mtrlid[ls_i]
  455. // INS_RT_STRU.mtrlcode[chC] = dw_pageretr.Object.u_mtrldef_mtrlcode[ls_i]
  456. // INS_RT_STRU.mtrlname[chC] = dw_pageretr.Object.u_mtrldef_mtrlname[ls_i]
  457. // INS_RT_STRU.mtrlmode[chC] = dw_pageretr.Object.u_mtrldef_mtrlmode[ls_i]
  458. // INS_RT_STRU.unit[chC] = dw_pageretr.Object.u_mtrldef_unit[ls_i]
  459. // INS_RT_STRU.mtrltype[chC] = dw_pageretr.Object.u_mtrldef_mtrltype[ls_i]
  460. // INS_RT_STRU.planprice[chC] = dw_pageretr.Object.u_mtrldef_planprice[ls_i]
  461. // INS_RT_STRU.mtrlsectype[chC] = dw_pageretr.Object.u_mtrldef_mtrlsectype[ls_i]
  462. // INS_RT_STRU.zxmtrlmode[chC] = dw_pageretr.Object.u_mtrldef_zxmtrlmode[ls_i]
  463. // END IF
  464. // NEXT
  465. //
  466. //ELSE
  467. // dw_2.accepttext()
  468. // FOR ls_i = 1 TO dw_2.RowCount()
  469. // chC++
  470. // INS_RT_STRU.mtrlid[chC] = dw_2.Object.u_mtrldef_mtrlid[ls_i]
  471. // INS_RT_STRU.mtrlcode[chC] = dw_2.Object.u_mtrldef_mtrlcode[ls_i]
  472. // INS_RT_STRU.mtrlname[chC] = dw_2.Object.u_mtrldef_mtrlname[ls_i]
  473. // INS_RT_STRU.mtrlmode[chC] = dw_2.Object.u_mtrldef_mtrlmode[ls_i]
  474. // INS_RT_STRU.unit[chC] = dw_2.Object.u_mtrldef_unit[ls_i]
  475. // INS_RT_STRU.mtrltype[chC] = dw_2.Object.u_mtrldef_mtrltype[ls_i]
  476. // INS_RT_STRU.planprice[chC] = dw_2.Object.u_mtrldef_planprice[ls_i]
  477. // INS_RT_STRU.mtrlsectype[chC] = dw_2.Object.u_mtrldef_mtrlsectype[ls_i]
  478. // INS_RT_STRU.zxmtrlmode[chC] = dw_2.Object.u_mtrldef_zxmtrlmode[ls_i]
  479. // NEXT
  480. //
  481. //
  482. //END IF
  483. IF chC = 0 THEN
  484. MessageBox('提示','请至少选择一个目标行!', Information!, OK! )
  485. RETURN
  486. END IF
  487. Close(Parent)
  488. end event
  489. type cb_refresh from w_pageretr_ch`cb_refresh within w_mtrlware_storageid_ch_saletask
  490. end type
  491. type cb_help from w_pageretr_ch`cb_help within w_mtrlware_storageid_ch_saletask
  492. boolean visible = false
  493. end type
  494. type ln_bar from w_pageretr_ch`ln_bar within w_mtrlware_storageid_ch_saletask
  495. end type
  496. type ln_bar2 from w_pageretr_ch`ln_bar2 within w_mtrlware_storageid_ch_saletask
  497. end type
  498. type r_bar from w_pageretr_ch`r_bar within w_mtrlware_storageid_ch_saletask
  499. end type
  500. type ln_1 from w_pageretr_ch`ln_1 within w_mtrlware_storageid_ch_saletask
  501. integer beginy = 288
  502. integer endy = 288
  503. end type
  504. type ln_2 from w_pageretr_ch`ln_2 within w_mtrlware_storageid_ch_saletask
  505. integer beginy = 292
  506. integer endy = 292
  507. end type
  508. type cbx_mlselect from checkbox within w_mtrlware_storageid_ch_saletask
  509. integer x = 2688
  510. integer y = 204
  511. integer width = 256
  512. integer height = 60
  513. boolean bringtotop = true
  514. integer textsize = -9
  515. integer weight = 400
  516. fontcharset fontcharset = gb2312charset!
  517. fontpitch fontpitch = variable!
  518. string facename = "宋体"
  519. long backcolor = 134217739
  520. string text = "多选"
  521. end type
  522. event clicked;if this.checked then
  523. if_mlselect=1
  524. else
  525. if_mlselect=0
  526. end if
  527. f_SetProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", string(if_mlselect))
  528. end event
  529. event constructor;if_mlselect=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", '0'))
  530. if if_mlselect =0 then
  531. this.checked=false
  532. else
  533. this.checked=true
  534. end if
  535. end event
  536. type ddlb_storageid from uo_ddlb_storageid within w_mtrlware_storageid_ch_saletask
  537. integer x = 581
  538. integer y = 192
  539. integer width = 549
  540. integer height = 1340
  541. integer taborder = 30
  542. boolean bringtotop = true
  543. end type
  544. event constructor;call super::constructor;cur_storageid = uo_storageid
  545. cur_storageid_arr = uo_storageid_arr
  546. cur_storageid=long(f_ProfileString (sys_empid,dw_pageretr.DataObject, "ddlb_storageid",'0'))
  547. if cur_storageid = -1 then
  548. cur_storageid_arr = sys_user_storageid
  549. else
  550. cur_storageid_arr[1] = cur_storageid
  551. end if
  552. IF cur_storageid = -1 THEN
  553. THIS.TEXT ='[全部]'
  554. ELSE
  555. string ls_storagename
  556. SELECT storagename into :ls_storagename FROM storageid
  557. WHERE storageid = :cur_storageid;
  558. THIS.TEXT = ls_storagename
  559. END IF
  560. end event
  561. event selectionchanged;call super::selectionchanged;cur_storageid = uo_storageid
  562. cur_storageid_arr = uo_storageid_arr
  563. cb_refresh.triggerevent(clicked!)
  564. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "ddlb_storageid",String(cur_storageid))
  565. end event
  566. type tab_1 from tab within w_mtrlware_storageid_ch_saletask
  567. event create ( )
  568. event destroy ( )
  569. integer x = 855
  570. integer y = 1652
  571. integer width = 2711
  572. integer height = 508
  573. integer taborder = 110
  574. boolean bringtotop = true
  575. integer textsize = -9
  576. integer weight = 400
  577. fontcharset fontcharset = gb2312charset!
  578. fontpitch fontpitch = variable!
  579. string facename = "宋体"
  580. long backcolor = 134217739
  581. boolean raggedright = true
  582. boolean focusonbuttondown = true
  583. integer selectedtab = 1
  584. tabpage_1 tabpage_1
  585. tabpage_3 tabpage_3
  586. tabpage_2 tabpage_2
  587. end type
  588. on tab_1.create
  589. this.tabpage_1=create tabpage_1
  590. this.tabpage_3=create tabpage_3
  591. this.tabpage_2=create tabpage_2
  592. this.Control[]={this.tabpage_1,&
  593. this.tabpage_3,&
  594. this.tabpage_2}
  595. end on
  596. on tab_1.destroy
  597. destroy(this.tabpage_1)
  598. destroy(this.tabpage_3)
  599. destroy(this.tabpage_2)
  600. end on
  601. type tabpage_1 from userobject within tab_1
  602. integer x = 18
  603. integer y = 96
  604. integer width = 2674
  605. integer height = 396
  606. long backcolor = 134217739
  607. string text = "库存数"
  608. long tabtextcolor = 33554432
  609. long tabbackcolor = 134217739
  610. long picturemaskcolor = 536870912
  611. dw_1 dw_1
  612. end type
  613. on tabpage_1.create
  614. this.dw_1=create dw_1
  615. this.Control[]={this.dw_1}
  616. end on
  617. on tabpage_1.destroy
  618. destroy(this.dw_1)
  619. end on
  620. type dw_1 from u_dw_rbtnfilter within tabpage_1
  621. integer y = 4
  622. integer width = 2670
  623. integer height = 396
  624. integer taborder = 20
  625. string dataobject = "dw_mtrlware_storageid_ch_saletask_1"
  626. boolean hscrollbar = true
  627. boolean vscrollbar = true
  628. end type
  629. type tabpage_3 from userobject within tab_1
  630. integer x = 18
  631. integer y = 96
  632. integer width = 2674
  633. integer height = 396
  634. long backcolor = 134217739
  635. string text = "已订货数"
  636. long tabtextcolor = 33554432
  637. long tabbackcolor = 134217739
  638. long picturemaskcolor = 536870912
  639. dw_3 dw_3
  640. end type
  641. on tabpage_3.create
  642. this.dw_3=create dw_3
  643. this.Control[]={this.dw_3}
  644. end on
  645. on tabpage_3.destroy
  646. destroy(this.dw_3)
  647. end on
  648. type dw_3 from u_dw_rbtnfilter within tabpage_3
  649. integer width = 2670
  650. integer height = 396
  651. integer taborder = 20
  652. string dataobject = "dw_mtrlware_storageid_ch_saletask_3"
  653. boolean hscrollbar = true
  654. boolean vscrollbar = true
  655. end type
  656. type tabpage_2 from userobject within tab_1
  657. integer x = 18
  658. integer y = 96
  659. integer width = 2674
  660. integer height = 396
  661. long backcolor = 134217739
  662. string text = "开单未审数"
  663. long tabtextcolor = 33554432
  664. long tabbackcolor = 134217739
  665. long picturemaskcolor = 536870912
  666. dw_4 dw_4
  667. end type
  668. on tabpage_2.create
  669. this.dw_4=create dw_4
  670. this.Control[]={this.dw_4}
  671. end on
  672. on tabpage_2.destroy
  673. destroy(this.dw_4)
  674. end on
  675. type dw_4 from u_dw_rbtnfilter within tabpage_2
  676. integer width = 2665
  677. integer height = 396
  678. string dataobject = "dw_mtrlware_storageid_ch_saletask_4"
  679. boolean hscrollbar = true
  680. boolean vscrollbar = true
  681. end type
  682. type ddlb_notuse from dropdownlistbox within w_mtrlware_storageid_ch_saletask
  683. integer x = 1147
  684. integer y = 192
  685. integer width = 279
  686. integer height = 300
  687. integer taborder = 40
  688. boolean bringtotop = true
  689. integer textsize = -9
  690. integer weight = 400
  691. fontcharset fontcharset = gb2312charset!
  692. fontpitch fontpitch = variable!
  693. string facename = "宋体"
  694. long textcolor = 33554432
  695. string text = "有效"
  696. boolean sorted = false
  697. string item[] = {"有效","全部"}
  698. borderstyle borderstyle = stylelowered!
  699. end type
  700. event selectionchanged;
  701. IF this.Text = '全部' THEN
  702. notuse = -1
  703. ELSE
  704. notuse = 1
  705. END IF
  706. cb_refresh.triggerevent(clicked!)
  707. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "ddlb_isuse",String(notuse))
  708. end event
  709. event constructor;String ls_str
  710. ls_str = f_ProfileString (sys_empid,dw_pageretr.DataObject, "ddlb_isuse",'1')
  711. notuse=long(ls_str)
  712. IF notuse = -1 THEN
  713. ddlb_notuse.Text = '全部'
  714. ELSE
  715. ddlb_notuse.Text = '有效'
  716. END IF
  717. end event
  718. type dw_2 from u_dw_rbtnfilter within w_mtrlware_storageid_ch_saletask
  719. integer x = 859
  720. integer y = 1200
  721. integer width = 2715
  722. integer height = 444
  723. integer taborder = 20
  724. boolean bringtotop = true
  725. string dataobject = "dw_mtrlware_storageid_ch_saletask"
  726. boolean hscrollbar = true
  727. boolean vscrollbar = true
  728. end type
  729. event rowfocuschanged;call super::rowfocuschanged;if currentrow <=0 then return
  730. this.selectrow(0,false)
  731. this.selectrow(currentrow,true)
  732. end event
  733. event clicked;call super::clicked;THIS.SetRow(row)
  734. THIS.SelectRow(0,FALSE)
  735. THIS.SelectRow(row,TRUE)
  736. end event
  737. event destructor; ////////////////////
  738. end event
  739. type cb_ok from uo_imflatbutton within w_mtrlware_storageid_ch_saletask
  740. integer x = 2843
  741. integer y = 1100
  742. integer width = 306
  743. integer taborder = 60
  744. boolean bringtotop = true
  745. string text = "选定"
  746. end type
  747. event clicked;call super::clicked;LONG ROW,ls_i,chC=0
  748. ROW=dw_pageretr.GETROW()
  749. if ROW<=0 then
  750. messagebox('提示','请先选择目标行!', Information!, OK! )
  751. return
  752. end if
  753. for ls_i=1 to dw_pageretr.rowcount()
  754. if dw_pageretr.isselected(ls_i) then
  755. if dw_2.find('u_mtrldef_mtrlid ='+string(dw_pageretr.object.u_mtrldef_mtrlid[ls_i]),1,dw_2.rowcount())=0 then
  756. chC++
  757. dw_pageretr.RowsCopy(ls_i, ls_i, Primary!, dw_2, dw_2.rowcount() + 1, Primary!)
  758. end if
  759. end if
  760. next
  761. end event
  762. type cb_del from uo_imflatbutton within w_mtrlware_storageid_ch_saletask
  763. integer x = 3223
  764. integer y = 1100
  765. integer width = 306
  766. integer taborder = 70
  767. boolean bringtotop = true
  768. string text = "删除"
  769. end type
  770. event clicked;call super::clicked;IF dw_2.GETROW()=0 THEN
  771. MESSAGEBOX('提示','请选择删除的行对象!', Information!, OK! )
  772. RETURN
  773. END IF
  774. dw_2.DeleteRow (0)
  775. dw_2.TriggerEvent (rowfocuschanged!)
  776. end event
  777. type cbx_ml from checkbox within w_mtrlware_storageid_ch_saletask
  778. integer x = 2331
  779. integer y = 204
  780. integer width = 357
  781. integer height = 60
  782. boolean bringtotop = true
  783. integer textsize = -9
  784. integer weight = 700
  785. fontcharset fontcharset = gb2312charset!
  786. fontpitch fontpitch = variable!
  787. string facename = "宋体"
  788. long textcolor = 16711680
  789. long backcolor = 134217739
  790. string text = "直接多选"
  791. boolean checked = true
  792. end type
  793. event clicked;wf_face_change()
  794. int use_ml
  795. if this.checked then
  796. use_ml=1
  797. else
  798. use_ml=0
  799. end if
  800. f_SetProfileString (sys_empid,dw_pageretr.DATAOBJECT, "use_ml", string(use_ml))
  801. end event
  802. event constructor;int use_ml
  803. use_ml=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "use_ml", '1'))
  804. if use_ml=0 then
  805. this.checked=false
  806. else
  807. this.checked=true
  808. end if
  809. end event
  810. type ddlb_mtrlprp from dropdownlistbox within w_mtrlware_storageid_ch_saletask
  811. integer y = 192
  812. integer width = 571
  813. integer height = 480
  814. integer taborder = 40
  815. boolean bringtotop = true
  816. integer textsize = -9
  817. integer weight = 400
  818. fontcharset fontcharset = gb2312charset!
  819. fontpitch fontpitch = variable!
  820. string facename = "宋体"
  821. long textcolor = 33554432
  822. string text = "全部[-1]"
  823. boolean sorted = false
  824. boolean vscrollbar = true
  825. string item[] = {"自制产品[0]","产品包装件[1]","采购[2]","外协部件[3]","自制部件[4]","全部[-1]"}
  826. borderstyle borderstyle = stylelowered!
  827. end type
  828. event selectionchanged;CHOOSE CASE Index
  829. CASE 1
  830. cur_mtrlorigin = 0
  831. CASE 2
  832. cur_mtrlorigin = 1
  833. CASE 3
  834. cur_mtrlorigin = 2
  835. CASE 4
  836. cur_mtrlorigin = 3
  837. CASE 5
  838. cur_mtrlorigin = 4
  839. CASE 6
  840. cur_mtrlorigin = -1
  841. END CHOOSE
  842. cb_refresh.TriggerEvent (clicked!)
  843. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "ddlb_mtrlorigin",String(cur_mtrlorigin))
  844. end event
  845. event constructor;cur_mtrlorigin=long(f_ProfileString (sys_empid,dw_pageretr.DataObject, "ddlb_mtrlorigin",'0'))
  846. IF sys_version_type = 1 THEN
  847. ddlb_mtrlprp.Text = "采购[2]"
  848. cur_mtrlorigin = 2
  849. ddlb_mtrlprp .Enabled = FALSE
  850. ELSEIF cur_mtrlorigin = 0 THEN
  851. ddlb_mtrlprp.Text = "自制产品[0]"
  852. ELSEIF cur_mtrlorigin = 2 THEN
  853. ddlb_mtrlprp.Text = "采购[2]"
  854. ELSEIF cur_mtrlorigin = 3 THEN
  855. ddlb_mtrlprp.Text = "外加工部件[3]"
  856. ELSEIF cur_mtrlorigin = 4 THEN
  857. ddlb_mtrlprp.Text = "自制部件[4]"
  858. ELSEIF cur_mtrlorigin = -1 THEN
  859. ddlb_mtrlprp.Text = "全部[-1]"
  860. END IF
  861. end event
  862. type st_2 from statictext within w_mtrlware_storageid_ch_saletask
  863. integer x = 1573
  864. integer y = 76
  865. integer width = 535
  866. integer height = 76
  867. boolean bringtotop = true
  868. integer textsize = -9
  869. integer weight = 400
  870. fontcharset fontcharset = gb2312charset!
  871. fontpitch fontpitch = variable!
  872. string facename = "宋体"
  873. long textcolor = 255
  874. long backcolor = 67108864
  875. string text = "说明:[按Ctrl键反选]"
  876. boolean focusrectangle = false
  877. end type
  878. event constructor;this.backcolor = 14215660
  879. end event
  880. type tv_1 from uo_tv_mtrltype within w_mtrlware_storageid_ch_saletask
  881. integer y = 300
  882. integer width = 850
  883. integer height = 1856
  884. integer taborder = 50
  885. boolean bringtotop = true
  886. integer textsize = -9
  887. fontcharset fontcharset = gb2312charset!
  888. fontfamily fontfamily = anyfont!
  889. string facename = "宋体"
  890. end type
  891. event selectionchanged;call super::selectionchanged;ls_handtype = THIS.uo_cur_info.handtype
  892. ls_handtype = ls_handtype + '%'
  893. PARENT.TriggerEvent('retrieve_pageretr')
  894. end event
  895. type cb_other from uo_imflatbutton within w_mtrlware_storageid_ch_saletask
  896. integer x = 306
  897. integer width = 265
  898. integer height = 164
  899. integer taborder = 30
  900. boolean bringtotop = true
  901. string text = "相关信息"
  902. string normalpicname = "find2.BMP"
  903. integer picsize = 16
  904. toolbaralignment pic_align = alignattop!
  905. boolean border = false
  906. end type
  907. event clicked;call super::clicked;Long ll_row
  908. ll_row = dw_pageretr.GetRow()
  909. IF ll_row <= 0 THEN
  910. MessageBox('系统提示','请选择物料')
  911. RETURN
  912. END IF
  913. Long ll_mtrlid
  914. ll_mtrlid = dw_pageretr.Object.u_mtrldef_mtrlid[ll_row]
  915. IF IsValid(w_mtrl_info) THEN
  916. w_mtrl_info.WindowState = Normal!
  917. w_mtrl_info.ins_mtrlid = ll_mtrlid
  918. w_mtrl_info.wf_retrieve(ll_mtrlid)
  919. ELSE
  920. OpenWithParm(w_mtrl_info,ll_mtrlid)
  921. END IF
  922. end event