w_pz_def.srw 30 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343
  1. $PBExportHeader$w_pz_def.srw
  2. forward
  3. global type w_pz_def from w_publ_edit_choice
  4. end type
  5. type dw_pz from u_dw_rbtnfilter within w_pz_def
  6. end type
  7. type dw_pzmx from u_dw_rbtnfilter within w_pz_def
  8. end type
  9. type cb_add_pz from uo_imflatbutton within w_pz_def
  10. end type
  11. type cb_edit_pz from uo_imflatbutton within w_pz_def
  12. end type
  13. type cb_delet_pz from uo_imflatbutton within w_pz_def
  14. end type
  15. type cb_print from uo_imflatbutton within w_pz_def
  16. end type
  17. type cb_edit_pzmx from uo_imflatbutton within w_pz_def
  18. end type
  19. type cb_add_pzmx from uo_imflatbutton within w_pz_def
  20. end type
  21. type cb_delet_pzmx from uo_imflatbutton within w_pz_def
  22. end type
  23. type cb_copy from uo_imflatbutton within w_pz_def
  24. end type
  25. type cb_paste from uo_imflatbutton within w_pz_def
  26. end type
  27. end forward
  28. global type w_pz_def from w_publ_edit_choice
  29. integer width = 3319
  30. integer height = 1964
  31. string title = "部件选配资料定义"
  32. boolean minbox = true
  33. windowtype windowtype = popup!
  34. event retr_pz ( )
  35. event retr_pzmx ( )
  36. dw_pz dw_pz
  37. dw_pzmx dw_pzmx
  38. cb_add_pz cb_add_pz
  39. cb_edit_pz cb_edit_pz
  40. cb_delet_pz cb_delet_pz
  41. cb_print cb_print
  42. cb_edit_pzmx cb_edit_pzmx
  43. cb_add_pzmx cb_add_pzmx
  44. cb_delet_pzmx cb_delet_pzmx
  45. cb_copy cb_copy
  46. cb_paste cb_paste
  47. end type
  48. global w_pz_def w_pz_def
  49. type variables
  50. Boolean dw_edit_mode_pz = FALSE
  51. Boolean dw_edit_mode_pzmx = FALSE
  52. boolean ls_update_flag_pz = true
  53. boolean ls_update_flag_pzmx = true
  54. long modifyrow_no_pz=0,crl_row_pz //当前行记录
  55. long modifyrow_no_pzmx=0,crl_row_pzmx //当前行记录
  56. s_mtrlpzmx s_copy,s_empty
  57. long ins_copy = 0
  58. end variables
  59. forward prototypes
  60. public function integer wf_face_change_pz ()
  61. public function integer wf_face_change_pzmx ()
  62. end prototypes
  63. event retr_pz();Long old_row
  64. Long ls_row
  65. Long ll_typeid
  66. /*arg_configtype 0:部件选配 1:配置定义*/
  67. old_row = dw_pz.GetRow( )
  68. ls_row = dw_uc.GetRow( )
  69. IF ls_row <= 0 THEN
  70. dw_pz.Reset( )
  71. ELSE
  72. ll_typeid = dw_uc.Object.contfigtypeid[ls_row]
  73. dw_pz.Retrieve(ll_typeid,0)
  74. END IF
  75. IF old_row <= 0 OR old_row > dw_pz.RowCount( ) THEN
  76. old_row = 1
  77. END IF
  78. IF dw_pz.RowCount( ) > 0 THEN
  79. dw_pz.SelectRow( 0, FALSE)
  80. dw_pz.SelectRow( old_row, TRUE)
  81. dw_pz.SetRow( old_row)
  82. END IF
  83. dw_pz.Sort()
  84. this.triggerevent("retr_pzmx" )
  85. end event
  86. event retr_pzmx();long ls_row
  87. ls_row=dw_pz.getrow( )
  88. if ls_row<=0 then
  89. dw_pzmx.reset( )
  90. else
  91. long old_row
  92. old_row = dw_pzmx.getrow( )
  93. dw_pzmx.setredraw( false)
  94. dw_pzmx.retrieve(dw_pz.object.pzid[ls_row] )
  95. dw_pzmx.setredraw(true)
  96. if old_row<=0 or old_row>dw_pzmx.rowcount( ) then
  97. old_row=1
  98. end if
  99. if dw_pzmx.rowcount( )>0 then
  100. dw_pzmx.selectrow( 0, false)
  101. dw_pzmx.selectrow( old_row, true)
  102. dw_pzmx.setrow( old_row)
  103. end if
  104. end if
  105. end event
  106. public function integer wf_face_change_pz ();IF dw_edit_mode_pz THEN
  107. cb_func.Enabled = FALSE
  108. cb_choice.Enabled = FALSE
  109. cb_delet_pz.Enabled = FALSE
  110. cb_rtr.Enabled = FALSE
  111. cb_edit_pz.Text = "放弃"
  112. cb_add_pz.Text = "保存"
  113. cb_edit_pz.normalpicname = 'Undo.bmp'
  114. cb_add_pz.normalpicname = 'Save.bmp'
  115. ELSE
  116. cb_func.Enabled = TRUE
  117. cb_delet_pz.Enabled = TRUE
  118. cb_choice.Enabled = TRUE
  119. cb_rtr.Enabled = TRUE
  120. cb_edit_pz.Text = "修改"
  121. cb_add_pz.Text = "新建"
  122. cb_edit_pz.normalpicname = 'OPEN.bmp'
  123. cb_add_pz.normalpicname = 'new.bmp'
  124. END IF
  125. cb_edit_pz.of_init_draw()
  126. cb_add_pz.of_init_draw()
  127. cb_edit_pz.of_paint()
  128. cb_add_pz.of_paint()
  129. cb_add_pz.TriggerEvent('ue_textchange')
  130. cb_edit_pz.TriggerEvent('ue_textchange')
  131. RETURN 1
  132. end function
  133. public function integer wf_face_change_pzmx ();IF dw_edit_mode_pzmx THEN
  134. cb_func.Enabled = FALSE
  135. cb_choice.Enabled = FALSE
  136. cb_delet_pzmx.Enabled = FALSE
  137. cb_rtr.Enabled = FALSE
  138. cb_edit_pzmx.Text = "放弃"
  139. cb_add_pzmx.Text = "保存"
  140. cb_edit_pzmx.normalpicname = 'Undo.bmp'
  141. cb_add_pzmx.normalpicname = 'Save.bmp'
  142. ELSE
  143. cb_func.Enabled = TRUE
  144. cb_delet_pzmx.Enabled = TRUE
  145. cb_choice.Enabled = TRUE
  146. cb_rtr.Enabled = TRUE
  147. cb_edit_pzmx.Text = "修改"
  148. cb_add_pzmx.Text = "新建"
  149. cb_edit_pzmx.normalpicname = 'OPEN.bmp'
  150. cb_add_pzmx.normalpicname = 'new.bmp'
  151. END IF
  152. cb_edit_pzmx.of_init_draw()
  153. cb_add_pzmx.of_init_draw()
  154. cb_edit_pzmx.of_paint()
  155. cb_add_pzmx.of_paint()
  156. cb_add_pzmx.TriggerEvent('ue_textchange')
  157. cb_edit_pzmx.TriggerEvent('ue_textchange')
  158. RETURN 1
  159. end function
  160. on w_pz_def.create
  161. int iCurrent
  162. call super::create
  163. this.dw_pz=create dw_pz
  164. this.dw_pzmx=create dw_pzmx
  165. this.cb_add_pz=create cb_add_pz
  166. this.cb_edit_pz=create cb_edit_pz
  167. this.cb_delet_pz=create cb_delet_pz
  168. this.cb_print=create cb_print
  169. this.cb_edit_pzmx=create cb_edit_pzmx
  170. this.cb_add_pzmx=create cb_add_pzmx
  171. this.cb_delet_pzmx=create cb_delet_pzmx
  172. this.cb_copy=create cb_copy
  173. this.cb_paste=create cb_paste
  174. iCurrent=UpperBound(this.Control)
  175. this.Control[iCurrent+1]=this.dw_pz
  176. this.Control[iCurrent+2]=this.dw_pzmx
  177. this.Control[iCurrent+3]=this.cb_add_pz
  178. this.Control[iCurrent+4]=this.cb_edit_pz
  179. this.Control[iCurrent+5]=this.cb_delet_pz
  180. this.Control[iCurrent+6]=this.cb_print
  181. this.Control[iCurrent+7]=this.cb_edit_pzmx
  182. this.Control[iCurrent+8]=this.cb_add_pzmx
  183. this.Control[iCurrent+9]=this.cb_delet_pzmx
  184. this.Control[iCurrent+10]=this.cb_copy
  185. this.Control[iCurrent+11]=this.cb_paste
  186. end on
  187. on w_pz_def.destroy
  188. call super::destroy
  189. destroy(this.dw_pz)
  190. destroy(this.dw_pzmx)
  191. destroy(this.cb_add_pz)
  192. destroy(this.cb_edit_pz)
  193. destroy(this.cb_delet_pz)
  194. destroy(this.cb_print)
  195. destroy(this.cb_edit_pzmx)
  196. destroy(this.cb_add_pzmx)
  197. destroy(this.cb_delet_pzmx)
  198. destroy(this.cb_copy)
  199. destroy(this.cb_paste)
  200. end on
  201. event open;this.triggerevent('ue_before_open')
  202. wf_movetocenter()
  203. dw_UC.SetTransObject (sqlca)
  204. dw_pz.SetTransObject (sqlca)
  205. dw_pzmx.SetTransObject (sqlca)
  206. this.triggerevent('retrieve_uc')
  207. end event
  208. type cb_func from w_publ_edit_choice`cb_func within w_pz_def
  209. boolean visible = false
  210. integer x = 960
  211. integer width = 165
  212. boolean enabled = false
  213. end type
  214. type cb_exit from w_publ_edit_choice`cb_exit within w_pz_def
  215. integer x = 3163
  216. end type
  217. type cb_add from w_publ_edit_choice`cb_add within w_pz_def
  218. integer x = 0
  219. end type
  220. event cb_add::clicked;call super::clicked;IF NOT f_power_ind(1550) THEN
  221. MessageBox(publ_operator,sys_msg_pow)
  222. RETURN
  223. END IF
  224. s_edit_index_tran s_inscust
  225. s_inscust.b_long = 3
  226. s_inscust.c_long = 0
  227. //s_inscust.d_long = 0
  228. OpenWithParm(w_pz_code_add_edit,s_inscust)
  229. parent.TriggerEvent("retrieve_uc")
  230. //
  231. //Long ll_newid,i
  232. //String errmsg
  233. //IF dw_edit_mode THEN
  234. // dw_uc.AcceptText()
  235. // IF dw_uc.GetNextModified(0, Primary!) = 0 THEN
  236. // MessageBox(publ_operator,'没有任何修改,不可以保存!')
  237. // RETURN
  238. // END IF
  239. // dw_uc.Object.contfigtypename[dw_uc.GetRow()] = Trim(dw_uc.Object.contfigtypename[dw_uc.GetRow()])
  240. //
  241. //
  242. // IF dw_uc.Object.contfigtypename[dw_uc.GetRow()] = '' THEN
  243. // MessageBox(publ_operator,'请输入配置属性!')
  244. // RETURN
  245. // END IF
  246. //
  247. // IF dw_uc.Object.contfigtypeid[dw_uc.GetRow()] = 0 THEN
  248. // ll_newid = f_sys_scidentity(0,"u_configure_type","contfigtypeid",errmsg,FALSE,sqlca)
  249. // IF ll_newid <= 0 THEN
  250. // MessageBox(publ_operator,errmsg)
  251. // RETURN
  252. // ELSE
  253. // dw_uc.Object.contfigtypeid[dw_uc.GetRow()] = ll_newid
  254. // END IF
  255. // END IF
  256. // dw_uc.AcceptText()
  257. //END IF
  258. //
  259. //
  260. //
  261. //IF dw_edit_mode THEN
  262. // String ls_errmsg
  263. // IF dw_uc.Update() = -1 THEN
  264. // IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN
  265. // ls_errmsg = "关键内容重复"
  266. // ELSE
  267. // ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
  268. // END IF
  269. // ROLLBACK;
  270. // MessageBox (publ_operator,ls_errmsg+",保存操作失败!",Exclamation!,OK!)
  271. // LS_UPDATE_FLAG = FALSE
  272. // RETURN
  273. // ELSE
  274. // COMMIT;
  275. // FOR i = 1 TO 2
  276. // dw_uc.SetTabOrder ( i, 0 )
  277. // NEXT
  278. // LS_UPDATE_FLAG = TRUE
  279. // END IF
  280. // ins_sqlerrtext = ""
  281. //ELSE
  282. // Long li_row, li_cur_row
  283. // li_cur_row = dw_uc.GetRow()
  284. // li_row = dw_uc.InsertRow (0)
  285. // FOR i = 1 TO 2
  286. // dw_uc.SetTabOrder ( i, i*10 )
  287. // NEXT
  288. // dw_uc.SelectRow(0,FALSE)
  289. // dw_uc.ScrollToRow (li_row)
  290. // dw_uc.SelectRow(li_row,TRUE)
  291. // dw_uc.SetFocus()
  292. // modifyrow_no = li_row
  293. //END IF
  294. //
  295. //dw_edit_mode = NOT dw_edit_mode
  296. //WF_FACE_CHANGE()
  297. //
  298. //
  299. end event
  300. type cb_edit from w_publ_edit_choice`cb_edit within w_pz_def
  301. integer x = 192
  302. end type
  303. event cb_edit::clicked;call super::clicked;if dw_uc.getrow() <= 0 then return
  304. IF NOT f_power_ind(1550) THEN
  305. MessageBox(publ_operator,sys_msg_pow)
  306. RETURN
  307. END IF
  308. long ll_typeid
  309. ll_typeid = dw_uc.object.contfigtypeid[dw_uc.getrow()]
  310. s_edit_index_tran s_inscust
  311. s_inscust.b_long = 3
  312. s_inscust.c_long = ll_typeid
  313. //s_inscust.d_long = 0
  314. OpenWithParm(w_pz_code_add_edit,s_inscust)
  315. parent.TriggerEvent("retrieve_uc")
  316. /*
  317. Long i
  318. IF dw_edit_mode THEN
  319. IF dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = NewModified! OR dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = New! THEN
  320. dw_uc.DeleteRow(dw_uc.GetRow())
  321. ELSE
  322. dw_uc.ReselectRow(dw_uc.GetRow())
  323. END IF
  324. FOR i = 1 TO 3
  325. dw_uc.SetTabOrder ( i, 0 )
  326. NEXT
  327. modifyrow_no = 0
  328. ELSE
  329. modifyrow_no = dw_uc.GetRow()
  330. FOR i = 1 TO 3
  331. dw_uc.SetTabOrder ( i, i*10 )
  332. NEXT
  333. dw_uc.SetFocus()
  334. dw_uc.SelectRow(0,FALSE)
  335. dw_uc.ScrollToRow (modifyrow_no)
  336. dw_uc.SelectRow(modifyrow_no,TRUE)
  337. END IF
  338. dw_edit_mode = NOT dw_edit_mode
  339. WF_FACE_CHANGE()
  340. */
  341. end event
  342. type cb_delet from w_publ_edit_choice`cb_delet within w_pz_def
  343. integer x = 384
  344. end type
  345. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1551) THEN
  346. MessageBox(publ_operator,sys_msg_pow)
  347. RETURN
  348. END IF
  349. IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  350. RETURN
  351. END IF
  352. String arg_msg
  353. IF DW_UC.GetRow() <= 0 THEN
  354. MessageBox('','没有操作目标记录!')
  355. RETURN
  356. END IF
  357. Long ll_typeid , ll_pzid
  358. Long i
  359. Long ll_cnt
  360. ll_typeid = DW_UC.Object.contfigtypeid[DW_UC.GetRow()]
  361. SELECT count(*)
  362. INTO :ll_cnt
  363. FROM u_configure_code
  364. Where typeid = :ll_typeid;
  365. IF sqlca.SQLCode <> 0 THEN
  366. MessageBox(publ_operator,'查询相关配置项明细操作失败!'+sqlca.SQLErrText)
  367. RETURN
  368. END IF
  369. IF ll_cnt > 0 THEN
  370. MessageBox(publ_operator,'存在相关配置项明细,不能删除!')
  371. RETURN
  372. END IF
  373. //FOR i = 1 TO dw_pz.RowCount( )
  374. // ll_pzid = dw_pz.Object.pzid[i]
  375. // DELETE u_configure_codemx
  376. // Where u_configure_codemx.pzid = :ll_pzid;
  377. // IF sqlca.SQLCode <> 0 THEN
  378. // ROLLBACK;
  379. // MessageBox(publ_operator,'删除相关配置项明细操作失败!'+sqlca.SQLErrText)
  380. // RETURN
  381. // END IF
  382. //NEXT
  383. //
  384. //ll_typeid = DW_UC.Object.contfigtypeid[DW_UC.GetRow()]
  385. //DELETE u_configure_code
  386. // Where u_configure_code.typeid = :ll_typeid;
  387. //IF sqlca.SQLCode <> 0 THEN
  388. // ROLLBACK;
  389. // MessageBox(publ_operator,'删除相关配置项操作失败!'+sqlca.SQLErrText)
  390. // RETURN
  391. //END IF
  392. DW_UC.SetRedraw (FALSE)
  393. DW_UC.DeleteRow (0)
  394. DW_UC.TriggerEvent (RowFocusChanged!)
  395. IF DW_UC.Update() = -1 THEN
  396. ROLLBACK;
  397. MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!)
  398. ELSE
  399. COMMIT;
  400. END IF
  401. DW_UC.SetRedraw (TRUE)
  402. end event
  403. type cb_choice from w_publ_edit_choice`cb_choice within w_pz_def
  404. boolean visible = false
  405. integer x = 1152
  406. integer width = 165
  407. boolean enabled = false
  408. end type
  409. type dw_uc from w_publ_edit_choice`dw_uc within w_pz_def
  410. integer width = 809
  411. integer height = 1692
  412. boolean titlebar = true
  413. string title = "部件选配类型设定"
  414. string dataobject = "dw_configure_type"
  415. boolean controlmenu = true
  416. boolean maxbox = true
  417. borderstyle borderstyle = stylebox!
  418. end type
  419. event dw_uc::dwnkey;call super::dwnkey;IF Key = keyenter! THEN
  420. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  421. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  422. RETURN 1
  423. END IF
  424. end event
  425. event dw_uc::rowfocuschanged;
  426. IF modifyrow_no >0 AND dw_edit_mode THEN
  427. THIS.SETROW(modifyrow_no)
  428. THIS.ScrollToRow(modifyrow_no)
  429. else
  430. this.selectrow(0,false)
  431. this.selectrow(currentrow,true)
  432. parent.triggerevent("retr_pz" )
  433. END IF
  434. end event
  435. event dw_uc::constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关
  436. RBUTTON_FILTER_USE=true //右键查询功能开关
  437. end event
  438. type cb_rtr from w_publ_edit_choice`cb_rtr within w_pz_def
  439. boolean visible = false
  440. end type
  441. type cb_help from w_publ_edit_choice`cb_help within w_pz_def
  442. boolean visible = false
  443. integer x = 2935
  444. end type
  445. type ln_bar from w_publ_edit_choice`ln_bar within w_pz_def
  446. end type
  447. type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_pz_def
  448. end type
  449. type r_bar from w_publ_edit_choice`r_bar within w_pz_def
  450. integer x = 1070
  451. end type
  452. type dw_pz from u_dw_rbtnfilter within w_pz_def
  453. integer x = 814
  454. integer y = 176
  455. integer width = 1202
  456. integer height = 1692
  457. integer taborder = 50
  458. boolean bringtotop = true
  459. boolean titlebar = true
  460. string title = "部件选配项列表"
  461. string dataobject = "dw_pzcodedef"
  462. boolean maxbox = true
  463. boolean vscrollbar = true
  464. borderstyle borderstyle = stylebox!
  465. end type
  466. event constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关
  467. RBUTTON_FILTER_USE=true //右键查询功能开关
  468. end event
  469. event rowfocuschanged;call super::rowfocuschanged;IF modifyrow_no_pz >0 AND dw_edit_mode_pz THEN
  470. THIS.SETROW(modifyrow_no_pz)
  471. THIS.ScrollToRow(modifyrow_no_pz)
  472. else
  473. IF currentrow <=0 THEN RETURN
  474. this.selectrow(0,false)
  475. this.selectrow(currentrow,true)
  476. parent.triggerevent("retr_pzmx" )
  477. END IF
  478. end event
  479. event rowfocuschanging;call super::rowfocuschanging;if dw_edit_mode_pz then return 1
  480. end event
  481. event rbuttondown;IF dw_edit_mode THEN RETURN 1
  482. CALL SUPER::RButtonDown
  483. end event
  484. event dwnkey;call super::dwnkey;parent.triggerevent('user_key')
  485. IF Key = keyenter! THEN
  486. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  487. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  488. RETURN 1
  489. END IF
  490. end event
  491. type dw_pzmx from u_dw_rbtnfilter within w_pz_def
  492. integer x = 2021
  493. integer y = 176
  494. integer width = 1275
  495. integer height = 1692
  496. integer taborder = 60
  497. boolean bringtotop = true
  498. boolean titlebar = true
  499. string title = "部件选配项明细列表"
  500. string dataobject = "dw_pzcodemxdef"
  501. boolean maxbox = true
  502. boolean vscrollbar = true
  503. borderstyle borderstyle = stylebox!
  504. end type
  505. event constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关
  506. RBUTTON_FILTER_USE=true //右键查询功能开关
  507. end event
  508. event rowfocuschanged;call super::rowfocuschanged;IF modifyrow_no_pzmx > 0 AND dw_edit_mode_pzmx THEN
  509. THIS.SetRow(modifyrow_no_pzmx)
  510. THIS.ScrollToRow(modifyrow_no_pzmx)
  511. ELSE
  512. IF currentrow <= 0 THEN RETURN
  513. THIS.SelectRow(0,FALSE)
  514. THIS.SelectRow(currentrow,TRUE)
  515. END IF
  516. end event
  517. event rowfocuschanging;call super::rowfocuschanging;if dw_edit_mode_pzmx then return 1
  518. end event
  519. event rbuttondown;IF dw_edit_mode THEN RETURN 1
  520. CALL SUPER::RButtonDown
  521. end event
  522. event dwnkey;call super::dwnkey;parent.triggerevent('user_key')
  523. IF Key = keyenter! THEN
  524. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  525. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  526. RETURN 1
  527. END IF
  528. end event
  529. type cb_add_pz from uo_imflatbutton within w_pz_def
  530. integer x = 818
  531. integer width = 151
  532. integer height = 164
  533. integer taborder = 30
  534. boolean bringtotop = true
  535. string text = "新建"
  536. string normalpicname = "new.bmp"
  537. integer picsize = 16
  538. toolbaralignment pic_align = alignattop!
  539. boolean border = false
  540. end type
  541. event clicked;call super::clicked;IF dw_uc.GetRow( ) <= 0 THEN RETURN
  542. IF NOT f_power_ind(1550) THEN
  543. MessageBox(publ_operator,sys_msg_pow)
  544. RETURN
  545. END IF
  546. Long ll_typeid
  547. ll_typeid = dw_uc.Object.contfigtypeid[dw_uc.GetRow( )]
  548. IF ll_typeid <= 0 THEN
  549. MessageBox(publ_operator,'非法的配置类型id!')
  550. RETURN
  551. END IF
  552. s_edit_index_tran s_inscust
  553. s_inscust.b_long = 4
  554. s_inscust.c_long = 0
  555. s_inscust.d_long = ll_typeid
  556. s_inscust.f_long = 0
  557. OpenWithParm(w_pz_code_add_edit,s_inscust)
  558. PARENT.TriggerEvent("retr_pz")
  559. /*
  560. Long ll_newid,i
  561. String errmsg
  562. Long ll_typeid
  563. IF dw_edit_mode_pz THEN
  564. dw_pz.AcceptText()
  565. IF dw_pz.GetNextModified(0, Primary!) = 0 THEN
  566. MessageBox(publ_operator,'没有任何修改,不可以保存!')
  567. RETURN
  568. END IF
  569. dw_pz.Object.pzcode[dw_pz.GetRow()] = Trim(dw_pz.Object.pzcode[dw_pz.GetRow()])
  570. IF dw_pz.Object.pzcode[dw_pz.GetRow()] = '' THEN
  571. MessageBox(publ_operator,'请输入配置项编号!')
  572. RETURN
  573. END IF
  574. dw_pz.Object.Name[dw_pz.GetRow()] = Trim(dw_pz.Object.Name[dw_pz.GetRow()])
  575. IF dw_pz.Object.Name[dw_pz.GetRow()] = '' THEN
  576. MessageBox(publ_operator,'请输入配置项名称!')
  577. RETURN
  578. END IF
  579. IF dw_pz.Object.typeid[dw_pz.GetRow()] <= 0 THEN
  580. IF dw_uc.GetRow( ) > 0 THEN
  581. dw_pz.Object.typeid[dw_pz.GetRow()] = dw_uc.Object.contfigtypeid[dw_uc.GetRow( )]
  582. ELSE
  583. MessageBox(publ_operator,'非法的配置类型id!')
  584. RETURN
  585. END IF
  586. END IF
  587. IF dw_pz.Object.pzid[dw_pz.GetRow()] = 0 THEN
  588. ll_newid = f_sys_scidentity(0,"u_configure_code","pzid",errmsg,FALSE,sqlca)
  589. IF ll_newid <= 0 THEN
  590. MessageBox(publ_operator,errmsg)
  591. RETURN
  592. ELSE
  593. dw_pz.Object.pzid[dw_pz.GetRow()] = ll_newid
  594. END IF
  595. END IF
  596. dw_pz.AcceptText()
  597. END IF
  598. IF dw_edit_mode_pz THEN
  599. String ls_errmsg
  600. IF dw_pz.Update() = -1 THEN
  601. IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN
  602. ls_errmsg = "关键内容重复"
  603. ELSE
  604. ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
  605. END IF
  606. ROLLBACK;
  607. MessageBox (publ_operator,ls_errmsg+",保存操作失败!",Exclamation!,OK!)
  608. LS_UPDATE_FLAG = FALSE
  609. RETURN
  610. ELSE
  611. COMMIT;
  612. FOR i = 1 TO 4
  613. dw_pz.SetTabOrder ( i, 0 )
  614. NEXT
  615. LS_UPDATE_FLAG = TRUE
  616. END IF
  617. ins_sqlerrtext = ""
  618. ELSE
  619. IF dw_uc.GetRow( ) <= 0 THEN
  620. MessageBox(publ_operator,'请选择配置类型!')
  621. RETURN
  622. END IF
  623. ll_typeid = dw_uc.Object.contfigtypeid[dw_uc.GetRow( )]
  624. IF ll_typeid <= 0 THEN
  625. MessageBox(publ_operator,'非法的配置类型id!')
  626. RETURN
  627. END IF
  628. Long li_row, li_cur_row
  629. li_cur_row = dw_pz.GetRow()
  630. li_row = dw_pz.InsertRow (0)
  631. FOR i = 1 TO 4
  632. dw_pz.SetTabOrder ( i, i*10 )
  633. NEXT
  634. dw_pz.SelectRow(0,FALSE)
  635. dw_pz.ScrollToRow (li_row)
  636. dw_pz.SelectRow(li_row,TRUE)
  637. dw_pz.SetFocus()
  638. modifyrow_no_pz = li_row
  639. dw_pz.Object.typeid[li_row] = ll_typeid
  640. END IF
  641. dw_edit_mode_pz = NOT dw_edit_mode_pz
  642. wf_face_change_pz()
  643. */
  644. end event
  645. type cb_edit_pz from uo_imflatbutton within w_pz_def
  646. integer x = 969
  647. integer width = 151
  648. integer height = 164
  649. integer taborder = 30
  650. boolean bringtotop = true
  651. string text = "修改"
  652. string normalpicname = "open.bmp"
  653. integer picsize = 16
  654. toolbaralignment pic_align = alignattop!
  655. boolean border = false
  656. end type
  657. event clicked;call super::clicked;IF dw_pz.GetRow( ) <= 0 THEN RETURN
  658. IF NOT f_power_ind(1550) THEN
  659. MessageBox(publ_operator,sys_msg_pow)
  660. RETURN
  661. END IF
  662. Long ll_typeid, ll_pzid
  663. ll_typeid = dw_pz.Object.typeid[dw_pz.GetRow( )]
  664. ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow( )]
  665. IF ll_typeid <= 0 THEN
  666. MessageBox(publ_operator,'非法的配置类型id!')
  667. RETURN
  668. END IF
  669. s_edit_index_tran s_inscust
  670. s_inscust.b_long = 4
  671. s_inscust.c_long = ll_pzid
  672. s_inscust.d_long = ll_typeid
  673. OpenWithParm(w_pz_code_add_edit,s_inscust)
  674. PARENT.TriggerEvent("retr_pz")
  675. /*
  676. Long i
  677. IF dw_edit_mode_pz THEN
  678. IF dw_pz.GetItemStatus(dw_pz.GetRow(), 0, Primary!) = NewModified! OR dw_pz.GetItemStatus(dw_pz.GetRow(), 0, Primary!) = New! THEN
  679. dw_pz.DeleteRow(dw_pz.GetRow())
  680. ELSE
  681. dw_pz.ReselectRow(dw_pz.GetRow())
  682. END IF
  683. FOR i = 1 TO 4
  684. dw_pz.SetTabOrder ( i, 0 )
  685. NEXT
  686. modifyrow_no_pz = 0
  687. ELSE
  688. modifyrow_no_pz = dw_pz.GetRow()
  689. FOR i = 1 TO 4
  690. dw_pz.SetTabOrder ( i, i*10 )
  691. NEXT
  692. dw_pz.SetFocus()
  693. dw_pz.SelectRow(0,FALSE)
  694. dw_pz.ScrollToRow (modifyrow_no_pz)
  695. dw_pz.SelectRow(modifyrow_no_pz,TRUE)
  696. END IF
  697. dw_edit_mode_pz = NOT dw_edit_mode_pz
  698. wf_face_change_pz()
  699. */
  700. end event
  701. type cb_delet_pz from uo_imflatbutton within w_pz_def
  702. integer x = 1120
  703. integer width = 151
  704. integer height = 164
  705. integer taborder = 60
  706. boolean bringtotop = true
  707. string text = "删除"
  708. string normalpicname = "delete.bmp"
  709. integer picsize = 16
  710. toolbaralignment pic_align = alignattop!
  711. boolean border = false
  712. end type
  713. event clicked;call super::clicked;IF Not f_power_ind(1551) THEN
  714. MessageBox(publ_operator,sys_msg_pow)
  715. RETURN
  716. END IF
  717. IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  718. RETURN
  719. END IF
  720. String arg_msg
  721. IF dw_pz.GetRow() <= 0 THEN
  722. MessageBox('','没有操作目标记录!')
  723. RETURN
  724. END IF
  725. Long ll_pzid
  726. ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow()]
  727. Long ll_cnt
  728. SELECT count(*)
  729. INTO :ll_cnt
  730. FROM u_configure_codemx
  731. Where pzid = :ll_pzid;
  732. IF sqlca.SQLCode <> 0 THEN
  733. MessageBox(publ_operator,'查询相关配置项明细操作失败!'+sqlca.SQLErrText)
  734. RETURN
  735. END IF
  736. IF ll_cnt > 0 THEN
  737. MessageBox(publ_operator,'存在相关配置项明细,不能删除!')
  738. RETURN
  739. END IF
  740. //DELETE u_configure_codemx
  741. // Where u_configure_codemx.pzid = :ll_pzid;
  742. //IF sqlca.SQLCode <> 0 THEN
  743. // ROLLBACK;
  744. // MessageBox(publ_operator,'删除相关配置项明细操作失败!'+sqlca.SQLErrText)
  745. // RETURN
  746. //END IF
  747. dw_pz.SetRedraw (False)
  748. dw_pz.DeleteRow (0)
  749. dw_pz.TriggerEvent (RowFocusChanged!)
  750. IF dw_pz.Update() = -1 THEN
  751. ROLLBACK;
  752. MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!)
  753. ELSE
  754. COMMIT;
  755. END IF
  756. dw_pz.SetRedraw (True)
  757. end event
  758. type cb_print from uo_imflatbutton within w_pz_def
  759. boolean visible = false
  760. integer x = 3077
  761. integer width = 165
  762. integer height = 164
  763. integer taborder = 70
  764. boolean bringtotop = true
  765. string text = "打印"
  766. string normalpicname = "print.bmp"
  767. integer picsize = 16
  768. toolbaralignment pic_align = alignattop!
  769. boolean border = false
  770. end type
  771. event clicked;call super::clicked;//IF NOT f_power_ind(634) THEN
  772. // MessageBox(publ_operator,'你没有使用权限!')
  773. // RETURN
  774. //END IF
  775. //
  776. //
  777. //LONG LS_ROW,ls_pricelistid
  778. //LS_ROW=dw_pageretr.getrow()
  779. //IF LS_ROW<=0 THEN
  780. // MESSAGEBOX('NO','没有打印目标单据!')
  781. // RETURN
  782. //END IF
  783. //
  784. //ls_pricelistid = dw_pageretr.Object.pricelistid[LS_ROW]
  785. //
  786. //int li_flag
  787. //select flag into :li_flag
  788. //from u_sale_price_list
  789. //where pricelistid = :ls_pricelistid;
  790. //if sqlca.sqlcode <> 0 then
  791. // MessageBox('提示','查询当前价格表是否已审核失败!')
  792. // RETURN
  793. //END IF
  794. //
  795. //if li_flag = 0 then
  796. // MessageBox('提示','当前价格表未审核,不能打印!')
  797. // RETURN
  798. //END IF
  799. //
  800. //S_print_MSG LS_PRMSG
  801. //
  802. //LS_PRMSG.obj_dwNAME='dw_pr_pricelist'
  803. //LS_PRMSG.TAG_TEXT='客户价格表'
  804. //LS_PRMSG.FILTER_STRING = ''
  805. //LS_PRMSG.retr_pram_falg=2
  806. //LS_PRMSG.PAGECH_FLAG=0
  807. //LS_PRMSG.retr_pramnmb=dw_pageretr.object.pricelistid [LS_ROW]
  808. //Openwithparm(w_publ_preview,LS_PRMSG)
  809. end event
  810. type cb_edit_pzmx from uo_imflatbutton within w_pz_def
  811. integer x = 2185
  812. integer width = 151
  813. integer height = 164
  814. integer taborder = 70
  815. boolean bringtotop = true
  816. string text = "修改"
  817. string normalpicname = "open.bmp"
  818. integer picsize = 16
  819. toolbaralignment pic_align = alignattop!
  820. boolean border = false
  821. end type
  822. event clicked;call super::clicked;if dw_pzmx.GetRow() <= 0 then return
  823. if not f_power_ind(1550) THEN
  824. MessageBox(publ_operator,sys_msg_pow)
  825. RETURN
  826. END IF
  827. Long ll_pzid, ll_printid
  828. ll_pzid = dw_pzmx.Object.pzid[dw_pzmx.GetRow()]
  829. ll_printid = dw_pzmx.Object.printid[dw_pzmx.GetRow()]
  830. IF ll_pzid <= 0 THEN
  831. MessageBox(publ_operator,'非法的配置明细项id!')
  832. RETURN
  833. END IF
  834. s_edit_index_tran s_inscust
  835. s_inscust.b_long = 5
  836. s_inscust.c_long = ll_printid
  837. s_inscust.d_long = ll_pzid
  838. OpenWithParm(w_pz_code_add_edit,s_inscust)
  839. PARENT.TriggerEvent("retr_pzmx")
  840. /*
  841. Long i
  842. IF dw_edit_mode_pzmx THEN
  843. IF dw_pzmx.GetItemStatus(dw_pzmx.GetRow(), 0, Primary!) = NewModified! OR dw_pzmx.GetItemStatus(dw_pzmx.GetRow(), 0, Primary!) = New! THEN
  844. dw_pzmx.DeleteRow(dw_pzmx.GetRow())
  845. ELSE
  846. dw_pzmx.ReselectRow(dw_pzmx.GetRow())
  847. END IF
  848. FOR i = 1 TO 4
  849. dw_pzmx.SetTabOrder ( i, 0 )
  850. NEXT
  851. modifyrow_no_pzmx = 0
  852. ELSE
  853. modifyrow_no_pzmx = dw_pzmx.GetRow()
  854. FOR i = 1 TO 4
  855. dw_pzmx.SetTabOrder ( i, i*10 )
  856. NEXT
  857. dw_pzmx.SetFocus()
  858. dw_pzmx.SelectRow(0,FALSE)
  859. dw_pzmx.ScrollToRow (modifyrow_no_pzmx)
  860. dw_pzmx.SelectRow(modifyrow_no_pzmx,TRUE)
  861. END IF
  862. dw_edit_mode_pzmx = NOT dw_edit_mode_pzmx
  863. wf_face_change_pzmx()
  864. */
  865. end event
  866. type cb_add_pzmx from uo_imflatbutton within w_pz_def
  867. integer x = 2034
  868. integer width = 151
  869. integer height = 164
  870. integer taborder = 70
  871. boolean bringtotop = true
  872. string text = "新建"
  873. string normalpicname = "new.bmp"
  874. integer picsize = 16
  875. toolbaralignment pic_align = alignattop!
  876. boolean border = false
  877. end type
  878. event clicked;call super::clicked;IF dw_pz.GetRow() <= 0 THEN RETURN
  879. IF NOT f_power_ind(1550) THEN
  880. MessageBox(publ_operator,sys_msg_pow)
  881. RETURN
  882. END IF
  883. Long ll_pzid,ll_inputtype
  884. ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow()]
  885. ll_inputtype = dw_pz.Object.inputtype[dw_pz.GetRow()]
  886. //IF ll_inputtype <> 0 THEN
  887. // MessageBox(publ_operator,'配置项非选择录入方式!')
  888. // RETURN
  889. //END IF
  890. IF ll_pzid <= 0 THEN
  891. MessageBox(publ_operator,'非法的配置项id!')
  892. RETURN
  893. END IF
  894. s_edit_index_tran s_inscust
  895. s_inscust.b_long = 5
  896. s_inscust.c_long = 0
  897. s_inscust.d_long = ll_pzid
  898. OpenWithParm(w_pz_code_add_edit,s_inscust)
  899. PARENT.TriggerEvent("retr_pzmx")
  900. /*
  901. Long ll_newid,i
  902. String errmsg
  903. Long ll_pzid, ll_printid
  904. IF dw_edit_mode_pzmx THEN
  905. dw_pzmx.AcceptText()
  906. IF dw_pzmx.GetNextModified(0, Primary!) = 0 THEN
  907. MessageBox(publ_operator,'没有任何修改,不可以保存!')
  908. RETURN
  909. END IF
  910. dw_pzmx.Object.pzcodemx[dw_pzmx.GetRow()] = Trim(dw_pzmx.Object.pzcodemx[dw_pzmx.GetRow()])
  911. IF dw_pzmx.Object.pzcodemx[dw_pzmx.GetRow()] = '' THEN
  912. MessageBox(publ_operator,'请输入配置项明细编号!')
  913. RETURN
  914. END IF
  915. dw_pzmx.Object.namemx[dw_pzmx.GetRow()] = Trim(dw_pzmx.Object.namemx[dw_pzmx.GetRow()])
  916. IF dw_pzmx.Object.namemx[dw_pzmx.GetRow()] = '' THEN
  917. MessageBox(publ_operator,'请输入配置项明细名称!')
  918. RETURN
  919. END IF
  920. ll_pzid = dw_pzmx.Object.pzid[dw_pzmx.GetRow()]
  921. IF ll_pzid <= 0 THEN
  922. IF dw_pz.GetRow( ) > 0 THEN
  923. dw_pzmx.Object.pzid[dw_pzmx.GetRow()] = dw_pz.Object.pzid[dw_pz.GetRow( )]
  924. ELSE
  925. MessageBox(publ_operator,'非法的配置项id!')
  926. RETURN
  927. END IF
  928. END IF
  929. ll_printid = dw_pzmx.Object.printid[dw_pzmx.GetRow()]
  930. IF ll_printid <= 0 THEN
  931. SELECT max(printid) + 1
  932. INTO :ll_printid
  933. FROM u_configure_codemx
  934. Where pzid = :ll_pzid;
  935. IF sqlca.SQLCode = 100 THEN
  936. ll_printid = 1
  937. ELSEIF sqlca.SQLCode <> 0 THEN
  938. MessageBox(publ_operator,'查询配置项明细id失败!')
  939. RETURN
  940. END IF
  941. dw_pzmx.Object.printid[dw_pzmx.GetRow()] = ll_printid
  942. END IF
  943. dw_pzmx.AcceptText()
  944. END IF
  945. IF dw_edit_mode_pzmx THEN
  946. String ls_errmsg
  947. IF dw_pzmx.Update() = -1 THEN
  948. IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN
  949. ls_errmsg = "关键内容重复"
  950. ELSE
  951. ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
  952. END IF
  953. ROLLBACK;
  954. MessageBox (publ_operator,ls_errmsg+",保存操作失败!",Exclamation!,OK!)
  955. LS_UPDATE_FLAG = FALSE
  956. RETURN
  957. ELSE
  958. COMMIT;
  959. FOR i = 1 TO 4
  960. dw_pzmx.SetTabOrder ( i, 0 )
  961. NEXT
  962. LS_UPDATE_FLAG = TRUE
  963. END IF
  964. ins_sqlerrtext = ""
  965. ELSE
  966. IF dw_pz.GetRow( ) <= 0 THEN
  967. MessageBox(publ_operator,'请选择配置项!')
  968. RETURN
  969. END IF
  970. ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow( )]
  971. IF ll_pzid <= 0 THEN
  972. MessageBox(publ_operator,'非法的配置项id!')
  973. RETURN
  974. END IF
  975. SELECT max(printid) + 1
  976. INTO :ll_printid
  977. FROM u_configure_codemx
  978. Where pzid = :ll_pzid;
  979. IF sqlca.SQLCode = 100 THEN
  980. ll_printid = 1
  981. ELSEIF sqlca.SQLCode <> 0 THEN
  982. MessageBox(publ_operator,'查询配置项明细id失败!')
  983. RETURN
  984. END IF
  985. Long li_row, li_cur_row
  986. li_cur_row = dw_pzmx.GetRow()
  987. li_row = dw_pzmx.InsertRow (0)
  988. FOR i = 1 TO 4
  989. dw_pzmx.SetTabOrder ( i, i*10 )
  990. NEXT
  991. dw_pzmx.SelectRow(0,FALSE)
  992. dw_pzmx.ScrollToRow (li_row)
  993. dw_pzmx.SelectRow(li_row,TRUE)
  994. dw_pzmx.SetFocus()
  995. modifyrow_no_pzmx = li_row
  996. dw_pzmx.Object.pzid[li_row] = ll_pzid
  997. dw_pzmx.Object.printid[li_row] = ll_printid
  998. END IF
  999. dw_edit_mode_pzmx = NOT dw_edit_mode_pzmx
  1000. wf_face_change_pzmx()
  1001. */
  1002. end event
  1003. type cb_delet_pzmx from uo_imflatbutton within w_pz_def
  1004. integer x = 2336
  1005. integer width = 151
  1006. integer height = 164
  1007. integer taborder = 80
  1008. boolean bringtotop = true
  1009. string text = "删除"
  1010. string normalpicname = "delete.bmp"
  1011. integer picsize = 16
  1012. toolbaralignment pic_align = alignattop!
  1013. boolean border = false
  1014. end type
  1015. event clicked;call super::clicked;IF NOT f_power_ind(1551) THEN
  1016. MessageBox(publ_operator,sys_msg_pow)
  1017. RETURN
  1018. END IF
  1019. IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  1020. RETURN
  1021. END IF
  1022. String arg_msg
  1023. IF dw_pzmx.GetRow() <= 0 THEN
  1024. MessageBox('','没有操作目标记录!')
  1025. RETURN
  1026. END IF
  1027. dw_pzmx.SetRedraw (FALSE)
  1028. dw_pzmx.DeleteRow (0)
  1029. dw_pzmx.TriggerEvent (RowFocusChanged!)
  1030. IF dw_pzmx.Update() = -1 THEN
  1031. ROLLBACK;
  1032. MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!)
  1033. ELSE
  1034. COMMIT;
  1035. END IF
  1036. dw_pzmx.SetRedraw (TRUE)
  1037. end event
  1038. type cb_copy from uo_imflatbutton within w_pz_def
  1039. integer x = 2546
  1040. integer width = 165
  1041. integer height = 164
  1042. integer taborder = 80
  1043. boolean bringtotop = true
  1044. string text = "复制"
  1045. string normalpicname = "COPY.BMP"
  1046. integer picsize = 16
  1047. toolbaralignment pic_align = alignattop!
  1048. boolean border = false
  1049. end type
  1050. event clicked;call super::clicked;IF NOT f_power_ind(1598) THEN
  1051. MessageBox(publ_operator,sys_msg_pow)
  1052. RETURN
  1053. END IF
  1054. String arg_msg
  1055. IF dw_pzmx.RowCount() <= 0 THEN
  1056. MessageBox('系统提示','没有可复制的内容!')
  1057. RETURN
  1058. END IF
  1059. s_copy = s_empty
  1060. ins_copy = 0
  1061. Long ll_i
  1062. FOR ll_i = 1 TO dw_pzmx.RowCount()
  1063. ins_copy++
  1064. s_copy.printid[ins_copy] = dw_pzmx.Object.printid[ll_i]
  1065. s_copy.pzcodemx[ins_copy] = dw_pzmx.Object.pzcodemx[ll_i]
  1066. s_copy.namemx[ins_copy] = dw_pzmx.Object.namemx[ll_i]
  1067. NEXT
  1068. MessageBox('系统提示','复制成功!')
  1069. end event
  1070. type cb_paste from uo_imflatbutton within w_pz_def
  1071. integer x = 2711
  1072. integer width = 165
  1073. integer height = 164
  1074. integer taborder = 90
  1075. boolean bringtotop = true
  1076. string text = "粘贴"
  1077. string normalpicname = "PASTE.BMP"
  1078. integer picsize = 16
  1079. toolbaralignment pic_align = alignattop!
  1080. boolean border = false
  1081. end type
  1082. event clicked;call super::clicked;IF NOT f_power_ind(1598) THEN
  1083. MessageBox(publ_operator,sys_msg_pow)
  1084. RETURN
  1085. END IF
  1086. IF dw_pz.GetRow() <= 0 THEN
  1087. MessageBox('系统提示','请先选择部件选配项')
  1088. RETURN
  1089. END IF
  1090. Long ll_pzid
  1091. ll_pzid = dw_pz.Object.pzid[dw_pz.GetRow()]
  1092. IF ll_pzid <= 0 THEN
  1093. MessageBox('系统提示','请先选择部件选配项')
  1094. RETURN
  1095. END IF
  1096. IF ins_copy = 0 THEN
  1097. MessageBox('系统提示','没有可粘贴的内容,请先执行复制功能')
  1098. RETURN
  1099. END IF
  1100. IF dw_pzmx.RowCount() > 0 THEN
  1101. IF MessageBox ('确认',"粘贴功能将清空原有的数据,是否继续?",Question!,YesNo! ) = 2 THEN
  1102. RETURN
  1103. END IF
  1104. ELSE
  1105. IF MessageBox ('询问',"确认要执行粘贴功能?",Question!,YesNo! ) = 2 THEN
  1106. RETURN
  1107. END IF
  1108. END IF
  1109. DELETE FROM u_configure_codemx
  1110. Where pzid = :ll_pzid;
  1111. IF sqlca.SQLCode <> 0 THEN
  1112. ROLLBACK;
  1113. MessageBox('Error','删除旧明细内容失败')
  1114. RETURN
  1115. END IF
  1116. Long ll_i
  1117. FOR ll_i = 1 TO ins_copy
  1118. INSERT INTO u_configure_codemx
  1119. (pzid,
  1120. printid,
  1121. pzcodemx,
  1122. namemx)
  1123. VALUES
  1124. (:ll_pzid,
  1125. :s_copy.printid[ll_i],
  1126. :s_copy.pzcodemx[ll_i],
  1127. :s_copy.namemx[ll_i]);
  1128. IF sqlca.SQLCode <> 0 THEN
  1129. ROLLBACK;
  1130. MessageBox('Error','插入部件选配项目明细失败')
  1131. RETURN
  1132. END IF
  1133. NEXT
  1134. MessageBox('系统提示','粘贴成功')
  1135. PARENT.TriggerEvent("retr_pzmx" )
  1136. end event