w_storage_edit.srw 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790
  1. $PBExportHeader$w_storage_edit.srw
  2. forward
  3. global type w_storage_edit from w_publ_edit_index
  4. end type
  5. type dw_mx from u_dw_rbtnfilter within w_storage_edit
  6. end type
  7. type cb_addmx from uo_imflatbutton within w_storage_edit
  8. end type
  9. type cb_delmx from uo_imflatbutton within w_storage_edit
  10. end type
  11. type ddlb_1 from dropdownlistbox within w_storage_edit
  12. end type
  13. type st_2 from statictext within w_storage_edit
  14. end type
  15. end forward
  16. global type w_storage_edit from w_publ_edit_index
  17. integer width = 3246
  18. integer height = 1984
  19. string title = "仓库"
  20. boolean minbox = true
  21. windowtype windowtype = popup!
  22. event insert_childrow ( )
  23. event ue_deletemx ( )
  24. event retrieve_mx ( )
  25. dw_mx dw_mx
  26. cb_addmx cb_addmx
  27. cb_delmx cb_delmx
  28. ddlb_1 ddlb_1
  29. st_2 st_2
  30. end type
  31. global w_storage_edit w_storage_edit
  32. type variables
  33. Boolean if_del = FALSE
  34. end variables
  35. forward prototypes
  36. public function integer wf_find_storageid (long arg_scid, ref long arg_storageid)
  37. public function integer wf_face_change ()
  38. public subroutine wf_lock_mx ()
  39. end prototypes
  40. event insert_childrow();Long li_row
  41. li_row = dw_mx.InsertRow(0)
  42. dw_mx.ScrollToRow(li_row)
  43. dw_mx.Object.sortcode[li_row] = String(li_row)
  44. dw_mx.SetColumn ('sortcode')
  45. end event
  46. event ue_deletemx();IF NOT dw_edit_mode THEN
  47. MessageBox('系统提示','非编辑状态下不可用')
  48. RETURN
  49. END IF
  50. IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  51. IF dw_mx.GetRow() = 0 THEN
  52. MessageBox('提示','请选择删除的行对象!')
  53. RETURN
  54. END IF
  55. if_del = TRUE
  56. Long ll_i
  57. dw_mx.SetRedraw(FALSE)
  58. FOR ll_i = dw_mx.RowCount() TO 1 STEP -1
  59. IF dw_mx.IsSelected(ll_i) THEN
  60. dw_mx.DeleteRow (ll_i)
  61. END IF
  62. NEXT
  63. dw_mx.SetRedraw(TRUE)
  64. if_del = FALSE
  65. IF dw_mx.RowCount() = 0 THEN dw_mx.InsertRow(0)
  66. dw_mx.TriggerEvent (RowFocusChanged!)
  67. end event
  68. event retrieve_mx();Long ll_row ,ll_storageid
  69. ll_row = dw_index.GetRow()
  70. IF ll_row > 0 THEN
  71. ll_storageid = dw_index.Object.storageid[ll_row]
  72. dw_mx.SetRedraw(FALSE)
  73. dw_mx.Retrieve(ll_storageid)
  74. dw_mx.SetRedraw(TRUE)
  75. IF dw_mx.RowCount() > 0 THEN
  76. dw_mx.SetRow(1)
  77. dw_mx.SelectRow(0,FALSE)
  78. dw_mx.SelectRow(1,TRUE)
  79. dw_mx.ScrollToRow(1)
  80. END IF
  81. ELSE
  82. dw_mx.Reset()
  83. END IF
  84. end event
  85. public function integer wf_find_storageid (long arg_scid, ref long arg_storageid);Long ll_count
  86. ll_count = 0
  87. arg_storageid = 0
  88. SELECT count(*)
  89. INTO :ll_count
  90. FROM u_storage
  91. Where scid = :arg_scid AND lsflag = 1;
  92. IF sqlca.SQLCode <> 0 THEN
  93. RETURN 0
  94. END IF
  95. IF ll_count = 1 THEN
  96. SELECT storageid
  97. INTO :arg_storageid
  98. FROM u_storage
  99. Where scid = :arg_scid AND lsflag = 1;
  100. IF sqlca.SQLCode <> 0 THEN
  101. RETURN 0
  102. ELSE
  103. RETURN 1
  104. END IF
  105. ELSEIF ll_count = 0 THEN
  106. RETURN 1
  107. ELSE
  108. RETURN 0
  109. END IF
  110. end function
  111. public function integer wf_face_change ();if dw_edit_mode then
  112. cb_func.enabled = false
  113. cb_retrieve.enabled = false
  114. cb_delet.enabled = false
  115. cb_print.enabled = false
  116. cb_choice.Enabled = FALSE
  117. sle_usual_query.Enabled = FALSE
  118. cb_edit.text = "放弃&E"
  119. cb_add.text = "保存&S"
  120. cb_edit.normalpicname = 'Undo.bmp'
  121. cb_add.normalpicname = 'Save.bmp'
  122. // cb_addmx.enabled = true
  123. // cb_delmx.enabled = true
  124. else
  125. cb_retrieve.enabled = true
  126. cb_delet.enabled = true
  127. cb_print.enabled = true
  128. cb_func.enabled = true
  129. sle_usual_query.Enabled = TRUE
  130. IF mode = 1 THEN
  131. cb_choice.Enabled = TRUE
  132. ELSE
  133. cb_choice.Enabled = FALSE
  134. END IF
  135. cb_edit.text = "修改&E"
  136. cb_add.text = "新建&S"
  137. cb_edit.normalpicname = 'OPEN.bmp'
  138. cb_add.normalpicname = 'new.bmp'
  139. // cb_addmx.enabled = FALSE
  140. // cb_delmx.enabled = FALSE
  141. end if
  142. cb_edit.of_init_draw()
  143. cb_add.of_init_draw()
  144. cb_edit.of_paint()
  145. cb_add.of_paint()
  146. cb_edit.triggerevent('ue_textchange')
  147. cb_add.triggerevent('ue_textchange')
  148. this.triggerevent('refresh_interface')
  149. wf_lock_mx()
  150. return 1
  151. end function
  152. public subroutine wf_lock_mx ();INT LS_INT
  153. long ls_row
  154. long uc_column_int
  155. IF dw_edit_mode THEN
  156. uc_column_int=long(dw_mx.Describe("DataWindow.Column.Count"))
  157. FOR LS_INT=1 TO uc_column_int
  158. dw_mx.SetTabOrder (LS_INT,LS_INT*10 )
  159. NEXT
  160. ELSE
  161. uc_column_int=long(dw_mx.Describe("DataWindow.Column.Count"))
  162. FOR LS_INT=1 TO uc_column_int
  163. dw_mx.SetTabOrder (LS_INT,0 )
  164. NEXT
  165. END IF
  166. end subroutine
  167. on w_storage_edit.create
  168. int iCurrent
  169. call super::create
  170. this.dw_mx=create dw_mx
  171. this.cb_addmx=create cb_addmx
  172. this.cb_delmx=create cb_delmx
  173. this.ddlb_1=create ddlb_1
  174. this.st_2=create st_2
  175. iCurrent=UpperBound(this.Control)
  176. this.Control[iCurrent+1]=this.dw_mx
  177. this.Control[iCurrent+2]=this.cb_addmx
  178. this.Control[iCurrent+3]=this.cb_delmx
  179. this.Control[iCurrent+4]=this.ddlb_1
  180. this.Control[iCurrent+5]=this.st_2
  181. end on
  182. on w_storage_edit.destroy
  183. call super::destroy
  184. destroy(this.dw_mx)
  185. destroy(this.cb_addmx)
  186. destroy(this.cb_delmx)
  187. destroy(this.ddlb_1)
  188. destroy(this.st_2)
  189. end on
  190. event ue_usual_query_filt;call super::ue_usual_query_filt;if dw_edit_mode or keydown(keyf4!) or keydown(keyf5!) then return
  191. string obj_expr=''
  192. if trim(sle_usual_query.text)<>'' then
  193. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  194. obj_expr=obj_expr+'( storagename LIKE "%'+trim(sle_usual_query.text)+'%" )'
  195. ELSE
  196. obj_expr=obj_expr+'( storagename LIKE "'+trim(sle_usual_query.text)+'" )'
  197. END IF
  198. end if
  199. dw_UC.setfilter(obj_expr)
  200. dw_UC.SetRedraw(False)
  201. dw_INDEX.SetRedraw(False)
  202. dw_UC.filter()
  203. if dw_index.rowcount()>=1 then
  204. dw_index.selectrow(0,false)
  205. dw_index.selectrow(1,true)
  206. end if
  207. dw_UC.SetRedraw(TRUE)
  208. dw_INDEX.SetRedraw(TRUE)
  209. end event
  210. event ue_usual_query_retr;call super::ue_usual_query_retr;IF dw_edit_mode OR KeyDown(keyf4!) OR KeyDown(keyf5!) THEN RETURN
  211. String ls_querystrpart = ''
  212. ls_newselect = Lower(ori_oldselect)
  213. IF Trim(sle_usual_query.Text) <> '' THEN
  214. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  215. ls_querystrpart = "(storagename like '%"+Trim(sle_usual_query.Text)+"%')"
  216. ELSE
  217. ls_querystrpart = "(storagename like '"+Trim(sle_usual_query.Text)+"')"
  218. END IF
  219. IF Pos(ls_newselect," where ") <> 0 THEN
  220. ls_newselect = ls_newselect+" AND ("+ls_querystrpart+')'
  221. ELSE
  222. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  223. END IF
  224. END IF
  225. wf_retrieveuc(dw_uc,ls_newselect,1) //注意必须有此句
  226. end event
  227. event ue_before_open;call super::ue_before_open;dw_mx.settransobject (sqlca)
  228. end event
  229. event retrieve_uc;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  230. Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  231. cb_firstpage_enabled = cb_firstpage.Enabled
  232. cb_nextpage_enabled = cb_nextpage.Enabled
  233. cb_retrieveall_enabled = cb_retrieveall.Enabled
  234. cb_priorpage_enabled = cb_priorpage.Enabled
  235. cb_func_enabled = cb_func.Enabled
  236. cb_retrieve_enabled = cb_retrieve.Enabled
  237. cb_firstpage.Enabled = False
  238. cb_nextpage.Enabled = False
  239. cb_retrieveall.Enabled = False
  240. cb_priorpage.Enabled = False
  241. cb_func.Enabled = False
  242. cb_retrieve.Enabled = False
  243. dw_UC.SetRedraw(False)
  244. dw_index.ShareDataOff()
  245. SetPointer(HourGlass!)
  246. Int li_inuse
  247. IF ddlb_1.Text = '有效' THEN
  248. li_inuse = 1
  249. ELSEIF ddlb_1.Text = '无效' THEN
  250. li_inuse = 0
  251. ELSE
  252. li_inuse = -1
  253. END IF
  254. dw_UC.Retrieve(li_inuse)
  255. SetPointer(Arrow!)
  256. dw_UC.ShareData(dw_index)
  257. dw_UC.SetRedraw(True)
  258. IF dw_index.RowCount() >= 1 THEN
  259. dw_index.SelectRow(0,False)
  260. dw_index.SelectRow(1,True)
  261. END IF
  262. cb_firstpage.Enabled = cb_firstpage_enabled
  263. cb_nextpage.Enabled = cb_nextpage_enabled
  264. cb_retrieveall.Enabled = cb_retrieveall_enabled
  265. cb_priorpage.Enabled = cb_priorpage_enabled
  266. cb_func.Enabled = cb_func_enabled
  267. cb_retrieve.Enabled = cb_retrieve_enabled
  268. end event
  269. type cb_func from w_publ_edit_index`cb_func within w_storage_edit
  270. end type
  271. type cb_exit from w_publ_edit_index`cb_exit within w_storage_edit
  272. integer x = 1851
  273. end type
  274. type sle_usual_query from w_publ_edit_index`sle_usual_query within w_storage_edit
  275. end type
  276. type cb_nextpage from w_publ_edit_index`cb_nextpage within w_storage_edit
  277. integer x = 759
  278. integer y = 1604
  279. integer width = 137
  280. end type
  281. type cb_priorpage from w_publ_edit_index`cb_priorpage within w_storage_edit
  282. integer x = 622
  283. integer y = 1604
  284. integer width = 137
  285. end type
  286. type cb_firstpage from w_publ_edit_index`cb_firstpage within w_storage_edit
  287. integer x = 485
  288. integer y = 1604
  289. integer width = 137
  290. end type
  291. type cb_retrieveall from w_publ_edit_index`cb_retrieveall within w_storage_edit
  292. integer x = 347
  293. integer y = 1604
  294. integer width = 137
  295. end type
  296. type em_pagerowno from w_publ_edit_index`em_pagerowno within w_storage_edit
  297. integer x = 219
  298. integer y = 1520
  299. integer width = 215
  300. end type
  301. type st_pagerowno from w_publ_edit_index`st_pagerowno within w_storage_edit
  302. integer x = 507
  303. integer y = 1516
  304. end type
  305. type st_1 from w_publ_edit_index`st_1 within w_storage_edit
  306. integer x = 0
  307. integer width = 201
  308. string text = "名称含"
  309. alignment alignment = right!
  310. end type
  311. type cb_add from w_publ_edit_index`cb_add within w_storage_edit
  312. end type
  313. event cb_add::clicked;Long ll_storageid
  314. String errmsg = ''
  315. Long i
  316. Long lsflag_count
  317. Long ll_scid
  318. Long lsstorageid
  319. Long ll_cnt
  320. Long ll_i
  321. Long ll_fifo //先进先出 =1
  322. String ls_sortcode,ls_locacode
  323. IF dw_edit_mode THEN
  324. dw_uc.AcceptText()
  325. IF dw_uc.GetNextModified(0, Primary!) = 0 And &
  326. dw_mx.GetNextModified(0, Primary!) = 0 THEN
  327. MessageBox('系统提示','没有任何修改,不可以保存!')
  328. RETURN
  329. END IF
  330. dw_uc.Object.storagename[dw_uc.GetRow()] = Trim(dw_uc.Object.storagename[dw_uc.GetRow()])
  331. IF dw_uc.Object.storagename[dw_uc.GetRow()] = '' THEN
  332. MessageBox('提示','请输入仓库名称!',Information!,OK!)
  333. dw_uc.SetFocus()
  334. dw_uc.SetColumn("storagename")
  335. RETURN
  336. END IF
  337. IF dw_uc.Object.u_storage_lsflag[dw_uc.GetRow()] = 1 THEN
  338. ll_scid = dw_uc.Object.u_storage_scid[dw_uc.GetRow()]
  339. IF wf_find_storageid(ll_scid,lsstorageid) = 0 THEN
  340. MessageBox("提示",'查询零售仓库失败!',Information!,OK!)
  341. RETURN
  342. END IF
  343. IF lsstorageid > 0 And lsstorageid <> dw_uc.Object.storageid[dw_uc.GetRow()] THEN
  344. MessageBox("提示",'一个分部只能建一个零售仓库!',Information!,OK!)
  345. RETURN
  346. END IF
  347. END IF
  348. //检查该仓库是否已有库存,有则不允许修改分部
  349. IF dw_uc.Object.storageid[dw_uc.GetRow()] > 0 THEN
  350. ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  351. SELECT scid,if_fifo INTO :ll_scid ,:ll_fifo
  352. FROM u_storage
  353. Where storageid = :ll_storageid;
  354. IF sqlca.SQLCode <> 0 THEN
  355. MessageBox('错误','查询仓库原有分部失败',StopSign!,OK!)
  356. RETURN
  357. END IF
  358. ll_cnt = 0
  359. SELECT count(*) INTO :ll_cnt
  360. FROM u_mtrlware
  361. Where storageid = :ll_storageid And scid = :ll_scid;
  362. IF sqlca.SQLCode <> 0 THEN
  363. MessageBox('错误','查询该仓库是否有库存失败',StopSign!,OK!)
  364. RETURN
  365. END IF
  366. IF ll_cnt > 0 And ll_scid <> dw_uc.Object.u_storage_scid[dw_uc.GetRow()] THEN
  367. MessageBox('提示','该仓库已使用库存,分部不允许修改',Information!,OK!)
  368. dw_uc.Object.u_storage_scid[dw_uc.GetRow()] = ll_scid
  369. dw_uc.SetFocus()
  370. dw_uc.SetColumn("u_storage_scid")
  371. RETURN
  372. END IF
  373. //u_mtrlware 有记录不可以改 存货计算方式
  374. IF ll_fifo = 0 And ll_cnt > 0 And dw_uc.Object.u_storage_if_fifo[dw_uc.GetRow()] =1 THEN
  375. MessageBox('提示','该仓库已使用不能修改存货计算方式!',Information!,OK!)
  376. dw_uc.SetFocus()
  377. dw_uc.SetColumn("u_storage_if_fifo")
  378. RETURN
  379. END IF
  380. IF ll_fifo = 1 And ll_cnt > 0 And dw_uc.Object.u_storage_if_fifo[dw_uc.GetRow()] =0 THEN
  381. MessageBox('提示','该仓库已使用不能修改存货计算方式!',Information!,OK!)
  382. dw_uc.SetFocus()
  383. dw_uc.SetColumn("u_storage_if_fifo")
  384. RETURN
  385. END IF
  386. END IF
  387. IF dw_uc.Object.u_storage_inwaretype[dw_uc.GetRow()] = 4 THEN
  388. IF dw_uc.Object.u_storage_plancodeFM[dw_uc.GetRow()] = '' THEN
  389. MessageBox("提示",'使用日期/时间格式的批号,请选择批号格式!',Information!,OK!)
  390. RETURN
  391. END IF
  392. ELSE
  393. dw_uc.Object.u_storage_plancodeFM[dw_uc.GetRow()] = ''
  394. END IF
  395. dw_uc.AcceptText()
  396. //////////////////////////////////////////////// //
  397. IF dw_uc.Object.storageid[dw_uc.GetRow()] = 0 THEN
  398. ll_storageid = f_sys_scidentity(0,"u_storage","storageid",errmsg,False,sqlca)
  399. IF ll_storageid <= 0 THEN
  400. MessageBox("提示",errmsg,Information!,OK!)
  401. RETURN
  402. ELSE
  403. dw_uc.Object.storageid[dw_uc.GetRow()] = ll_storageid
  404. END IF
  405. END IF
  406. /////////////////////////// //
  407. DELETE u_storage_loca
  408. Where storageid = :ll_storageid;
  409. IF sqlca.SQLCode <> 0 THEN
  410. ROLLBACK;
  411. MessageBox('Error','删除原有仓位明细失败')
  412. RETURN
  413. END IF
  414. dw_mx.AcceptText()
  415. FOR ll_i = 1 To dw_mx.RowCount()
  416. ls_sortcode = dw_mx.Object.sortcode[ll_i]
  417. ls_locacode = dw_mx.Object.locacode[ll_i]
  418. IF Trim(ls_locacode) = '' THEN CONTINUE
  419. INSERT INTO u_storage_loca
  420. (storageid,
  421. sortcode,
  422. locacode)
  423. VALUES
  424. (:ll_storageid,
  425. :ls_sortcode,
  426. :ls_locacode);
  427. IF sqlca.SQLCode <> 0 THEN
  428. ROLLBACK;
  429. MessageBox('Error','插入仓位明细失败')
  430. RETURN
  431. END IF
  432. NEXT
  433. END IF
  434. CALL Super::Clicked
  435. ddlb_1.Enabled = Not dw_edit_mode
  436. IF Not dw_edit_mode THEN
  437. Parent.TriggerEvent('retrieve_mx')
  438. END IF
  439. end event
  440. type cb_edit from w_publ_edit_index`cb_edit within w_storage_edit
  441. end type
  442. event cb_edit::clicked;call super::clicked;IF Not dw_edit_mode THEN
  443. Parent.TriggerEvent('retrieve_mx')
  444. END IF
  445. ddlb_1.Enabled = Not dw_edit_mode
  446. end event
  447. type cb_delet from w_publ_edit_index`cb_delet within w_storage_edit
  448. end type
  449. event cb_delet::clicked;long LS_id
  450. LONG LS_LONG=0
  451. string ls_name
  452. IF DW_UC.GETROW()<=0 THEN
  453. MESSAGEBOX('提示','没有操作目标记录!',Information!,OK!)
  454. RETURN
  455. END IF
  456. LS_id=DW_UC.OBJECT.storageid[DW_UC.GETROW()]
  457. ls_name=DW_UC.OBJECT.storagename[DW_UC.GETROW()]
  458. select COUNT(*) into :LS_LONG from u_inware where u_inware.storageid=:LS_id ;
  459. if SQLCA.SQLCode<>0 and sqlca.sqlcode<>100 then
  460. rollback;
  461. MessageBox ("错误","数据查询操作失败!(请重试!)",StopSign!,OK!)
  462. return
  463. end if
  464. IF LS_LONG>0 THEN
  465. MessageBox ("提示","该资料已经使用于进仓记录,不可以删除!",Information!,OK!)
  466. RETURN
  467. END IF
  468. //通过检查,开始删除
  469. string arg_msg = ""
  470. dw_uc.setredraw (false)
  471. dw_uc.deleterow (DW_UC.GETROW())
  472. dw_uc.triggerevent (rowfocuschanged!)
  473. if dw_uc.update() = -1 then
  474. rollback;
  475. messagebox ("错误","删除记录操作失败!",StopSign!,ok!)
  476. return
  477. else
  478. commit;
  479. f_setsysoplog('定义资料','仓库定义资料删除,id:'+string(ls_id)+',name:'+ls_name,arg_msg,true)
  480. end if
  481. dw_uc.setredraw (true)
  482. wf_index_uc()
  483. end event
  484. type cb_choice from w_publ_edit_index`cb_choice within w_storage_edit
  485. integer x = 1701
  486. end type
  487. type cb_cancel from w_publ_edit_index`cb_cancel within w_storage_edit
  488. end type
  489. type cbx_mlselect from w_publ_edit_index`cbx_mlselect within w_storage_edit
  490. integer x = 1477
  491. integer y = 200
  492. end type
  493. type cbx_allselect from w_publ_edit_index`cbx_allselect within w_storage_edit
  494. integer y = 200
  495. integer width = 201
  496. end type
  497. type cb_mode_itfchg_b from w_publ_edit_index`cb_mode_itfchg_b within w_storage_edit
  498. end type
  499. type cb_mode_itfchg from w_publ_edit_index`cb_mode_itfchg within w_storage_edit
  500. integer x = 1358
  501. end type
  502. type gb_1 from w_publ_edit_index`gb_1 within w_storage_edit
  503. end type
  504. type dw_uc from w_publ_edit_index`dw_uc within w_storage_edit
  505. integer x = 1819
  506. integer y = 296
  507. integer width = 1394
  508. integer height = 1596
  509. string dataobject = "dw_storage_edit"
  510. end type
  511. type cb_retrieve from w_publ_edit_index`cb_retrieve within w_storage_edit
  512. end type
  513. type cb_print from w_publ_edit_index`cb_print within w_storage_edit
  514. integer x = 1509
  515. end type
  516. event cb_print::clicked;call super::clicked;S_print_MSG LS_PRMSG
  517. LS_PRMSG.obj_dwNAME = 'dw_rp_storage'
  518. LS_PRMSG.SHARE_DW = DW_UC
  519. LS_PRMSG.TAG_TEXT = PARENT.Title
  520. LS_PRMSG.SETUP_FLAG = 0
  521. LS_PRMSG.PAGECH_FLAG = 1
  522. OpenWithParm(w_publ_preview,LS_PRMSG)
  523. end event
  524. type ln_bar from w_publ_edit_index`ln_bar within w_storage_edit
  525. end type
  526. type ln_bar2 from w_publ_edit_index`ln_bar2 within w_storage_edit
  527. end type
  528. type r_bar from w_publ_edit_index`r_bar within w_storage_edit
  529. end type
  530. type ln_1 from w_publ_edit_index`ln_1 within w_storage_edit
  531. end type
  532. type ln_2 from w_publ_edit_index`ln_2 within w_storage_edit
  533. end type
  534. type dw_index from w_publ_edit_index`dw_index within w_storage_edit
  535. integer width = 1806
  536. integer height = 1592
  537. string dataobject = "dw_storage_index"
  538. end type
  539. event dw_index::rowfocuschanged;call super::rowfocuschanged;IF NOT dw_edit_mode THEN
  540. PARENT.TriggerEvent('retrieve_mx')
  541. END IF
  542. end event
  543. type cb_help from w_publ_edit_index`cb_help within w_storage_edit
  544. integer x = 1358
  545. end type
  546. type dw_mx from u_dw_rbtnfilter within w_storage_edit
  547. boolean visible = false
  548. integer x = 1819
  549. integer y = 1216
  550. integer width = 1170
  551. integer height = 664
  552. integer taborder = 20
  553. boolean bringtotop = true
  554. string dataobject = "dw_storage_loca_edit"
  555. end type
  556. event rowfocuschanged;call super::rowfocuschanged;THIS.SelectRow(0,FALSE)
  557. THIS.SelectRow(currentrow,TRUE)
  558. THIS.SetRow(currentrow)
  559. end event
  560. event dwnkey;call super::dwnkey;IF dw_edit_mode THEN
  561. IF KeyDown(keydownarrow!) THEN
  562. IF THIS.GetRow() = THIS.RowCount() THEN
  563. PARENT.TriggerEvent('insert_childrow')
  564. END IF
  565. ELSE
  566. IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  567. IF THIS.GetColumnName( ) = 'locacode' AND THIS.GetRow() = THIS.RowCount() THEN
  568. PARENT.TriggerEvent("insert_childrow")
  569. RETURN 1
  570. END IF
  571. ELSE
  572. IF Key = keyenter! THEN
  573. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  574. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  575. RETURN 1
  576. END IF
  577. END IF
  578. END IF
  579. END IF
  580. end event
  581. type cb_addmx from uo_imflatbutton within w_storage_edit
  582. integer x = 837
  583. integer width = 247
  584. integer height = 164
  585. integer taborder = 40
  586. boolean bringtotop = true
  587. boolean enabled = false
  588. string text = "增加明细"
  589. string normalpicname = "audit.bmp"
  590. integer picsize = 16
  591. toolbaralignment pic_align = alignattop!
  592. boolean border = false
  593. end type
  594. event clicked;call super::clicked;parent.triggerevent('insert_childrow')
  595. end event
  596. type cb_delmx from uo_imflatbutton within w_storage_edit
  597. integer x = 1083
  598. integer width = 274
  599. integer height = 164
  600. integer taborder = 190
  601. boolean bringtotop = true
  602. boolean enabled = false
  603. string text = "删除明细"
  604. string normalpicname = "caudit.bmp"
  605. integer picsize = 16
  606. toolbaralignment pic_align = alignattop!
  607. boolean border = false
  608. end type
  609. event clicked;call super::clicked;parent.triggerevent('ue_deletemx')
  610. end event
  611. type ddlb_1 from dropdownlistbox within w_storage_edit
  612. integer x = 933
  613. integer y = 188
  614. integer width = 320
  615. integer height = 300
  616. integer taborder = 20
  617. boolean bringtotop = true
  618. integer textsize = -9
  619. integer weight = 400
  620. fontcharset fontcharset = gb2312charset!
  621. fontpitch fontpitch = variable!
  622. string facename = "宋体"
  623. long textcolor = 33554432
  624. string text = "有效"
  625. boolean sorted = false
  626. boolean vscrollbar = true
  627. string item[] = {"有效","无效","全部"}
  628. borderstyle borderstyle = stylelowered!
  629. end type
  630. type st_2 from statictext within w_storage_edit
  631. integer x = 786
  632. integer y = 204
  633. integer width = 142
  634. integer height = 48
  635. boolean bringtotop = true
  636. integer textsize = -9
  637. integer weight = 400
  638. fontcharset fontcharset = gb2312charset!
  639. fontpitch fontpitch = variable!
  640. string facename = "宋体"
  641. long backcolor = 134217739
  642. string text = "状态"
  643. boolean focusrectangle = false
  644. end type