w_inware_cp_autoscll.srw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. $PBExportHeader$w_inware_cp_autoscll.srw
  2. forward
  3. global type w_inware_cp_autoscll from w_publ_base
  4. end type
  5. type dw_1 from u_dw_rbtnfilter within w_inware_cp_autoscll
  6. end type
  7. type dw_2 from u_dw_rbtnfilter within w_inware_cp_autoscll
  8. end type
  9. type cb_scll from uo_imflatbutton within w_inware_cp_autoscll
  10. end type
  11. type cbx_all from checkbox within w_inware_cp_autoscll
  12. end type
  13. type st_1 from statictext within w_inware_cp_autoscll
  14. end type
  15. type ddlb_1 from dropdownlistbox within w_inware_cp_autoscll
  16. end type
  17. type cb_storage from uo_imflatbutton within w_inware_cp_autoscll
  18. end type
  19. type ln_bar from line within w_inware_cp_autoscll
  20. end type
  21. type ln_bar2 from line within w_inware_cp_autoscll
  22. end type
  23. type r_bar from rectangle within w_inware_cp_autoscll
  24. end type
  25. type ln_1 from line within w_inware_cp_autoscll
  26. end type
  27. type ln_2 from line within w_inware_cp_autoscll
  28. end type
  29. end forward
  30. global type w_inware_cp_autoscll from w_publ_base
  31. integer width = 3634
  32. integer height = 2304
  33. string title = "生产进仓单辅助领料"
  34. boolean minbox = false
  35. windowtype windowtype = response!
  36. windowstate windowstate = maximized!
  37. event retrieve_mx ( )
  38. dw_1 dw_1
  39. dw_2 dw_2
  40. cb_scll cb_scll
  41. cbx_all cbx_all
  42. st_1 st_1
  43. ddlb_1 ddlb_1
  44. cb_storage cb_storage
  45. ln_bar ln_bar
  46. ln_bar2 ln_bar2
  47. r_bar r_bar
  48. ln_1 ln_1
  49. ln_2 ln_2
  50. end type
  51. global w_inware_cp_autoscll w_inware_cp_autoscll
  52. type variables
  53. s_edit_index_tran s_tran
  54. long ins_mtrlid,ins_scid
  55. int ins_storagetype = 0 // 0 - 取较少 1 - 取较多
  56. decimal ins_cmpqty = 0
  57. decimal ins_qty = 0
  58. string ins_warecode = ''
  59. end variables
  60. forward prototypes
  61. public subroutine wf_cmp_enoughqty ()
  62. public subroutine wf_setdefault (long arg_ifstorage, long arg_ifwrkgrpid)
  63. end prototypes
  64. event retrieve_mx();Long ll_row
  65. Long ll_mtrlid
  66. String ls_status,ls_woodcode,ls_pcode
  67. ll_row = dw_1.GetRow()
  68. IF ll_row <= 0 THEN
  69. dw_2.Reset()
  70. ELSE
  71. ll_mtrlid = dw_1.Object.u_prdpf_sonmtrlid[ll_row]
  72. ls_status = dw_1.Object.u_prdpf_status[ll_row]
  73. dw_2.Retrieve(ll_mtrlid,ls_status,ins_scid)
  74. END IF
  75. end event
  76. public subroutine wf_cmp_enoughqty ();//Decimal ld_min_rate,ld_max_rate,ld_cmpqty
  77. ////计算参考可生产数
  78. //SELECT Min(Case (u_orderrqmtrl_scll.truerqqty - u_orderrqmtrl_scll.dstrqty) when 0 THEN 1 ELSE IsNull(uv_mtrlware.noallocqty, 0)/(u_orderrqmtrl_scll.truerqqty - u_orderrqmtrl_scll.dstrqty) END )
  79. //INTO :ld_min_rate
  80. //FROM u_orderrqmtrl_scll Left Outer JOIN
  81. //uv_mtrlware ON u_orderrqmtrl_scll.MtrlID = uv_mtrlware.MtrlID AND
  82. //u_orderrqmtrl_scll.status = uv_mtrlware.status AND
  83. //u_orderrqmtrl_scll.woodcode = uv_mtrlware.woodcode AND
  84. //u_orderrqmtrl_scll.pcode = uv_mtrlware.pcode AND
  85. //u_orderrqmtrl_scll.scid = uv_mtrlware.scid
  86. //Where u_orderrqmtrl_scll.orderid = :ins_orderid
  87. //AND u_orderrqmtrl_scll.scid = :ins_scid;
  88. //IF sqlca.SQLCode <> 0 THEN
  89. // ld_min_rate = 0
  90. //END IF
  91. //
  92. //IF ld_min_rate >= 1 THEN
  93. //
  94. // SELECT max(case u_orderrqmtrl_scll.truerqqty when 0 then 1 else (u_orderrqmtrl_scll.truerqqty - u_orderrqmtrl_scll.dstrqty) / u_orderrqmtrl_scll.truerqqty end )
  95. // INTO :ld_max_rate
  96. // FROM u_orderrqmtrl_scll
  97. // WHERE u_orderrqmtrl_scll.orderid = :ins_orderid
  98. // AND u_orderrqmtrl_scll.scid = :ins_scid;
  99. // IF sqlca.SQLCode <> 0 THEN
  100. // ld_max_rate = 1
  101. // END IF
  102. //
  103. // SELECT orderqty * :ld_max_rate
  104. // INTO :ld_cmpqty
  105. // FROM u_order_ml
  106. // WHERE orderid = :ins_orderid
  107. // AND scid = :ins_scid;
  108. // IF sqlca.SQLCode <> 0 THEN
  109. // ld_cmpqty = 0
  110. // END IF
  111. //
  112. //ELSE
  113. // SELECT orderqty * :ld_min_rate
  114. // INTO :ld_cmpqty
  115. // FROM u_order_ml
  116. // WHERE orderid = :ins_orderid
  117. // AND scid = :ins_scid;
  118. // IF sqlca.SQLCode <> 0 THEN
  119. // ld_cmpqty = 0
  120. // END IF
  121. //END IF
  122. //ins_cmpqty = ld_cmpqty
  123. ////em_qty.text = string(ld_cmpqty,'###0.'+Fill('#',f_sys_option_unit_dec()))
  124. ////st_msg.Text = '该指令参考可生产数:'+String(ld_cmpqty,'###0.'+Fill('#',f_sys_option_unit_dec()))
  125. //
  126. //
  127. //
  128. end subroutine
  129. public subroutine wf_setdefault (long arg_ifstorage, long arg_ifwrkgrpid);Int rslt = 1
  130. Long ll_i
  131. Long ll_mtrlid
  132. String ls_status,ls_woodcode,ls_pcode
  133. Long ll_storageid,ll_wrkgrpid,ll_workgroupid
  134. dw_1.AcceptText()
  135. FOR ll_i = 1 TO dw_1.RowCount()
  136. ll_mtrlid = dw_1.Object.u_PrdPF_SonMtrlid[ll_i]
  137. ls_status = dw_1.Object.u_PrdPF_status[ll_i]
  138. ls_woodcode = dw_1.Object.u_PrdPF_woodcode[ll_i]
  139. ls_pcode = dw_1.Object.u_PrdPF_pcode[ll_i]
  140. ll_wrkgrpid = dw_1.Object.workgroupid[ll_i]
  141. IF arg_ifstorage = 1 THEN
  142. IF ins_storagetype = 0 THEN
  143. SELECT top 1 u_mtrlware.storageid INTO :ll_storageid
  144. FROM u_mtrlware,u_storage
  145. WHERE u_mtrlware.mtrlid = :ll_mtrlid
  146. AND u_mtrlware.status = :ls_status
  147. AND u_mtrlware.woodcode = :ls_woodcode
  148. AND u_mtrlware.pcode = :ls_pcode
  149. AND u_mtrlware.storageid = u_storage.storageid
  150. AND u_mtrlware.noallocqty > 0
  151. Order By u_mtrlware.noallocqty;
  152. ELSE
  153. SELECT top 1 u_mtrlware.storageid INTO :ll_storageid
  154. FROM u_mtrlware,u_storage
  155. WHERE u_mtrlware.mtrlid = :ll_mtrlid
  156. AND u_mtrlware.status = :ls_status
  157. AND u_mtrlware.woodcode = :ls_woodcode
  158. AND u_mtrlware.pcode = :ls_pcode
  159. AND u_mtrlware.storageid = u_storage.storageid
  160. Order By u_mtrlware.noallocqty Desc;
  161. END IF
  162. IF sqlca.SQLCode <> 0 THEN
  163. ll_storageid = 0
  164. END IF
  165. dw_1.Object.storageid[ll_i] = ll_storageid
  166. END IF
  167. IF arg_ifwrkgrpid = 1 THEN
  168. SELECT top 1 u_workgroup.workgroupid
  169. INTO :ll_workgroupid
  170. FROM u_workgroup left OUTER join
  171. u_sc_workgroup on u_workgroup.wrkGrpid = u_sc_workgroup.wrkGrpid
  172. Where u_sc_workgroup.wrkGrpid = :ll_wrkgrpid;
  173. IF sqlca.SQLCode <> 0 THEN
  174. ll_workgroupid = 0
  175. END IF
  176. dw_1.Object.workgroupid[ll_i] = ll_workgroupid
  177. END IF
  178. NEXT
  179. dw_1.AcceptText()
  180. end subroutine
  181. event resize;call super::resize;ln_bar.EndX = THIS.Width
  182. ln_bar2.EndX = THIS.Width
  183. ln_1.EndX = THIS.Width
  184. ln_2.EndX = THIS.Width
  185. r_bar.Width = THIS.Width
  186. dw_1.Width = THIS.Width - dw_1.X - 40 - dw_2.width
  187. dw_1.Height = THIS.Height - dw_1.Y - 150
  188. dw_2.Height = dw_1.Height
  189. dw_2.x = dw_1.x + dw_1.Width + 5
  190. end event
  191. on w_inware_cp_autoscll.create
  192. int iCurrent
  193. call super::create
  194. this.dw_1=create dw_1
  195. this.dw_2=create dw_2
  196. this.cb_scll=create cb_scll
  197. this.cbx_all=create cbx_all
  198. this.st_1=create st_1
  199. this.ddlb_1=create ddlb_1
  200. this.cb_storage=create cb_storage
  201. this.ln_bar=create ln_bar
  202. this.ln_bar2=create ln_bar2
  203. this.r_bar=create r_bar
  204. this.ln_1=create ln_1
  205. this.ln_2=create ln_2
  206. iCurrent=UpperBound(this.Control)
  207. this.Control[iCurrent+1]=this.dw_1
  208. this.Control[iCurrent+2]=this.dw_2
  209. this.Control[iCurrent+3]=this.cb_scll
  210. this.Control[iCurrent+4]=this.cbx_all
  211. this.Control[iCurrent+5]=this.st_1
  212. this.Control[iCurrent+6]=this.ddlb_1
  213. this.Control[iCurrent+7]=this.cb_storage
  214. this.Control[iCurrent+8]=this.ln_bar
  215. this.Control[iCurrent+9]=this.ln_bar2
  216. this.Control[iCurrent+10]=this.r_bar
  217. this.Control[iCurrent+11]=this.ln_1
  218. this.Control[iCurrent+12]=this.ln_2
  219. end on
  220. on w_inware_cp_autoscll.destroy
  221. call super::destroy
  222. destroy(this.dw_1)
  223. destroy(this.dw_2)
  224. destroy(this.cb_scll)
  225. destroy(this.cbx_all)
  226. destroy(this.st_1)
  227. destroy(this.ddlb_1)
  228. destroy(this.cb_storage)
  229. destroy(this.ln_bar)
  230. destroy(this.ln_bar2)
  231. destroy(this.r_bar)
  232. destroy(this.ln_1)
  233. destroy(this.ln_2)
  234. end on
  235. event open;call super::open;dw_1.SetTransObject(sqlca)
  236. dw_2.SetTransObject(sqlca)
  237. s_tran = Message.PowerObjectParm
  238. ins_scid = s_tran.b_long
  239. ins_mtrlid = s_tran.c_long
  240. ins_qty = s_tran.b_decimal
  241. ins_warecode = s_tran.b_string
  242. //wf_cmp_enoughqty()
  243. //只显未自已管的仓库
  244. datawindowchild childdw
  245. dw_1.SetTransObject (sqlca)
  246. dw_1.GetChild("storageid",childdw)
  247. childdw.SetTransObject (sqlca)
  248. IF childdw.Retrieve(ins_scid) = 0 THEN
  249. childdw.InsertRow(0)
  250. END IF
  251. //
  252. dw_1.Retrieve(ins_mtrlid,ins_qty)
  253. //查询默认值,仓库,工作中心
  254. wf_setdefault(1,1) //参数1:是否查找仓库,参数2:是否查找工作中心
  255. end event
  256. type cb_func from w_publ_base`cb_func within w_inware_cp_autoscll
  257. boolean visible = false
  258. end type
  259. type cb_exit from w_publ_base`cb_exit within w_inware_cp_autoscll
  260. integer x = 585
  261. integer width = 151
  262. integer height = 164
  263. integer picsize = 16
  264. toolbaralignment pic_align = alignattop!
  265. boolean border = false
  266. end type
  267. type dw_1 from u_dw_rbtnfilter within w_inware_cp_autoscll
  268. integer y = 180
  269. integer width = 2405
  270. integer height = 2000
  271. integer taborder = 20
  272. boolean bringtotop = true
  273. string dataobject = "dw_inware_cp_autoscll_list"
  274. boolean hscrollbar = true
  275. boolean vscrollbar = true
  276. end type
  277. event rowfocuschanged;call super::rowfocuschanged;IF currentrow > 0 THEN
  278. THIS.SelectRow(0,FALSE)
  279. THIS.SelectRow(currentrow,TRUE)
  280. END IF
  281. parent.triggerevent('retrieve_mx')
  282. end event
  283. event clicked;call super::clicked;IF row > 0 THEN
  284. THIS.SelectRow(0,FALSE)
  285. THIS.SelectRow(row,TRUE)
  286. this.setrow(row)
  287. END IF
  288. end event
  289. type dw_2 from u_dw_rbtnfilter within w_inware_cp_autoscll
  290. integer x = 2414
  291. integer y = 180
  292. integer width = 1179
  293. integer height = 2000
  294. integer taborder = 20
  295. boolean bringtotop = true
  296. string dataobject = "dw_inware_cp_autoscll_mtrlware_mx\"
  297. boolean hscrollbar = true
  298. boolean vscrollbar = true
  299. end type
  300. event rowfocuschanged;call super::rowfocuschanged;IF currentrow > 0 THEN
  301. THIS.SelectRow(0,FALSE)
  302. THIS.SelectRow(currentrow,TRUE)
  303. END IF
  304. end event
  305. type cb_scll from uo_imflatbutton within w_inware_cp_autoscll
  306. integer width = 329
  307. integer height = 164
  308. integer taborder = 30
  309. boolean bringtotop = true
  310. string text = "生成领料单"
  311. string normalpicname = "ok.bmp"
  312. integer picsize = 16
  313. toolbaralignment pic_align = alignattop!
  314. boolean border = false
  315. end type
  316. event clicked;call super::clicked;//1.检查仓库,工作中心是否已填写
  317. //2.检查仓库是否有库存
  318. Long ll_i,ll_j
  319. Long cnt ,ll_cnt
  320. Long ll_mtrlid
  321. Long ll_storageid
  322. String ls_status,ls_woodcode,ls_pcode
  323. Decimal ld_emqty,ld_rate
  324. cnt = 0
  325. FOR ll_i = 1 TO dw_1.RowCount()
  326. IF dw_1.Object.ch[ll_i] = 1 THEN
  327. IF dw_1.Object.storageid[ll_i] = 0 OR &
  328. dw_1.Object.workgroupid[ll_i] = 0 THEN
  329. MessageBox('提示','第'+String(ll_i)+'行,仓库及工组信息不完整,请检查!',information!,ok!)
  330. RETURN
  331. END IF
  332. ll_storageid = dw_1.Object.storageid[ll_i]
  333. ll_mtrlid = dw_1.Object.u_PrdPF_sonmtrlid[ll_i]
  334. ls_status = dw_1.Object.u_PrdPF_status[ll_i]
  335. ls_woodcode = dw_1.Object.u_PrdPF_woodcode[ll_i]
  336. ls_pcode = dw_1.Object.u_PrdPF_pcode[ll_i]
  337. ll_cnt = 0
  338. SELECT count(*) INTO :ll_cnt
  339. FROM u_mtrlware
  340. WHERE storageid = :ll_storageid
  341. AND mtrlid = :ll_mtrlid
  342. AND status = :ls_status
  343. AND woodcode = :ls_woodcode
  344. AND pcode = :ls_pcode;
  345. IF sqlca.SQLCode <> 0 THEN
  346. MessageBox('错误','第'+String(ll_i)+'行,查询库存信息失败!',stopsign!,ok!)
  347. RETURN
  348. END IF
  349. IF ll_cnt = 0 THEN
  350. MessageBox('错误','第'+String(ll_i)+'行,相关用料在该仓库没有库存,请检查!',stopsign!,ok!)
  351. RETURN
  352. END IF
  353. cnt++
  354. END IF
  355. NEXT
  356. IF cnt = 0 THEN
  357. MessageBox('提示','请选择要领料的内容',information!,ok!)
  358. RETURN
  359. END IF
  360. //3.按仓库,工组将内容分组
  361. Long ll_storageid_arr[],ll_workgroupid_arr[]
  362. Long ll_arr
  363. ll_arr = 0
  364. FOR ll_i = 1 TO dw_1.RowCount()
  365. IF dw_1.Object.ch[ll_i] = 1 THEN
  366. FOR ll_j = 1 TO ll_arr
  367. IF dw_1.Object.storageid[ll_i] = ll_storageid_arr[ll_j] AND &
  368. dw_1.Object.workgroupid[ll_i] = ll_workgroupid_arr[ll_j] THEN
  369. GOTO next_
  370. END IF
  371. NEXT
  372. ll_arr++
  373. ll_storageid_arr[ll_arr] = dw_1.Object.storageid[ll_i]
  374. ll_workgroupid_arr[ll_arr] = dw_1.Object.workgroupid[ll_i]
  375. END IF
  376. next_:
  377. NEXT
  378. //4.建立领料单
  379. Long i,j
  380. Long ll_mtrlwareid
  381. Decimal ld_cost
  382. Long ll_printid
  383. Long ll_cp_mtrlid,ll_ifrel,ll_relid,ll_relprintid, ll_relid2
  384. String arg_msg
  385. uo_outware_scll uo_ware
  386. uo_ware = CREATE uo_outware_scll
  387. uo_ware.if_getid_ture = FALSE
  388. uo_ware.commit_transaction = sqlca
  389. FOR i = 1 TO ll_arr
  390. IF uo_ware.newbegin(ins_scid,3,arg_msg) = 0 THEN
  391. ROLLBACK;
  392. MessageBox('错误',arg_msg,stopsign!,ok!)
  393. RETURN
  394. END IF
  395. uo_ware.outdate = DateTime(Today(),Time(0))
  396. uo_ware.outrep = publ_operator
  397. uo_ware.part = ins_warecode
  398. uo_ware.dscrp = '生产进仓单:'+ins_warecode+' 辅助生成'
  399. uo_ware.cusname = ''
  400. uo_ware.storageid = ll_storageid_arr[i]
  401. uo_ware.relid = ll_workgroupid_arr[i]
  402. uo_ware.relint_1 = 0
  403. ll_printid = 0
  404. FOR j = 1 TO dw_1.RowCount()
  405. IF dw_1.Object.storageid[j] = ll_storageid_arr[i] AND &
  406. dw_1.Object.workgroupid[j] = ll_workgroupid_arr[i] AND &
  407. dw_1.Object.ch[j] = 1 THEN
  408. ll_printid++
  409. ll_mtrlid = dw_1.Object.u_PrdPF_SonMtrlid[j]
  410. ls_status = dw_1.Object.u_PrdPF_status[j]
  411. ls_woodcode = dw_1.Object.u_PrdPF_woodcode[j]
  412. ls_pcode = dw_1.Object.u_PrdPF_pcode[j]
  413. SELECT top 1 mtrlwareid,cost
  414. INTO :ll_mtrlwareid,:ld_cost
  415. FROM u_mtrlware
  416. WHERE storageid = :ll_storageid_arr[i]
  417. AND mtrlid = :ll_mtrlid
  418. AND status = :ls_status
  419. AND woodcode = :ls_woodcode
  420. AND pcode = :ls_pcode
  421. Order By noallocqty Desc;
  422. IF sqlca.SQLCode <> 0 THEN
  423. ROLLBACK;
  424. MessageBox('错误','查询库存信息失败,第'+String(j)+'行',stopsign!,ok!)
  425. RETURN
  426. END IF
  427. IF uo_ware.acceptmx(ll_mtrlwareid,&
  428. dw_1.Object.reqty[j],&
  429. dw_1.Object.addqty[j],&
  430. ld_cost,&
  431. 1,&
  432. '',&
  433. ll_printid,&
  434. arg_msg,&
  435. ll_ifrel,&
  436. ll_relid,&
  437. ll_relprintid,&
  438. ll_relid2,&
  439. ins_mtrlid,0,0,&
  440. dw_1.Object.u_mtrldef_unit[j],1,'','') = 0 THEN
  441. ROLLBACK;
  442. MessageBox('错误',arg_msg,stopsign!,ok!)
  443. RETURN
  444. END IF
  445. END IF
  446. NEXT
  447. IF uo_ware.Save(FALSE,arg_msg) = 0 THEN
  448. ROLLBACK;
  449. MessageBox('错误',arg_msg,stopsign!,ok!)
  450. RETURN
  451. END IF
  452. NEXT
  453. COMMIT;
  454. DESTROY uo_ware
  455. MessageBox('提示','生成领料单成功!',information!,ok!)
  456. Close(PARENT)
  457. end event
  458. type cbx_all from checkbox within w_inware_cp_autoscll
  459. integer x = 1189
  460. integer y = 80
  461. integer width = 261
  462. integer height = 60
  463. boolean bringtotop = true
  464. integer textsize = -9
  465. integer weight = 400
  466. fontcharset fontcharset = gb2312charset!
  467. fontpitch fontpitch = variable!
  468. string facename = "宋体"
  469. long textcolor = 33554432
  470. long backcolor = 67108864
  471. string text = "全选"
  472. boolean checked = true
  473. end type
  474. event constructor;this.backcolor = 14215660
  475. end event
  476. event clicked;Long ll_i
  477. dw_1.SetRedraw(FALSE)
  478. IF THIS.Checked THEN
  479. FOR ll_i = 1 TO dw_1.RowCount()
  480. dw_1.Object.ch[ll_i] = 1
  481. NEXT
  482. ELSE
  483. FOR ll_i = 1 TO dw_1.RowCount()
  484. dw_1.Object.ch[ll_i] = 0
  485. NEXT
  486. END IF
  487. dw_1.SetRedraw(TRUE)
  488. end event
  489. type st_1 from statictext within w_inware_cp_autoscll
  490. integer x = 1481
  491. integer y = 84
  492. integer width = 453
  493. integer height = 48
  494. boolean bringtotop = true
  495. integer textsize = -9
  496. integer weight = 400
  497. fontcharset fontcharset = gb2312charset!
  498. fontpitch fontpitch = variable!
  499. string facename = "宋体"
  500. long textcolor = 33554432
  501. long backcolor = 134217739
  502. string text = "仓库默认选择策略"
  503. boolean focusrectangle = false
  504. end type
  505. event constructor;this.backcolor = 14215660
  506. end event
  507. type ddlb_1 from dropdownlistbox within w_inware_cp_autoscll
  508. integer x = 1947
  509. integer y = 68
  510. integer width = 645
  511. integer height = 300
  512. integer taborder = 20
  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 textcolor = 33554432
  520. string text = "先取库存较少的仓库"
  521. boolean sorted = false
  522. boolean vscrollbar = true
  523. string item[] = {"先取库存较少的仓库","先取库存较多的仓库"}
  524. borderstyle borderstyle = stylelowered!
  525. end type
  526. event selectionchanged;IF THIS.Text = '先取库存较少的仓库' THEN
  527. ins_storagetype = 0
  528. ELSE
  529. ins_storagetype = 1
  530. END IF
  531. f_SetProfileString (sys_empid, "w_order_ml_zl_autoscll", "storagetype", String(ins_storagetype))
  532. end event
  533. event constructor;ins_storagetype = Long(f_ProfileString (sys_empid, "w_order_ml_zl_autoscll", "storagetype", "0"))
  534. IF ins_storagetype = 0 THEN
  535. ddlb_1.Text = '先取库存较少的仓库'
  536. ELSE
  537. ddlb_1.Text = '先取库存较多的仓库'
  538. END IF
  539. end event
  540. type cb_storage from uo_imflatbutton within w_inware_cp_autoscll
  541. integer x = 329
  542. integer width = 256
  543. integer height = 164
  544. integer taborder = 30
  545. boolean bringtotop = true
  546. string text = "查找仓库"
  547. string normalpicname = "FIND.BMP"
  548. integer picsize = 16
  549. toolbaralignment pic_align = alignattop!
  550. boolean border = false
  551. end type
  552. event clicked;call super::clicked;IF MessageBox('询问','是否确定要按['+ddlb_1.Text+']的规则查找仓库?',question!,yesno!) = 2 THEN RETURN
  553. wf_setdefault(1,0)
  554. end event
  555. type ln_bar from line within w_inware_cp_autoscll
  556. long linecolor = 268435456
  557. integer linethickness = 4
  558. integer beginy = 168
  559. integer endx = 2007
  560. integer endy = 168
  561. end type
  562. type ln_bar2 from line within w_inware_cp_autoscll
  563. long linecolor = 16777215
  564. integer linethickness = 4
  565. integer beginy = 172
  566. integer endx = 2039
  567. integer endy = 172
  568. end type
  569. type r_bar from rectangle within w_inware_cp_autoscll
  570. long linecolor = 16777215
  571. integer linethickness = 4
  572. long fillcolor = 1073741824
  573. integer x = 1531
  574. integer width = 146
  575. integer height = 68
  576. end type
  577. event constructor;this.fillcolor = 14215660
  578. this.linecolor = 14215660
  579. this.x = -1
  580. this.y = -1
  581. this.height = ln_bar.beginy - 5
  582. end event
  583. type ln_1 from line within w_inware_cp_autoscll
  584. boolean visible = false
  585. long linecolor = 268435456
  586. integer linethickness = 4
  587. integer beginy = 272
  588. integer endx = 2007
  589. integer endy = 272
  590. end type
  591. type ln_2 from line within w_inware_cp_autoscll
  592. boolean visible = false
  593. long linecolor = 16777215
  594. integer linethickness = 4
  595. integer beginy = 276
  596. integer endx = 2039
  597. integer endy = 276
  598. end type