w_pz_def_pack.srw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. $PBExportHeader$w_pz_def_pack.srw
  2. forward
  3. global type w_pz_def_pack from w_publ_edit_choice
  4. end type
  5. type dw_pzmx from u_dw_rbtnfilter within w_pz_def_pack
  6. end type
  7. type cb_print from uo_imflatbutton within w_pz_def_pack
  8. end type
  9. type cb_edit_pzmx from uo_imflatbutton within w_pz_def_pack
  10. end type
  11. type cb_add_pzmx from uo_imflatbutton within w_pz_def_pack
  12. end type
  13. type cb_delet_pzmx from uo_imflatbutton within w_pz_def_pack
  14. end type
  15. end forward
  16. global type w_pz_def_pack from w_publ_edit_choice
  17. string tag = "包件类产品配置定义"
  18. integer width = 2912
  19. integer height = 1976
  20. string title = "产品配置资料定义"
  21. boolean minbox = true
  22. windowtype windowtype = popup!
  23. event retr_pzmx ( )
  24. dw_pzmx dw_pzmx
  25. cb_print cb_print
  26. cb_edit_pzmx cb_edit_pzmx
  27. cb_add_pzmx cb_add_pzmx
  28. cb_delet_pzmx cb_delet_pzmx
  29. end type
  30. global w_pz_def_pack w_pz_def_pack
  31. type variables
  32. Boolean dw_edit_mode_pz = FALSE
  33. Boolean dw_edit_mode_pzmx = FALSE
  34. boolean ls_update_flag_pz = true
  35. boolean ls_update_flag_pzmx = true
  36. long modifyrow_no_pz=0,crl_row_pz //当前行记录
  37. long modifyrow_no_pzmx=0,crl_row_pzmx //当前行记录
  38. end variables
  39. forward prototypes
  40. public function integer wf_face_change_pz ()
  41. public function integer wf_face_change_pzmx ()
  42. end prototypes
  43. event retr_pzmx();long ls_row
  44. ls_row=dw_uc.getrow( )
  45. if ls_row<=0 then
  46. dw_pzmx.reset( )
  47. else
  48. long old_row
  49. old_row = dw_pzmx.getrow( )
  50. dw_pzmx.setredraw( false)
  51. dw_pzmx.retrieve(dw_uc.object.pzid[ls_row] )
  52. dw_pzmx.setredraw(true)
  53. if old_row<=0 or old_row>dw_pzmx.rowcount( ) then
  54. old_row=1
  55. end if
  56. if dw_pzmx.rowcount( )>0 then
  57. dw_pzmx.selectrow( 0, false)
  58. dw_pzmx.selectrow( old_row, true)
  59. dw_pzmx.setrow( old_row)
  60. end if
  61. end if
  62. end event
  63. public function integer wf_face_change_pz ();IF dw_edit_mode_pz THEN
  64. cb_func.Enabled = FALSE
  65. cb_choice.Enabled = FALSE
  66. //cb_delet_pz.Enabled = FALSE
  67. cb_rtr.Enabled = FALSE
  68. // cb_edit_pz.Text = "放弃"
  69. // cb_add_pz.Text = "保存"
  70. // cb_edit_pz.normalpicname = 'Undo.bmp'
  71. // cb_add_pz.normalpicname = 'Save.bmp'
  72. ELSE
  73. cb_func.Enabled = TRUE
  74. //cb_delet_pz.Enabled = TRUE
  75. cb_choice.Enabled = TRUE
  76. cb_rtr.Enabled = TRUE
  77. // cb_edit_pz.Text = "修改"
  78. // cb_add_pz.Text = "新建"
  79. // cb_edit_pz.normalpicname = 'OPEN.bmp'
  80. // cb_add_pz.normalpicname = 'new.bmp'
  81. END IF
  82. //cb_edit_pz.of_init_draw()
  83. //cb_add_pz.of_init_draw()
  84. //cb_edit_pz.of_paint()
  85. //cb_add_pz.of_paint()
  86. //cb_add_pz.TriggerEvent('ue_textchange')
  87. //cb_edit_pz.TriggerEvent('ue_textchange')
  88. RETURN 1
  89. end function
  90. public function integer wf_face_change_pzmx ();IF dw_edit_mode_pzmx THEN
  91. cb_func.Enabled = FALSE
  92. cb_choice.Enabled = FALSE
  93. cb_delet_pzmx.Enabled = FALSE
  94. cb_rtr.Enabled = FALSE
  95. cb_edit_pzmx.Text = "放弃"
  96. cb_add_pzmx.Text = "保存"
  97. cb_edit_pzmx.normalpicname = 'Undo.bmp'
  98. cb_add_pzmx.normalpicname = 'Save.bmp'
  99. ELSE
  100. cb_func.Enabled = TRUE
  101. cb_delet_pzmx.Enabled = TRUE
  102. cb_choice.Enabled = TRUE
  103. cb_rtr.Enabled = TRUE
  104. cb_edit_pzmx.Text = "修改"
  105. cb_add_pzmx.Text = "新建"
  106. cb_edit_pzmx.normalpicname = 'OPEN.bmp'
  107. cb_add_pzmx.normalpicname = 'new.bmp'
  108. END IF
  109. cb_edit_pzmx.of_init_draw()
  110. cb_add_pzmx.of_init_draw()
  111. cb_edit_pzmx.of_paint()
  112. cb_add_pzmx.of_paint()
  113. cb_add_pzmx.TriggerEvent('ue_textchange')
  114. cb_edit_pzmx.TriggerEvent('ue_textchange')
  115. RETURN 1
  116. end function
  117. on w_pz_def_pack.create
  118. int iCurrent
  119. call super::create
  120. this.dw_pzmx=create dw_pzmx
  121. this.cb_print=create cb_print
  122. this.cb_edit_pzmx=create cb_edit_pzmx
  123. this.cb_add_pzmx=create cb_add_pzmx
  124. this.cb_delet_pzmx=create cb_delet_pzmx
  125. iCurrent=UpperBound(this.Control)
  126. this.Control[iCurrent+1]=this.dw_pzmx
  127. this.Control[iCurrent+2]=this.cb_print
  128. this.Control[iCurrent+3]=this.cb_edit_pzmx
  129. this.Control[iCurrent+4]=this.cb_add_pzmx
  130. this.Control[iCurrent+5]=this.cb_delet_pzmx
  131. end on
  132. on w_pz_def_pack.destroy
  133. call super::destroy
  134. destroy(this.dw_pzmx)
  135. destroy(this.cb_print)
  136. destroy(this.cb_edit_pzmx)
  137. destroy(this.cb_add_pzmx)
  138. destroy(this.cb_delet_pzmx)
  139. end on
  140. event open;this.triggerevent('ue_before_open')
  141. wf_movetocenter()
  142. dw_UC.SetTransObject (sqlca)
  143. dw_pzmx.SetTransObject (sqlca)
  144. string ls_modify
  145. ls_modify = "destroy inputtype_t ~n destroy inputtype ~n "
  146. dw_UC.Modify(ls_modify)
  147. this.triggerevent('retrieve_uc')
  148. end event
  149. event retrieve_uc;
  150. Long old_row
  151. Long ls_row
  152. Long ll_typeid
  153. /*arg_configtype 0:部件选配 1:配置定义*/
  154. old_row = dw_uc.GetRow( )
  155. dw_uc.Retrieve(-1,1)
  156. IF old_row <= 0 OR old_row > dw_uc.RowCount( ) THEN
  157. old_row = 1
  158. END IF
  159. IF dw_uc.RowCount( ) > 0 THEN
  160. dw_uc.SelectRow( 0, FALSE)
  161. dw_uc.SelectRow( old_row, TRUE)
  162. dw_uc.SetRow( old_row)
  163. END IF
  164. dw_uc.Sort()
  165. this.triggerevent("retr_pzmx" )
  166. end event
  167. type cb_func from w_publ_edit_choice`cb_func within w_pz_def_pack
  168. boolean visible = false
  169. integer x = 960
  170. integer width = 165
  171. boolean enabled = false
  172. end type
  173. type cb_exit from w_publ_edit_choice`cb_exit within w_pz_def_pack
  174. integer x = 2715
  175. end type
  176. type cb_add from w_publ_edit_choice`cb_add within w_pz_def_pack
  177. end type
  178. event cb_add::clicked;call super::clicked;IF NOT f_power_ind(1555) THEN
  179. MessageBox(publ_operator,sys_msg_pow)
  180. RETURN
  181. END IF
  182. s_edit_index_tran s_inscust
  183. s_inscust.b_long = 4
  184. s_inscust.c_long = 0
  185. s_inscust.d_long = 0
  186. s_inscust.f_long = 1
  187. OpenWithParm(w_pz_code_add_edit,s_inscust)
  188. PARENT.TriggerEvent("retrieve_uc")
  189. end event
  190. type cb_edit from w_publ_edit_choice`cb_edit within w_pz_def_pack
  191. end type
  192. event cb_edit::clicked;call super::clicked;IF NOT f_power_ind(1555) THEN
  193. MessageBox(publ_operator,sys_msg_pow)
  194. RETURN
  195. END IF
  196. if dw_uc.getrow( ) <= 0 then
  197. MessageBox(publ_operator,'请选定目标行!')
  198. RETURN
  199. end if
  200. Long ll_pzid
  201. ll_pzid = dw_uc.object.pzid[dw_uc.getrow( )]
  202. s_edit_index_tran s_inscust
  203. s_inscust.b_long = 4
  204. s_inscust.c_long = ll_pzid
  205. s_inscust.d_long = 0
  206. OpenWithParm(w_pz_code_add_edit,s_inscust)
  207. PARENT.TriggerEvent("retrieve_uc")
  208. end event
  209. type cb_delet from w_publ_edit_choice`cb_delet within w_pz_def_pack
  210. end type
  211. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1555) THEN
  212. MessageBox(publ_operator,sys_msg_pow)
  213. RETURN
  214. END IF
  215. IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  216. RETURN
  217. END IF
  218. String arg_msg
  219. IF dw_uc.GetRow() <= 0 THEN
  220. MessageBox('','没有操作目标记录!')
  221. RETURN
  222. END IF
  223. Long ll_pzid
  224. ll_pzid = dw_uc.Object.pzid[dw_uc.GetRow()]
  225. DELETE u_configure_codemx
  226. Where u_configure_codemx.pzid = :ll_pzid;
  227. IF sqlca.SQLCode <> 0 THEN
  228. ROLLBACK;
  229. MessageBox(publ_operator,'删除相关配置项明细操作失败!'+sqlca.SQLErrText)
  230. RETURN
  231. END IF
  232. dw_uc.SetRedraw (FALSE)
  233. dw_uc.DeleteRow (0)
  234. dw_uc.TriggerEvent (RowFocusChanged!)
  235. IF dw_uc.Update() = -1 THEN
  236. ROLLBACK;
  237. MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!)
  238. ELSE
  239. COMMIT;
  240. END IF
  241. dw_uc.SetRedraw (TRUE)
  242. end event
  243. type cb_choice from w_publ_edit_choice`cb_choice within w_pz_def_pack
  244. boolean visible = false
  245. integer x = 1152
  246. integer width = 165
  247. boolean enabled = false
  248. end type
  249. type dw_uc from w_publ_edit_choice`dw_uc within w_pz_def_pack
  250. integer width = 1449
  251. integer height = 1692
  252. string title = "部件选配类型设定"
  253. string dataobject = "dw_pzcodedef"
  254. boolean controlmenu = true
  255. boolean maxbox = true
  256. end type
  257. event dw_uc::dwnkey;call super::dwnkey;IF Key = keyenter! THEN
  258. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  259. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  260. RETURN 1
  261. END IF
  262. end event
  263. event dw_uc::rowfocuschanged;
  264. IF modifyrow_no >0 AND dw_edit_mode THEN
  265. THIS.SETROW(modifyrow_no)
  266. THIS.ScrollToRow(modifyrow_no)
  267. else
  268. this.selectrow(0,false)
  269. this.selectrow(currentrow,true)
  270. parent.triggerevent("retr_pzmx" )
  271. END IF
  272. end event
  273. event dw_uc::constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关
  274. RBUTTON_FILTER_USE=true //右键查询功能开关
  275. end event
  276. type cb_rtr from w_publ_edit_choice`cb_rtr within w_pz_def_pack
  277. end type
  278. type cb_help from w_publ_edit_choice`cb_help within w_pz_def_pack
  279. end type
  280. type ln_bar from w_publ_edit_choice`ln_bar within w_pz_def_pack
  281. end type
  282. type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_pz_def_pack
  283. end type
  284. type r_bar from w_publ_edit_choice`r_bar within w_pz_def_pack
  285. integer x = 1440
  286. end type
  287. type dw_pzmx from u_dw_rbtnfilter within w_pz_def_pack
  288. integer x = 1445
  289. integer y = 176
  290. integer width = 1449
  291. integer height = 1692
  292. integer taborder = 60
  293. boolean bringtotop = true
  294. string title = "部件选配项明细列表"
  295. string dataobject = "dw_pzcodemxdef"
  296. boolean maxbox = true
  297. boolean vscrollbar = true
  298. end type
  299. event constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关
  300. RBUTTON_FILTER_USE=true //右键查询功能开关
  301. end event
  302. event rowfocuschanged;call super::rowfocuschanged;IF modifyrow_no_pzmx > 0 AND dw_edit_mode_pzmx THEN
  303. THIS.SetRow(modifyrow_no_pzmx)
  304. THIS.ScrollToRow(modifyrow_no_pzmx)
  305. ELSE
  306. IF currentrow <= 0 THEN RETURN
  307. THIS.SelectRow(0,FALSE)
  308. THIS.SelectRow(currentrow,TRUE)
  309. END IF
  310. end event
  311. event rowfocuschanging;call super::rowfocuschanging;if dw_edit_mode_pzmx then return 1
  312. end event
  313. event rbuttondown;IF dw_edit_mode THEN RETURN 1
  314. CALL SUPER::RButtonDown
  315. end event
  316. event dwnkey;call super::dwnkey;IF Key = keyenter! THEN
  317. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  318. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  319. RETURN 1
  320. END IF
  321. end event
  322. type cb_print from uo_imflatbutton within w_pz_def_pack
  323. boolean visible = false
  324. integer x = 3077
  325. integer width = 165
  326. integer height = 164
  327. integer taborder = 70
  328. boolean bringtotop = true
  329. string text = "打印"
  330. string normalpicname = "print.bmp"
  331. integer picsize = 16
  332. toolbaralignment pic_align = alignattop!
  333. boolean border = false
  334. end type
  335. event clicked;call super::clicked;//IF NOT f_power_ind(634) THEN
  336. // MessageBox(publ_operator,'你没有使用权限!')
  337. // RETURN
  338. //END IF
  339. //
  340. //
  341. //LONG LS_ROW,ls_pricelistid
  342. //LS_ROW=dw_pageretr.getrow()
  343. //IF LS_ROW<=0 THEN
  344. // MESSAGEBOX('NO','没有打印目标单据!')
  345. // RETURN
  346. //END IF
  347. //
  348. //ls_pricelistid = dw_pageretr.Object.pricelistid[LS_ROW]
  349. //
  350. //int li_flag
  351. //select flag into :li_flag
  352. //from u_sale_price_list
  353. //where pricelistid = :ls_pricelistid;
  354. //if sqlca.sqlcode <> 0 then
  355. // MessageBox('提示','查询当前价格表是否已审核失败!')
  356. // RETURN
  357. //END IF
  358. //
  359. //if li_flag = 0 then
  360. // MessageBox('提示','当前价格表未审核,不能打印!')
  361. // RETURN
  362. //END IF
  363. //
  364. //S_print_MSG LS_PRMSG
  365. //
  366. //LS_PRMSG.obj_dwNAME='dw_pr_pricelist'
  367. //LS_PRMSG.TAG_TEXT='客户价格表'
  368. //LS_PRMSG.FILTER_STRING = ''
  369. //LS_PRMSG.retr_pram_falg=2
  370. //LS_PRMSG.PAGECH_FLAG=0
  371. //LS_PRMSG.retr_pramnmb=dw_pageretr.object.pricelistid [LS_ROW]
  372. //Openwithparm(w_publ_preview,LS_PRMSG)
  373. end event
  374. type cb_edit_pzmx from uo_imflatbutton within w_pz_def_pack
  375. integer x = 1595
  376. integer width = 151
  377. integer height = 164
  378. integer taborder = 70
  379. boolean bringtotop = true
  380. string text = "修改"
  381. string normalpicname = "open.bmp"
  382. integer picsize = 16
  383. toolbaralignment pic_align = alignattop!
  384. boolean border = false
  385. end type
  386. event clicked;call super::clicked;if dw_pzmx.GetRow() <= 0 then return
  387. if not f_power_ind(1555) THEN
  388. MessageBox(publ_operator,sys_msg_pow)
  389. RETURN
  390. END IF
  391. Long ll_pzid, ll_printid
  392. ll_pzid = dw_pzmx.Object.pzid[dw_pzmx.GetRow()]
  393. ll_printid = dw_pzmx.Object.printid[dw_pzmx.GetRow()]
  394. IF ll_pzid <= 0 THEN
  395. MessageBox(publ_operator,'非法的配置明细项id!')
  396. RETURN
  397. END IF
  398. s_edit_index_tran s_inscust
  399. s_inscust.b_long = 5
  400. s_inscust.c_long = ll_printid
  401. s_inscust.d_long = ll_pzid
  402. OpenWithParm(w_pz_code_add_edit,s_inscust)
  403. PARENT.TriggerEvent("retr_pzmx")
  404. end event
  405. type cb_add_pzmx from uo_imflatbutton within w_pz_def_pack
  406. integer x = 1445
  407. integer width = 151
  408. integer height = 164
  409. integer taborder = 70
  410. boolean bringtotop = true
  411. string text = "新建"
  412. string normalpicname = "new.bmp"
  413. integer picsize = 16
  414. toolbaralignment pic_align = alignattop!
  415. boolean border = false
  416. end type
  417. event clicked;call super::clicked;IF dw_uc.GetRow() <= 0 THEN RETURN
  418. IF NOT f_power_ind(1555) THEN
  419. MessageBox(publ_operator,sys_msg_pow)
  420. RETURN
  421. END IF
  422. Long ll_pzid,ll_inputtype
  423. ll_pzid = dw_uc.Object.pzid[dw_uc.GetRow()]
  424. ll_inputtype = dw_uc.Object.inputtype[dw_uc.GetRow()]
  425. IF ll_pzid <= 0 THEN
  426. MessageBox(publ_operator,'非法的配置项id!')
  427. RETURN
  428. END IF
  429. s_edit_index_tran s_inscust
  430. s_inscust.b_long = 5
  431. s_inscust.c_long = 0
  432. s_inscust.d_long = ll_pzid
  433. OpenWithParm(w_pz_code_add_edit,s_inscust)
  434. PARENT.TriggerEvent("retr_pzmx")
  435. end event
  436. type cb_delet_pzmx from uo_imflatbutton within w_pz_def_pack
  437. integer x = 1742
  438. integer width = 151
  439. integer height = 164
  440. integer taborder = 80
  441. boolean bringtotop = true
  442. string text = "删除"
  443. string normalpicname = "delete.bmp"
  444. integer picsize = 16
  445. toolbaralignment pic_align = alignattop!
  446. boolean border = false
  447. end type
  448. event clicked;call super::clicked;IF NOT f_power_ind(1555) THEN
  449. MessageBox(publ_operator,sys_msg_pow)
  450. RETURN
  451. END IF
  452. IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  453. RETURN
  454. END IF
  455. String arg_msg
  456. IF dw_pzmx.GetRow() <= 0 THEN
  457. MessageBox('','没有操作目标记录!')
  458. RETURN
  459. END IF
  460. dw_pzmx.SetRedraw (FALSE)
  461. dw_pzmx.DeleteRow (0)
  462. dw_pzmx.TriggerEvent (RowFocusChanged!)
  463. IF dw_pzmx.Update() = -1 THEN
  464. ROLLBACK;
  465. MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!)
  466. ELSE
  467. COMMIT;
  468. END IF
  469. dw_pzmx.SetRedraw (TRUE)
  470. end event