w_order_ml_mod_tree.srw 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107
  1. $PBExportHeader$w_order_ml_mod_tree.srw
  2. forward
  3. global type w_order_ml_mod_tree from w_publ_easyq
  4. end type
  5. type st_dscrp from statictext within w_order_ml_mod_tree
  6. end type
  7. type dw_2 from u_dw_rbtnfilter within w_order_ml_mod_tree
  8. end type
  9. type cb_save from uo_imflatbutton within w_order_ml_mod_tree
  10. end type
  11. type cb_cancel_scll from uo_imflatbutton within w_order_ml_mod_tree
  12. end type
  13. type cb_add from uo_imflatbutton within w_order_ml_mod_tree
  14. end type
  15. type cb_del from uo_imflatbutton within w_order_ml_mod_tree
  16. end type
  17. type cb_func2 from uo_imflatbutton within w_order_ml_mod_tree
  18. end type
  19. type cb_3 from uo_imflatbutton within w_order_ml_mod_tree
  20. end type
  21. end forward
  22. global type w_order_ml_mod_tree from w_publ_easyq
  23. integer width = 3611
  24. integer height = 2380
  25. string title = "修改用料"
  26. boolean minbox = false
  27. boolean maxbox = false
  28. boolean resizable = false
  29. windowtype windowtype = response!
  30. event ue_p_set_wrkgrpid ( )
  31. event ue_p_set_status ( )
  32. event ue_p_set_woodcode ( )
  33. event ue_p_set_pcode ( )
  34. event ue_allowedit ( )
  35. st_dscrp st_dscrp
  36. dw_2 dw_2
  37. cb_save cb_save
  38. cb_cancel_scll cb_cancel_scll
  39. cb_add cb_add
  40. cb_del cb_del
  41. cb_func2 cb_func2
  42. cb_3 cb_3
  43. end type
  44. global w_order_ml_mod_tree w_order_ml_mod_tree
  45. type variables
  46. Long i_taskid,i_scid
  47. Int i_printid
  48. Int i_Ordertype
  49. Long ll_unlock_row
  50. Boolean if_cmpl = TRUE
  51. Decimal i_d_cmplqty_old
  52. Int i_i_plantype_old
  53. Long i_l_scid_old
  54. s_order_ml_mrp s_mrp
  55. end variables
  56. event ue_p_set_wrkgrpid();//IF NOT dw_edit_mode THEN RETURN
  57. IF MessageBox('提示','是否确定要批设定领用工组', question!, YesNo!, 2) = 2 THEN
  58. RETURN
  59. END IF
  60. Long ll_i
  61. dw_1.AcceptText()
  62. dw_1.SetRedraw(FALSE)
  63. IF dw_1.RowCount() >= 2 THEN
  64. FOR ll_i = 2 TO dw_1.RowCount()
  65. dw_1.Object.u_orderrqmtrl_tree_wrkgrpid[ll_i] = dw_1.Object.u_orderrqmtrl_tree_wrkgrpid[1]
  66. NEXT
  67. END IF
  68. dw_1.SetRedraw(TRUE)
  69. end event
  70. event ue_p_set_status();//IF NOT dw_edit_mode THEN RETURN
  71. IF MessageBox('提示','是否确定要批设定'+sys_option_change_status, question!, YesNo!, 2) = 2 THEN
  72. RETURN
  73. END IF
  74. Long ll_i
  75. dw_1.AcceptText()
  76. dw_1.SetRedraw(FALSE)
  77. IF dw_1.RowCount() >= 2 THEN
  78. FOR ll_i = 2 TO dw_1.RowCount()
  79. dw_1.Object.u_orderrqmtrl_tree_status[ll_i] = dw_1.Object.u_orderrqmtrl_tree_status[1]
  80. NEXT
  81. END IF
  82. dw_1.SetRedraw(TRUE)
  83. end event
  84. event ue_p_set_woodcode();//IF NOT dw_edit_mode THEN RETURN
  85. IF MessageBox('提示','是否确定要批设定'+sys_option_change_woodcode, question!, YesNo!, 2) = 2 THEN
  86. RETURN
  87. END IF
  88. Long ll_i
  89. dw_1.AcceptText()
  90. dw_1.SetRedraw(FALSE)
  91. IF dw_1.RowCount() >= 2 THEN
  92. FOR ll_i = 2 TO dw_1.RowCount()
  93. dw_1.Object.u_orderrqmtrl_tree_woodcode[ll_i] = dw_1.Object.u_orderrqmtrl_tree_woodcode[1]
  94. NEXT
  95. END IF
  96. dw_1.SetRedraw(TRUE)
  97. end event
  98. event ue_p_set_pcode();//IF NOT dw_edit_mode THEN RETURN
  99. IF MessageBox('提示','是否确定要批设定'+sys_option_change_pcode, question!, YesNo!, 2) = 2 THEN
  100. RETURN
  101. END IF
  102. Long ll_i
  103. dw_1.AcceptText()
  104. dw_1.SetRedraw(FALSE)
  105. IF dw_1.RowCount() >= 2 THEN
  106. FOR ll_i = 2 TO dw_1.RowCount()
  107. dw_1.Object.u_orderrqmtrl_tree_pcode[ll_i] = dw_1.Object.u_orderrqmtrl_tree_pcode[1]
  108. NEXT
  109. END IF
  110. dw_1.SetRedraw(TRUE)
  111. end event
  112. event ue_allowedit();Long Columns
  113. Int i
  114. String ls_modify_str
  115. Long ll_row
  116. Long ll_value
  117. Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  118. String ls_status,ls_woodcode,ls_pcode
  119. String ls_data_type
  120. ll_row = dw_1.GetRow()
  121. IF ll_row <= 0 THEN RETURN
  122. Columns = Long(dw_1.Describe("DataWindow.Column.Count"))
  123. FOR i = 1 TO Columns
  124. ls_modify_str = dw_1.Describe("#" + String(i) + ".name")
  125. ls_modify_str = Lower(ls_modify_str)
  126. IF i = 1 THEN //第1个字段,约定物料ID
  127. ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  128. IF ls_data_type = "long" THEN
  129. ll_value = dw_1.GetItemNumber(ll_row,ls_modify_str)
  130. END IF
  131. END IF
  132. IF Pos(ls_modify_str,'statusflag') > 0 THEN
  133. ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  134. IF ls_data_type = "long" THEN
  135. ll_statusflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
  136. END IF
  137. END IF
  138. IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN
  139. ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  140. IF ls_data_type = "long" THEN
  141. ll_woodcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
  142. END IF
  143. END IF
  144. IF Pos(ls_modify_str,'pcodeflag') > 0 THEN
  145. ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  146. IF ls_data_type = "long" THEN
  147. ll_pcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
  148. END IF
  149. END IF
  150. IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN
  151. IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN
  152. IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR &
  153. Pos(ls_modify_str,'u_buytask_status') > 0 OR &
  154. Pos(ls_modify_str,'u_order_ml_status') > 0 OR &
  155. Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR &
  156. Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN
  157. ls_status = ls_modify_str
  158. END IF
  159. END IF
  160. END IF
  161. IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN
  162. IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN
  163. ls_woodcode = ls_modify_str
  164. END IF
  165. END IF
  166. IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN
  167. IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN
  168. ls_pcode = ls_modify_str
  169. END IF
  170. END IF
  171. NEXT
  172. IF ls_status <> '' THEN
  173. IF ll_statusflag <> 0 OR ll_value = 0 THEN
  174. dw_1.Modify(ls_status+".dddw.allowedit = no")
  175. ELSE
  176. dw_1.Modify(ls_status+".dddw.allowedit = yes")
  177. END IF
  178. END IF
  179. IF ls_woodcode <> '' THEN
  180. IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN
  181. dw_1.Modify(ls_woodcode+".dddw.allowedit = no")
  182. ELSE
  183. dw_1.Modify(ls_woodcode+".dddw.allowedit = yes")
  184. END IF
  185. END IF
  186. IF ls_pcode <> '' THEN
  187. IF ll_pcodeflag <> 0 OR ll_value = 0 THEN
  188. dw_1.Modify(ls_pcode+".dddw.allowedit = no")
  189. ELSE
  190. dw_1.Modify(ls_pcode+".dddw.allowedit = yes")
  191. END IF
  192. END IF
  193. end event
  194. event open;
  195. wf_movetocenter()
  196. dw_1.SetTransObject(sqlca)
  197. dw_2.SetTransObject(sqlca)
  198. s_mrp = Message.PowerObjectParm
  199. Int li_if_allowuse,li_if_date
  200. string ls_arr[]
  201. li_if_allowuse = s_mrp.if_allowuse
  202. li_if_date = s_mrp.if_date
  203. st_dscrp.Text = '销售订单明细备注:'+s_mrp.dscrp
  204. i_taskid = s_mrp.taskid
  205. i_scid = s_mrp.scid
  206. i_printid = s_mrp.printid
  207. dw_1.Retrieve(i_scid,i_taskid,i_printid)
  208. ls_arr[1] = string(i_scid) + '_' + string(i_taskid) + '_' + string(i_printid)
  209. dw_2.Retrieve(ls_arr)
  210. end event
  211. event resize;ln_bar.EndX = THIS.Width
  212. ln_bar2.EndX = THIS.Width
  213. r_bar.Width = THIS.Width
  214. ln_1.EndX = THIS.Width
  215. ln_2.EndX = THIS.Width
  216. ln_3.EndX = THIS.Width
  217. ln_4.EndX = THIS.Width
  218. dw_2.Width = THIS.Width - dw_2.X - 40
  219. dw_1.Y = dw_2.Y + dw_2.height + 5
  220. dw_1.Width = THIS.Width - dw_1.X - 40
  221. dw_1.Height = THIS.Height - dw_1.Y - 150
  222. st_dscrp.Width = THIS.Width - st_dscrp.X - 40
  223. end event
  224. on w_order_ml_mod_tree.create
  225. int iCurrent
  226. call super::create
  227. this.st_dscrp=create st_dscrp
  228. this.dw_2=create dw_2
  229. this.cb_save=create cb_save
  230. this.cb_cancel_scll=create cb_cancel_scll
  231. this.cb_add=create cb_add
  232. this.cb_del=create cb_del
  233. this.cb_func2=create cb_func2
  234. this.cb_3=create cb_3
  235. iCurrent=UpperBound(this.Control)
  236. this.Control[iCurrent+1]=this.st_dscrp
  237. this.Control[iCurrent+2]=this.dw_2
  238. this.Control[iCurrent+3]=this.cb_save
  239. this.Control[iCurrent+4]=this.cb_cancel_scll
  240. this.Control[iCurrent+5]=this.cb_add
  241. this.Control[iCurrent+6]=this.cb_del
  242. this.Control[iCurrent+7]=this.cb_func2
  243. this.Control[iCurrent+8]=this.cb_3
  244. end on
  245. on w_order_ml_mod_tree.destroy
  246. call super::destroy
  247. destroy(this.st_dscrp)
  248. destroy(this.dw_2)
  249. destroy(this.cb_save)
  250. destroy(this.cb_cancel_scll)
  251. destroy(this.cb_add)
  252. destroy(this.cb_del)
  253. destroy(this.cb_func2)
  254. destroy(this.cb_3)
  255. end on
  256. event ue_before_open;//
  257. end event
  258. type cb_func from w_publ_easyq`cb_func within w_order_ml_mod_tree
  259. integer x = 1454
  260. end type
  261. type cb_exit from w_publ_easyq`cb_exit within w_order_ml_mod_tree
  262. integer x = 2418
  263. end type
  264. type cb_2 from w_publ_easyq`cb_2 within w_order_ml_mod_tree
  265. integer x = 2117
  266. end type
  267. event cb_2::clicked;
  268. IF NOT f_power_ind(1504) THEN //主计划窗口设置
  269. MessageBox(publ_operator,'你没有使用权限!')
  270. RETURN
  271. END IF
  272. IF DW_1.RowCount() >= 1 THEN
  273. cbx_YL.Checked = TRUE
  274. cbx_YL.TriggerEvent(Clicked!)
  275. OpenWithParm(w_sys_printpagesetting,DW_1)
  276. ELSE
  277. MessageBox('NO','数据窗口中没有任何记录,不能打印!')
  278. END IF
  279. IF Trim(DW_1.DataObject) = '' THEN RETURN
  280. f_SetProfileString (sys_empid,DW_1.DataObject, "MARGIN_TOP", String(DW_1.Object.DataWindow.Print.MARGIN.Top))
  281. f_SetProfileString (sys_empid,DW_1.DataObject, "MARGIN_LEFT", String(DW_1.Object.DataWindow.Print.MARGIN.Left))
  282. f_SetProfileString (sys_empid,DW_1.DataObject, "MARGIN_BOTTOM", String(DW_1.Object.DataWindow.Print.MARGIN.BOTTOM))
  283. f_SetProfileString (sys_empid,DW_1.DataObject, "MARGIN_RIGHT", String(DW_1.Object.DataWindow.Print.MARGIN.Right))
  284. end event
  285. type cb_psetup from w_publ_easyq`cb_psetup within w_order_ml_mod_tree
  286. integer x = 1861
  287. end type
  288. type cb_1 from w_publ_easyq`cb_1 within w_order_ml_mod_tree
  289. boolean visible = false
  290. end type
  291. type st_3 from w_publ_easyq`st_3 within w_order_ml_mod_tree
  292. boolean visible = false
  293. end type
  294. type st_4 from w_publ_easyq`st_4 within w_order_ml_mod_tree
  295. boolean visible = false
  296. end type
  297. type em_1 from w_publ_easyq`em_1 within w_order_ml_mod_tree
  298. boolean visible = false
  299. end type
  300. type em_2 from w_publ_easyq`em_2 within w_order_ml_mod_tree
  301. boolean visible = false
  302. end type
  303. type ddlb_yl from w_publ_easyq`ddlb_yl within w_order_ml_mod_tree
  304. integer x = 2939
  305. end type
  306. type cbx_yl from w_publ_easyq`cbx_yl within w_order_ml_mod_tree
  307. integer x = 2720
  308. end type
  309. type dw_1 from w_publ_easyq`dw_1 within w_order_ml_mod_tree
  310. event ue_dwndropdown pbm_dwndropdown
  311. integer y = 652
  312. integer height = 1580
  313. string dataobject = "dw_order_ml_mod_tree"
  314. end type
  315. event dw_1::ue_dwndropdown;//IF NOT dw_edit_mode THEN RETURN
  316. String ls_col_pz,ls_col_mtrlid
  317. String ls_pz_ch
  318. String ls_col_value
  319. String ls_data_type
  320. Long ll_row,ll_mtrlid
  321. s_pzwin_open arg_s_win
  322. ll_row = THIS.GetRow()
  323. IF ll_row > 0 THEN
  324. ls_col_mtrlid = THIS.Describe("#1.Name")
  325. IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
  326. ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid)
  327. ls_col_pz = THIS.GetColumnName( )
  328. ls_data_type = this.Describe(ls_col_pz+".ColType")
  329. IF Pos(Lower(ls_data_type),"char") > 0 THEN
  330. ls_col_value = THIS.GetItemString(ll_row,ls_col_pz)
  331. END IF
  332. arg_s_win.arg_x = THIS.X + THIS.PointerX() + PARENT.X
  333. arg_s_win.arg_y = THIS.Y + THIS.PointerY() + PARENT.Y
  334. arg_s_win.arg_col = ls_col_pz
  335. arg_s_win.arg_mtrlid = ll_mtrlid
  336. arg_s_win.arg_col_value = ls_col_value
  337. ls_pz_ch = f_mtrl_pz(arg_s_win)
  338. IF ls_pz_ch = '' THEN RETURN
  339. THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch)
  340. END IF
  341. end event
  342. event dw_1::clicked;call super::clicked;THIS.AcceptText()
  343. IF NOT if_cmpl and row <> ll_unlock_row THEN
  344. MessageBox('提示','系统处理解锁状态,请先计算')
  345. THIS.SelectRow(0,FALSE)
  346. THIS.SetRow(ll_unlock_row)
  347. THIS.SelectRow(ll_unlock_row,TRUE)
  348. RETURN
  349. END IF
  350. IF row > 0 THEN
  351. THIS.SelectRow(0,FALSE)
  352. THIS.SetRow(row)
  353. THIS.SelectRow(row,TRUE)
  354. END IF
  355. end event
  356. event dw_1::itemchanged;call super::itemchanged;THIS.AcceptText()
  357. CHOOSE CASE dwo.Name
  358. CASE 'u_ordermtrl_plantype'
  359. IF THIS.Object.u_ordermtrl_tree_plantype[row] = 2 THEN
  360. THIS.Object.u_ordermtrl_tree_produce_wrkgrpid[row] = 0
  361. END IF
  362. CASE 'u_ordermtrl_scid'
  363. Long ll_produce_wrkgrpid,ll_scid_wrkgrpid,ll_produce_scid
  364. ll_produce_wrkgrpid = THIS.Object.u_ordermtrl_tree_produce_wrkgrpid[row]
  365. ll_produce_scid = THIS.Object.u_ordermtrl_tree_produce_scid[row]
  366. SELECT scid INTO :ll_scid_wrkgrpid
  367. FROM u_sc_wkp
  368. Where wrkgrpid = :ll_produce_wrkgrpid;
  369. IF sqlca.SQLCode <> 0 THEN ll_scid_wrkgrpid = 0
  370. IF ll_scid_wrkgrpid <> ll_produce_scid THEN
  371. THIS.Object.u_ordermtrl_tree_produce_wrkgrpid[row] = 0
  372. END IF
  373. CASE 'u_orderrqmtrl_tree_truerqqty'
  374. This.Object.u_orderrqmtrl_tree_rqqty[row] = this.Object.u_orderrqmtrl_tree_truerqqty[row]
  375. END CHOOSE
  376. end event
  377. event dw_1::rbuttondown;call super::rbuttondown;Long ll_row,ll_column
  378. ll_row = THIS.GetRow()
  379. ll_column = THIS.GetColumn()
  380. IF ll_row <= 0 THEN RETURN
  381. IF ll_column <= 0 THEN RETURN
  382. IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
  383. s_calender_arg s_calender
  384. s_calender.PointerX = xpos
  385. s_calender.PointerY = ypos
  386. s_calender.X = THIS.X + PARENT.X
  387. s_calender.Y = THIS.Y + PARENT.Y
  388. OpenWithParm(w_calendar,s_calender)
  389. THIS.SetItem(ll_row,ll_column,id_date_selected)
  390. END IF
  391. end event
  392. event dw_1::rowfocuschanged;call super::rowfocuschanged;THIS.AcceptText()
  393. IF NOT if_cmpl AND currentrow <> ll_unlock_row THEN
  394. MessageBox('提示','系统处理解锁状态,请先计算')
  395. THIS.SelectRow(0,FALSE)
  396. THIS.SetRow(ll_unlock_row)
  397. THIS.SelectRow(ll_unlock_row,TRUE)
  398. RETURN
  399. END IF
  400. IF currentrow > 0 THEN
  401. THIS.SelectRow(0,FALSE)
  402. THIS.SetRow(currentrow)
  403. THIS.SelectRow(currentrow,TRUE)
  404. parent.triggerevent('ue_allowedit')
  405. END IF
  406. end event
  407. type sle_mtrl from w_publ_easyq`sle_mtrl within w_order_ml_mod_tree
  408. end type
  409. type sle_cust from w_publ_easyq`sle_cust within w_order_ml_mod_tree
  410. end type
  411. type st_mtrl from w_publ_easyq`st_mtrl within w_order_ml_mod_tree
  412. end type
  413. type st_cust from w_publ_easyq`st_cust within w_order_ml_mod_tree
  414. end type
  415. type cbx_loginretr from w_publ_easyq`cbx_loginretr within w_order_ml_mod_tree
  416. end type
  417. type pb_em1 from w_publ_easyq`pb_em1 within w_order_ml_mod_tree
  418. boolean visible = false
  419. end type
  420. type pb_em2 from w_publ_easyq`pb_em2 within w_order_ml_mod_tree
  421. boolean visible = false
  422. end type
  423. type pb_2 from w_publ_easyq`pb_2 within w_order_ml_mod_tree
  424. boolean visible = false
  425. end type
  426. type cb_help from w_publ_easyq`cb_help within w_order_ml_mod_tree
  427. integer x = 2267
  428. end type
  429. type cb_copyself from w_publ_easyq`cb_copyself within w_order_ml_mod_tree
  430. integer x = 1605
  431. end type
  432. type gb_1 from w_publ_easyq`gb_1 within w_order_ml_mod_tree
  433. end type
  434. type ln_bar from w_publ_easyq`ln_bar within w_order_ml_mod_tree
  435. end type
  436. type ln_bar2 from w_publ_easyq`ln_bar2 within w_order_ml_mod_tree
  437. end type
  438. type r_bar from w_publ_easyq`r_bar within w_order_ml_mod_tree
  439. integer x = 2405
  440. end type
  441. type ln_1 from w_publ_easyq`ln_1 within w_order_ml_mod_tree
  442. integer beginy = 280
  443. integer endy = 280
  444. end type
  445. type ln_2 from w_publ_easyq`ln_2 within w_order_ml_mod_tree
  446. integer beginy = 284
  447. integer endy = 284
  448. end type
  449. type ln_3 from w_publ_easyq`ln_3 within w_order_ml_mod_tree
  450. end type
  451. type ln_4 from w_publ_easyq`ln_4 within w_order_ml_mod_tree
  452. end type
  453. type st_dscrp from statictext within w_order_ml_mod_tree
  454. integer x = 23
  455. integer y = 200
  456. integer width = 3543
  457. integer height = 56
  458. boolean bringtotop = true
  459. integer textsize = -9
  460. integer weight = 700
  461. fontcharset fontcharset = gb2312charset!
  462. fontpitch fontpitch = variable!
  463. string facename = "宋体"
  464. long textcolor = 16711680
  465. long backcolor = 134217739
  466. string text = "销售订单备注:"
  467. boolean focusrectangle = false
  468. end type
  469. type dw_2 from u_dw_rbtnfilter within w_order_ml_mod_tree
  470. integer y = 296
  471. integer width = 3543
  472. integer height = 344
  473. integer taborder = 50
  474. boolean bringtotop = true
  475. string dataobject = "dw_order_ml_mod_taskmx_bat"
  476. boolean hscrollbar = true
  477. boolean vscrollbar = true
  478. boolean resizable = true
  479. boolean hsplitscroll = true
  480. boolean rbutton_filter_use = true
  481. boolean rbutton_setposition_use = true
  482. boolean titleclick_sort_use = true
  483. end type
  484. event resize;call super::resize;parent.triggerevent("resize")
  485. end event
  486. type cb_save from uo_imflatbutton within w_order_ml_mod_tree
  487. integer width = 165
  488. integer height = 164
  489. integer taborder = 10
  490. boolean bringtotop = true
  491. string text = "保存"
  492. string normalpicname = "save.bmp"
  493. integer picsize = 16
  494. toolbaralignment pic_align = alignattop!
  495. boolean border = false
  496. end type
  497. event clicked;call super::clicked;Long ll_i,ch,ch_tree,ch_scll
  498. String arg_msg
  499. s_order_ml_rqmtrl s_mtrl,s_mtrl_tree,s_mtrl_scll
  500. dw_1.AcceptText()
  501. IF dw_1.RowCount() <= 0 THEN
  502. MessageBox('提示','没有可保存的数据')
  503. RETURN
  504. END IF
  505. FOR ll_i = 1 TO dw_1.RowCount()
  506. IF dw_1.Object.u_orderrqmtrl_tree_ifmainmtrlid[ll_i] = 1 THEN CONTINUE;
  507. if dw_1.Object.u_orderrqmtrl_tree_wrkgrpid[ll_i] = 0 then
  508. MessageBox('提示', '第'+string(ll_i)+'行,请选择领用工组')
  509. return
  510. end if
  511. IF dw_1.Object.dstrqty[ll_i] = 0 AND dw_1.Object.consignedqty[ll_i] = 0 THEN
  512. ch_tree++
  513. s_mtrl_tree.taskid[ch_tree] = i_taskid
  514. s_mtrl_tree.printid[ch_tree] = i_printid
  515. s_mtrl_tree.scid[ch_tree] = i_scid
  516. s_mtrl_tree.mtrlid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_i]
  517. s_mtrl_tree.ifmainmtrlid[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_ifmainmtrlid[ll_i]
  518. s_mtrl_tree.plantype[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_i]
  519. s_mtrl_tree.qty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_i]
  520. s_mtrl_tree.cmplqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_i]
  521. s_mtrl_tree.mqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_mqty[ll_i]
  522. s_mtrl_tree.bqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_bqty[ll_i]
  523. s_mtrl_tree.wqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_wqty[ll_i]
  524. s_mtrl_tree.pqty[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_pqty[ll_i]
  525. s_mtrl_tree.produce_scid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_produce_scid[ll_i]
  526. s_mtrl_tree.produce_wrkgrpid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_produce_wrkgrpid[ll_i]
  527. s_mtrl_tree.wrkgrpid_scll[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_i]
  528. s_mtrl_tree.lp[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_lp[ll_i]
  529. s_mtrl_tree.status[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_status[ll_i]
  530. s_mtrl_tree.woodcode[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_i]
  531. s_mtrl_tree.pcode[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_i]
  532. s_mtrl_tree.pmtrlid[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_i]
  533. s_mtrl_tree.ifchanged[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_ifchanged[ll_i]
  534. s_mtrl_tree.pfgroup[ch_tree] = dw_1.Object.u_OrderRqMtrl_tree_pfgroup[ll_i]
  535. s_mtrl_tree.plancode[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_plancode[ll_i]
  536. s_mtrl_tree.mxdscrp[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_mxdscrp[ll_i]
  537. s_mtrl_tree.promode[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_promode[ll_i]
  538. s_mtrl_tree.pfgroupmode[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_pfgroupmode[ll_i]
  539. s_mtrl_tree.pfklmode[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_pfklmode[ll_i]
  540. s_mtrl_tree.pfgroupqty[ch_tree] = dw_1.Object.u_orderrqmtrl_tree_pfgroupqty[ll_i]
  541. END IF
  542. IF dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_i] > 0 AND dw_1.Object.consignedqty[ll_i] = 0 THEN
  543. ch++
  544. s_mtrl.taskid[ch] = i_taskid
  545. s_mtrl.printid[ch] = i_printid
  546. s_mtrl.scid[ch] = i_scid
  547. s_mtrl.mtrlid[ch] = dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_i]
  548. s_mtrl.ifmainmtrlid[ch] = dw_1.Object.u_orderrqmtrl_tree_ifmainmtrlid[ll_i]
  549. s_mtrl.plantype[ch] = dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_i]
  550. s_mtrl.qty[ch] = dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_i]
  551. s_mtrl.cmplqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_i]
  552. s_mtrl.mqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_mqty[ll_i]
  553. s_mtrl.bqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_bqty[ll_i]
  554. s_mtrl.wqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_wqty[ll_i]
  555. s_mtrl.pqty[ch] = dw_1.Object.u_OrderRqMtrl_tree_pqty[ll_i]
  556. s_mtrl.produce_scid[ch] = dw_1.Object.u_OrderRqMtrl_tree_produce_scid[ll_i]
  557. s_mtrl.produce_wrkgrpid[ch] = dw_1.Object.u_OrderRqMtrl_tree_produce_wrkgrpid[ll_i]
  558. s_mtrl.wrkgrpid_scll[ch] = dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_i]
  559. s_mtrl.lp[ch] = dw_1.Object.u_OrderRqMtrl_tree_lp[ll_i]
  560. s_mtrl.status[ch] = dw_1.Object.u_OrderRqMtrl_tree_status[ll_i]
  561. s_mtrl.woodcode[ch] = dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_i]
  562. s_mtrl.pcode[ch] = dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_i]
  563. s_mtrl.pmtrlid[ch] = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_i]
  564. s_mtrl.ifchanged[ch] = dw_1.Object.u_OrderRqMtrl_tree_ifchanged[ll_i]
  565. s_mtrl.plancode[ch] = dw_1.Object.u_orderrqmtrl_tree_plancode[ll_i]
  566. s_mtrl.mxdscrp[ch] = dw_1.Object.u_orderrqmtrl_tree_mxdscrp[ll_i]
  567. s_mtrl.promode[ch] = dw_1.Object.u_orderrqmtrl_tree_promode[ll_i]
  568. s_mtrl.pfgroupmode[ch] = dw_1.Object.u_orderrqmtrl_tree_pfgroupmode[ll_i]
  569. s_mtrl.pfklmode[ch] = dw_1.Object.u_orderrqmtrl_tree_pfklmode[ll_i]
  570. s_mtrl.pfgroupqty[ch] = dw_1.Object.u_orderrqmtrl_tree_pfgroupqty[ll_i]
  571. END IF
  572. IF dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_i] > 0 AND dw_1.Object.dstrqty[ll_i] = 0 THEN
  573. ch_scll++
  574. s_mtrl_scll.taskid[ch_scll] = i_taskid
  575. s_mtrl_scll.printid[ch_scll] = i_printid
  576. s_mtrl_scll.scid[ch_scll] = i_scid
  577. s_mtrl_scll.mtrlid[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_mtrlid[ll_i]
  578. s_mtrl_scll.ifmainmtrlid[ch_scll] = dw_1.Object.u_orderrqmtrl_tree_ifmainmtrlid[ll_i]
  579. s_mtrl_scll.plantype[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_plantype[ll_i]
  580. s_mtrl_scll.qty[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_rqqty[ll_i]
  581. s_mtrl_scll.cmplqty[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_truerqqty[ll_i]
  582. s_mtrl_scll.mqty[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_mqty[ll_i]
  583. s_mtrl_scll.bqty[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_bqty[ll_i]
  584. s_mtrl_scll.wqty[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_wqty[ll_i]
  585. s_mtrl_scll.pqty[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_pqty[ll_i]
  586. s_mtrl_scll.produce_scid[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_produce_scid[ll_i]
  587. s_mtrl_scll.produce_wrkgrpid[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_produce_wrkgrpid[ll_i]
  588. s_mtrl_scll.wrkgrpid_scll[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_wrkgrpid[ll_i]
  589. s_mtrl_scll.lp[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_lp[ll_i]
  590. s_mtrl_scll.status[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_status[ll_i]
  591. s_mtrl_scll.woodcode[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_woodcode[ll_i]
  592. s_mtrl_scll.pcode[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_pcode[ll_i]
  593. s_mtrl_scll.pmtrlid[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_pmtrlid[ll_i]
  594. s_mtrl_scll.ifchanged[ch_scll] = dw_1.Object.u_OrderRqMtrl_tree_ifchanged[ll_i]
  595. s_mtrl_scll.plancode[ch_scll] = dw_1.Object.u_orderrqmtrl_tree_plancode[ll_i]
  596. s_mtrl_scll.mxdscrp[ch_scll] = dw_1.Object.u_orderrqmtrl_tree_mxdscrp[ll_i]
  597. s_mtrl_scll.promode[ch_scll] = dw_1.Object.u_orderrqmtrl_tree_promode[ll_i]
  598. s_mtrl_scll.pfgroupmode[ch_scll] = dw_1.Object.u_orderrqmtrl_tree_pfgroupmode[ll_i]
  599. s_mtrl_scll.pfklmode[ch_scll] = dw_1.Object.u_orderrqmtrl_tree_pfklmode[ll_i]
  600. s_mtrl_scll.pfgroupqty[ch_scll] = dw_1.Object.u_orderrqmtrl_tree_pfgroupqty[ll_i]
  601. END IF
  602. NEXT
  603. uo_order_ml_mrp uo_ml_mrp
  604. uo_ml_mrp = CREATE uo_order_ml_mrp
  605. IF uo_ml_mrp.uof_add_rqmtrl_other(s_mtrl,FALSE,arg_msg) = 0 THEN
  606. MessageBox('提示','保存物料需求表失败,'+arg_msg)
  607. RETURN
  608. END IF
  609. IF uo_ml_mrp.uof_add_rqmtrl_tree_other(s_mtrl_tree,FALSE,arg_msg) = 0 THEN
  610. MessageBox('提示','保存物料需求结构表失败,'+arg_msg)
  611. RETURN
  612. END IF
  613. IF uo_ml_mrp.uof_add_rqmtrl_scll_other(s_mtrl_scll,TRUE,arg_msg) = 0 THEN
  614. MessageBox('提示','保存用料明细表失败,'+arg_msg)
  615. RETURN
  616. END IF
  617. DESTROY uo_ml_mrp
  618. MessageBox('提示','保存成功')
  619. Close(PARENT)
  620. end event
  621. type cb_cancel_scll from uo_imflatbutton within w_order_ml_mod_tree
  622. integer x = 165
  623. integer width = 256
  624. integer height = 164
  625. integer taborder = 50
  626. boolean bringtotop = true
  627. string text = "取消领料"
  628. string normalpicname = "mx.BMP"
  629. integer picsize = 16
  630. toolbaralignment pic_align = alignattop!
  631. boolean border = false
  632. end type
  633. event clicked;call super::clicked;Long ll_row
  634. dw_1.AcceptText()
  635. ll_row = dw_1.GetRow()
  636. IF ll_row <= 0 THEN
  637. MessageBox('提示','请选择目标物料')
  638. RETURN
  639. END IF
  640. IF dw_1.Object.u_OrderRqMtrl_tree_ifmainmtrlid[ll_row] = 1 THEN
  641. MessageBox('提示','生产计划物料不能操作')
  642. RETURN
  643. END IF
  644. IF dw_1.Object.u_orderrqmtrl_tree_truerqqty[ll_row] <> 0 THEN
  645. MessageBox('提示','物料有需求数,不能取消领料')
  646. RETURN
  647. END IF
  648. IF dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_row] = 0 THEN
  649. MessageBox('提示','物料没有领料数,不能取消领料')
  650. RETURN
  651. END IF
  652. dw_1.Object.u_orderrqmtrl_tree_rqqty[ll_row] = 0
  653. dw_1.Object.u_orderrqmtrl_tree_ifchanged[ll_row] = 1
  654. end event
  655. type cb_add from uo_imflatbutton within w_order_ml_mod_tree
  656. integer x = 421
  657. integer width = 256
  658. integer height = 164
  659. integer taborder = 60
  660. boolean bringtotop = true
  661. string text = "增加物料"
  662. string normalpicname = "new.bmp"
  663. integer picsize = 16
  664. toolbaralignment pic_align = alignattop!
  665. boolean border = false
  666. end type
  667. event clicked;call super::clicked;Open(w_order_ml_mod_tree_mtrl)
  668. s_mtrldef_array s_inscust
  669. s_inscust = Message.PowerObjectParm
  670. uo_order_ml_mrp uo_ml_mrp
  671. uo_ml_mrp = CREATE uo_order_ml_mrp
  672. String arg_msg
  673. Long child_row,ls_j
  674. child_row = dw_1.GetRow()
  675. FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
  676. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  677. IF dw_1.GetRow() > 0 THEN
  678. IF dw_1.Object.u_orderrqmtrl_tree_mtrlid[child_row] <> 0 THEN
  679. child_row = dw_1.InsertRow (0)
  680. ELSE
  681. child_row = dw_1.GetRow()
  682. END IF
  683. ELSE
  684. child_row = dw_1.InsertRow (0)
  685. END IF
  686. dw_1.Object.u_orderrqmtrl_tree_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  687. dw_1.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  688. dw_1.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  689. dw_1.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  690. dw_1.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  691. dw_1.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
  692. dw_1.Object.u_mtrldef_mtrlprp[child_row] = s_inscust.mtrlprp[ls_j]
  693. dw_1.Object.u_orderrqmtrl_tree_plantype[child_row] = 0
  694. dw_1.Object.u_mtrldef_mtrlorigin[child_row] = s_inscust.mtrlorigin[ls_j]
  695. dw_1.Object.u_orderrqmtrl_tree_plantype[child_row] = s_inscust.mtrlorigin[ls_j]
  696. dw_1.Object.u_OrderRqMtrl_tree_status[child_row] = s_inscust.status[ls_j]
  697. dw_1.Object.u_OrderRqMtrl_tree_woodcode[child_row] = s_inscust.woodcode[ls_j]
  698. dw_1.Object.u_OrderRqMtrl_tree_pcode[child_row] = s_inscust.pcode[ls_j]
  699. dw_1.Object.u_orderrqmtrl_tree_lp[child_row] = 1
  700. dw_1.Object.dstrqty[child_row] = 0
  701. dw_1.Object.consignedqty [child_row] = 0
  702. dw_1.Object.u_orderrqmtrl_tree_pmtrlid[child_row] = dw_1.Object.u_orderrqmtrl_tree_pmtrlid[1]
  703. //查询可用数
  704. Decimal ld_bqty, ld_wqty, ld_mqty, ld_pqty, ld_otherrqqty
  705. IF uo_ml_mrp.uof_get_qty(1,i_scid,i_taskid,i_printid,s_inscust.mtrlid[ls_j],&
  706. s_inscust.status[ls_j],s_inscust.woodcode[ls_j],s_inscust.pcode[ls_j],ld_bqty,arg_msg) = 1 THEN
  707. dw_1.Object.u_orderrqmtrl_tree_bqty[child_row] = ld_bqty
  708. ELSE
  709. ld_bqty = 0
  710. END IF
  711. IF uo_ml_mrp.uof_get_qty(3,i_scid,i_taskid,i_printid,s_inscust.mtrlid[ls_j],&
  712. s_inscust.status[ls_j],s_inscust.woodcode[ls_j],s_inscust.pcode[ls_j],ld_wqty,arg_msg) = 1 THEN
  713. dw_1.Object.u_orderrqmtrl_tree_wqty[child_row] = ld_wqty
  714. ELSE
  715. ld_wqty = 0
  716. END IF
  717. IF uo_ml_mrp.uof_get_qty(4,i_scid,i_taskid,i_printid,s_inscust.mtrlid[ls_j],&
  718. s_inscust.status[ls_j],s_inscust.woodcode[ls_j],s_inscust.pcode[ls_j],ld_mqty,arg_msg) = 1 THEN
  719. dw_1.Object.u_orderrqmtrl_tree_mqty[child_row] = ld_mqty
  720. ELSE
  721. ld_mqty = 0
  722. END IF
  723. dw_1.Object.ckwareqty[child_row] = ld_mqty + ld_bqty + ld_wqty + ld_pqty - ld_otherrqqty
  724. END IF
  725. NEXT
  726. DESTROY uo_ml_mrp
  727. end event
  728. type cb_del from uo_imflatbutton within w_order_ml_mod_tree
  729. integer x = 942
  730. integer width = 256
  731. integer height = 164
  732. integer taborder = 70
  733. boolean bringtotop = true
  734. string text = "删除物料"
  735. string normalpicname = "delete.bmp"
  736. integer picsize = 16
  737. toolbaralignment pic_align = alignattop!
  738. boolean border = false
  739. end type
  740. event clicked;call super::clicked;Long ll_row
  741. dw_1.AcceptText()
  742. ll_row = dw_1.GetRow()
  743. IF ll_row <= 0 THEN
  744. MessageBox('提示','请选择目标物料')
  745. RETURN
  746. END IF
  747. IF dw_1.Object.dstrqty[ll_row] > 0 OR dw_1.Object.consignedqty[ll_row] > 0 THEN
  748. RETURN
  749. ELSE
  750. dw_1.SetRedraw (FALSE)
  751. dw_1.DeleteRow (0)
  752. dw_1.TriggerEvent (RowFocusChanged!)
  753. dw_1.SetRedraw (TRUE)
  754. END IF
  755. end event
  756. type cb_func2 from uo_imflatbutton within w_order_ml_mod_tree
  757. integer x = 1198
  758. integer width = 256
  759. integer height = 164
  760. integer taborder = 70
  761. boolean bringtotop = true
  762. string text = "明细功能"
  763. string normalpicname = "mx.bmp"
  764. integer picsize = 16
  765. toolbaralignment pic_align = alignattop!
  766. boolean border = false
  767. end type
  768. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  769. string menustr
  770. menustr="Text=批设置领用工组~tEvent=ue_p_set_wrkgrpid"
  771. menustr=menustr + "|" + "Text=批设置"+sys_option_change_status+"~tEvent=ue_p_set_status"
  772. menustr=menustr + "|" + "Text=批设置"+sys_option_change_woodcode+"~tEvent=ue_p_set_woodcode"
  773. menustr=menustr + "|" + "Text=批设置"+sys_option_change_pcode+"~tEvent=ue_p_set_pcode"
  774. if len(trim(menustr))<>0 then
  775. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  776. dmPopupMenu.mf_BuildMenu(This, menustr)
  777. dmPopupMenu.mf_PopMenu()
  778. Destroy dmPopupMenu
  779. end if
  780. end event
  781. type cb_3 from uo_imflatbutton within w_order_ml_mod_tree
  782. integer x = 677
  783. integer width = 265
  784. integer height = 164
  785. integer taborder = 70
  786. boolean bringtotop = true
  787. string text = "选择库存"
  788. string normalpicname = "new.bmp"
  789. integer picsize = 16
  790. toolbaralignment pic_align = alignattop!
  791. boolean border = false
  792. end type
  793. event clicked;call super::clicked;
  794. Long ls_j,child_row
  795. String arg_msg
  796. child_row = dw_1.GetRow()
  797. uo_order_ml_mrp uo_ml_mrp
  798. uo_ml_mrp = CREATE uo_order_ml_mrp
  799. s_edit_index_tran s_tranf8 //传递参数使用
  800. s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
  801. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  802. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  803. s_tranf8.b_long = - 1 //选择原料或产品
  804. s_tranf8.d_long = -1
  805. s_tranf8.c_long = -1
  806. OpenWithParm(w_mtrlware_storageid_ch,s_tranf8) //调用
  807. s_mtrlware_noalloc_array S_INSCUST
  808. S_INSCUST = Message.PowerObjectParm //接受返回结构
  809. FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid)
  810. IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN
  811. IF dw_1.GetRow() > 0 THEN
  812. IF dw_1.Object.u_orderrqmtrl_tree_mtrlid[child_row] <> 0 THEN
  813. child_row = dw_1.InsertRow (0)
  814. ELSE
  815. child_row = dw_1.GetRow()
  816. END IF
  817. ELSE
  818. child_row = dw_1.InsertRow (0)
  819. END IF
  820. dw_1.Object.u_orderrqmtrl_tree_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  821. dw_1.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.u_mtrldef_mtrlcode[ls_j]
  822. dw_1.Object.u_mtrldef_mtrlname[child_row] = s_inscust.u_mtrldef_mtrlname[ls_j]
  823. dw_1.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.u_mtrldef_mtrlmode[ls_j]
  824. dw_1.Object.u_mtrldef_unit[child_row] = s_inscust.u_mtrldef_unit[ls_j]
  825. dw_1.Object.u_mtrldef_mtrltype[child_row] = s_inscust.u_mtrldef_mtrltype[ls_j]
  826. dw_1.Object.u_mtrldef_mtrlprp[child_row] = s_inscust.u_mtrldef_mtrlprp[ls_j]
  827. dw_1.Object.u_orderrqmtrl_tree_plantype[child_row] = 0
  828. dw_1.Object.u_mtrldef_mtrlorigin[child_row] = s_inscust.u_mtrldef_mtrlorigin[ls_j]
  829. dw_1.Object.u_orderrqmtrl_tree_plantype[child_row] = s_inscust.u_mtrldef_mtrlorigin[ls_j]
  830. dw_1.Object.u_OrderRqMtrl_tree_status[child_row] = s_inscust.status[ls_j]
  831. dw_1.Object.u_OrderRqMtrl_tree_woodcode[child_row] = s_inscust.woodcode[ls_j]
  832. dw_1.Object.u_OrderRqMtrl_tree_pcode[child_row] = s_inscust.pcode[ls_j]
  833. dw_1.Object.u_orderrqmtrl_tree_lp[child_row] = 1
  834. dw_1.Object.dstrqty[child_row] = 0
  835. dw_1.Object.consignedqty [child_row] = 0
  836. dw_1.Object.u_orderrqmtrl_tree_pmtrlid[child_row] = dw_1.Object.u_orderrqmtrl_tree_pmtrlid[1]
  837. dw_1.Object.u_orderrqmtrl_tree_plancode[child_row] = s_inscust.plancode[ls_j]
  838. //查询可用数
  839. Decimal ld_bqty, ld_wqty, ld_mqty, ld_pqty, ld_otherrqqty
  840. IF uo_ml_mrp.uof_get_qty(1,i_scid,i_taskid,i_printid,s_inscust.mtrlid[ls_j],&
  841. s_inscust.status[ls_j],s_inscust.woodcode[ls_j],s_inscust.pcode[ls_j],ld_bqty,arg_msg) = 1 THEN
  842. dw_1.Object.u_orderrqmtrl_tree_bqty[child_row] = ld_bqty
  843. ELSE
  844. ld_bqty = 0
  845. END IF
  846. IF uo_ml_mrp.uof_get_qty(3,i_scid,i_taskid,i_printid,s_inscust.mtrlid[ls_j],&
  847. s_inscust.status[ls_j],s_inscust.woodcode[ls_j],s_inscust.pcode[ls_j],ld_wqty,arg_msg) = 1 THEN
  848. dw_1.Object.u_orderrqmtrl_tree_wqty[child_row] = ld_wqty
  849. ELSE
  850. ld_wqty = 0
  851. END IF
  852. dw_1.Object.u_orderrqmtrl_tree_mqty[child_row] = s_inscust.noallocqty[ls_j]
  853. // IF uo_ml_mrp.uof_get_qty(4,i_scid,i_taskid,i_printid,s_inscust.mtrlid[ls_j],&
  854. // s_inscust.status[ls_j],s_inscust.woodcode[ls_j],s_inscust.pcode[ls_j],ld_mqty,arg_msg) = 1 THEN
  855. // dw_1.Object.u_orderrqmtrl_tree_mqty[child_row] = ld_mqty
  856. // ELSE
  857. // ld_mqty = 0
  858. // END IF
  859. dw_1.Object.ckwareqty[child_row] = ld_mqty + ld_bqty + ld_wqty + ld_pqty - ld_otherrqqty
  860. END IF
  861. NEXT
  862. end event