w_briefdef_edit.srw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. $PBExportHeader$w_briefdef_edit.srw
  2. forward
  3. global type w_briefdef_edit from w_publ_base
  4. end type
  5. type gb_1 from groupbox within w_briefdef_edit
  6. end type
  7. type dw_brieftype from datawindow within w_briefdef_edit
  8. end type
  9. type cb_addtype from uo_imflatbutton within w_briefdef_edit
  10. end type
  11. type cb_modtype from uo_imflatbutton within w_briefdef_edit
  12. end type
  13. type cb_deltype from uo_imflatbutton within w_briefdef_edit
  14. end type
  15. type dw_brief from datawindow within w_briefdef_edit
  16. end type
  17. type cb_ok from uo_imflatbutton within w_briefdef_edit
  18. end type
  19. type cb_addbrief from uo_imflatbutton within w_briefdef_edit
  20. end type
  21. type cb_modbrief from uo_imflatbutton within w_briefdef_edit
  22. end type
  23. type cb_delbrief from uo_imflatbutton within w_briefdef_edit
  24. end type
  25. type cb_1 from uo_imflatbutton within w_briefdef_edit
  26. end type
  27. type cb_2 from uo_imflatbutton within w_briefdef_edit
  28. end type
  29. type cb_3 from uo_imflatbutton within w_briefdef_edit
  30. end type
  31. end forward
  32. global type w_briefdef_edit from w_publ_base
  33. integer width = 3502
  34. integer height = 1736
  35. string title = "凭证摘要"
  36. boolean minbox = false
  37. windowtype windowtype = response!
  38. long backcolor = 80269524
  39. event retrieve_dw ( )
  40. event retrieve_childdw ( )
  41. gb_1 gb_1
  42. dw_brieftype dw_brieftype
  43. cb_addtype cb_addtype
  44. cb_modtype cb_modtype
  45. cb_deltype cb_deltype
  46. dw_brief dw_brief
  47. cb_ok cb_ok
  48. cb_addbrief cb_addbrief
  49. cb_modbrief cb_modbrief
  50. cb_delbrief cb_delbrief
  51. cb_1 cb_1
  52. cb_2 cb_2
  53. cb_3 cb_3
  54. end type
  55. global w_briefdef_edit w_briefdef_edit
  56. type variables
  57. s_brief s_brief_edit
  58. string rt_brief=''
  59. end variables
  60. event retrieve_dw;long lirow
  61. dw_brieftype.retrieve(sys_accsetid)
  62. lirow=dw_brieftype.insertrow(1)
  63. dw_brieftype.object.accsetid[lirow]=sys_accsetid
  64. dw_brieftype.object.brieftypeid[lirow]=0
  65. dw_brieftype.object.typename[lirow]='[所有类别]'
  66. dw_brieftype.selectrow(0,false)
  67. dw_brieftype.selectrow(lirow,true)
  68. end event
  69. event retrieve_childdw;long uc_row,ls_brieftypeid
  70. uc_row=dw_brieftype.getrow()
  71. if uc_row<=0 then return
  72. ls_brieftypeid=dw_brieftype.object.brieftypeid[uc_row]
  73. dw_brief.retrieve(sys_accsetid,ls_brieftypeid)
  74. end event
  75. on w_briefdef_edit.create
  76. int iCurrent
  77. call super::create
  78. this.gb_1=create gb_1
  79. this.dw_brieftype=create dw_brieftype
  80. this.cb_addtype=create cb_addtype
  81. this.cb_modtype=create cb_modtype
  82. this.cb_deltype=create cb_deltype
  83. this.dw_brief=create dw_brief
  84. this.cb_ok=create cb_ok
  85. this.cb_addbrief=create cb_addbrief
  86. this.cb_modbrief=create cb_modbrief
  87. this.cb_delbrief=create cb_delbrief
  88. this.cb_1=create cb_1
  89. this.cb_2=create cb_2
  90. this.cb_3=create cb_3
  91. iCurrent=UpperBound(this.Control)
  92. this.Control[iCurrent+1]=this.gb_1
  93. this.Control[iCurrent+2]=this.dw_brieftype
  94. this.Control[iCurrent+3]=this.cb_addtype
  95. this.Control[iCurrent+4]=this.cb_modtype
  96. this.Control[iCurrent+5]=this.cb_deltype
  97. this.Control[iCurrent+6]=this.dw_brief
  98. this.Control[iCurrent+7]=this.cb_ok
  99. this.Control[iCurrent+8]=this.cb_addbrief
  100. this.Control[iCurrent+9]=this.cb_modbrief
  101. this.Control[iCurrent+10]=this.cb_delbrief
  102. this.Control[iCurrent+11]=this.cb_1
  103. this.Control[iCurrent+12]=this.cb_2
  104. this.Control[iCurrent+13]=this.cb_3
  105. end on
  106. on w_briefdef_edit.destroy
  107. call super::destroy
  108. destroy(this.gb_1)
  109. destroy(this.dw_brieftype)
  110. destroy(this.cb_addtype)
  111. destroy(this.cb_modtype)
  112. destroy(this.cb_deltype)
  113. destroy(this.dw_brief)
  114. destroy(this.cb_ok)
  115. destroy(this.cb_addbrief)
  116. destroy(this.cb_modbrief)
  117. destroy(this.cb_delbrief)
  118. destroy(this.cb_1)
  119. destroy(this.cb_2)
  120. destroy(this.cb_3)
  121. end on
  122. event open;call super::open;dw_brief.settransobject(sqlca)
  123. dw_brieftype.settransobject(sqlca)
  124. this.triggerevent("retrieve_dw")
  125. this.triggerevent("retrieve_childdw")
  126. end event
  127. event close;CLOSEWITHRETURN(THIS,rt_brief)
  128. end event
  129. type cb_func from w_publ_base`cb_func within w_briefdef_edit
  130. integer x = 1157
  131. integer y = 480
  132. end type
  133. type cb_exit from w_publ_base`cb_exit within w_briefdef_edit
  134. integer x = 3127
  135. integer y = 320
  136. end type
  137. type gb_1 from groupbox within w_briefdef_edit
  138. integer x = 14
  139. integer y = 88
  140. integer width = 754
  141. integer height = 1420
  142. integer taborder = 20
  143. integer textsize = -9
  144. integer weight = 400
  145. fontcharset fontcharset = gb2312charset!
  146. fontpitch fontpitch = variable!
  147. string facename = "宋体"
  148. long textcolor = 33554432
  149. long backcolor = 67108864
  150. string text = "摘要类别"
  151. end type
  152. type dw_brieftype from datawindow within w_briefdef_edit
  153. integer x = 46
  154. integer y = 152
  155. integer width = 690
  156. integer height = 936
  157. integer taborder = 60
  158. boolean bringtotop = true
  159. string dataobject = "dw_brieftype_index"
  160. boolean hscrollbar = true
  161. boolean vscrollbar = true
  162. boolean livescroll = true
  163. borderstyle borderstyle = stylelowered!
  164. end type
  165. event rowfocuschanged;if currentrow<=0 then return
  166. this.selectrow(0,false)
  167. this.selectrow(currentrow,true)
  168. parent.triggerevent("retrieve_childdw")
  169. end event
  170. type cb_addtype from uo_imflatbutton within w_briefdef_edit
  171. integer x = 233
  172. integer y = 1100
  173. integer width = 311
  174. integer height = 96
  175. integer taborder = 70
  176. boolean bringtotop = true
  177. string text = "增加"
  178. string normalpicname = "new.bmp"
  179. end type
  180. event clicked;IF NOT f_power_ind(1969,sys_msg_pow) THEN
  181. MessageBox(publ_operator,'你没有使用权限!')
  182. RETURN
  183. END IF
  184. string new_brieftype_name=''
  185. long new_brieftypeid=0
  186. long ls_newid
  187. string errmsg=''
  188. s_inputbox S_SREU
  189. S_SREU.TITLE='请输入新摘要类别名称(确定后将新建该类型的凭证摘要):'
  190. S_SREU.OLD_TEXT='[新类型名称]'
  191. openwithparm(w_inputbox,S_SREU)
  192. new_brieftype_name=Message.StringParm
  193. if trim(new_brieftype_name)='' or isnull(new_brieftype_name) then return
  194. // new_brieftype_name
  195. ls_newid=f_sys_scidentity(sys_accsetid,"cw_brieftype","brieftypeid",errmsg,TRUE,id_sqlca)
  196. if ls_newid<0 then
  197. messagebox(publ_operator,errmsg)
  198. rollback;
  199. end if
  200. INSERT INTO cw_brieftype (accsetid,brieftypeid,typename )
  201. VALUES (:sys_accsetid,:ls_newid,:new_brieftype_name ) ;
  202. if sqlca.sqlcode<>0 then
  203. rollback;
  204. messagebox(publ_operator,'新建摘要类别"'+new_brieftype_name+'"失败,可能是名称已经存在或网络故障!')
  205. return
  206. end if
  207. commit;
  208. messagebox(publ_operator,'新建摘要类别操作成功,请对其进行初始化!')
  209. parent.triggerevent("retrieve_dw")
  210. parent.triggerevent("retrieve_childdw")
  211. end event
  212. type cb_modtype from uo_imflatbutton within w_briefdef_edit
  213. integer x = 233
  214. integer y = 1244
  215. integer width = 311
  216. integer height = 96
  217. integer taborder = 110
  218. boolean bringtotop = true
  219. string text = "修改"
  220. string normalpicname = "open.bmp"
  221. end type
  222. event clicked;IF NOT f_power_ind(1969,sys_msg_pow) THEN
  223. MessageBox(publ_operator,'你没有使用权限!')
  224. RETURN
  225. END IF
  226. string check
  227. long al_mtrlid,i=0,ls_brieftypeid,row,currentrow
  228. decimal ls_saleprice
  229. string al_name,al_rep,al_tele,new_brieftype_name
  230. row=dw_brieftype.getrow()
  231. if not row>0 then
  232. messagebox('错误','请选择当前摘要类别!')
  233. return
  234. end if
  235. al_name=dw_brieftype.object.typename[row]
  236. ls_brieftypeid=dw_brieftype.object.brieftypeid[row]
  237. s_inputbox S_SREU
  238. S_SREU.TITLE='请输入摘要类别新名称:'
  239. S_SREU.OLD_TEXT=al_name
  240. openwithparm(w_inputbox,S_SREU)
  241. new_brieftype_name=Message.StringParm
  242. if trim(new_brieftype_name)='' or isnull(new_brieftype_name) or trim(new_brieftype_name)=al_name then return
  243. update cw_brieftype
  244. set typename =:new_brieftype_name
  245. where (brieftypeid=:ls_brieftypeid ) and (accsetid=:sys_accsetid) ;
  246. if sqlca.sqlcode<>0 then
  247. rollback;
  248. messagebox('失败','修改名称操作失败,可能是新名称已经存在或网络故障!')
  249. return
  250. end if
  251. commit;
  252. messagebox('成功','摘要类别修改成功!')
  253. dw_brieftype.object.typename[row]=new_brieftype_name
  254. end event
  255. type cb_deltype from uo_imflatbutton within w_briefdef_edit
  256. integer x = 233
  257. integer y = 1388
  258. integer width = 311
  259. integer height = 96
  260. integer taborder = 130
  261. boolean bringtotop = true
  262. string text = "删除"
  263. string normalpicname = "delete.bmp"
  264. end type
  265. event clicked;IF NOT f_power_ind(1969,sys_msg_pow) THEN
  266. MessageBox(publ_operator,'你没有使用权限!')
  267. RETURN
  268. END IF
  269. string check
  270. long al_mtrlid,i=0,ls_brieftypeid,row,currentrow
  271. decimal ls_saleprice
  272. string al_name,al_rep,al_tele
  273. row=dw_brieftype.getrow()
  274. if not row>0 then
  275. messagebox(publ_operator,'请选择当前摘要类别!')
  276. return
  277. end if
  278. al_name=dw_brieftype.object.typename[row]
  279. IF MessageBox (publ_operator,"是否确定要删除摘要类别'"+al_name+"'吗?",Question!,YesNo! ) = 2 THEN RETURN
  280. ls_brieftypeid=dw_brieftype.object.brieftypeid[row]
  281. DELETE cw_brief where cw_brief.brieftypeid=:ls_brieftypeid and accsetid=:sys_accsetid;
  282. if sqlca.sqlcode<>0 then
  283. rollback;
  284. messagebox(publ_operator,'删除摘要类别明细操作失败!')
  285. RETURN
  286. end if
  287. DELETE cw_brieftype where cw_brieftype.brieftypeid=:ls_brieftypeid and accsetid=:sys_accsetid;
  288. if sqlca.sqlcode<>0 then
  289. rollback;
  290. messagebox(publ_operator,'删除摘要类别操作失败!')
  291. RETURN
  292. end if
  293. COMMIT;
  294. MESSAGEBOX(publ_operator,'摘要类别删除操作成功!')
  295. dw_brief.reset()
  296. parent.triggerevent("retrieve_dw")
  297. parent.triggerevent("retrieve_childdw")
  298. end event
  299. type dw_brief from datawindow within w_briefdef_edit
  300. integer x = 777
  301. integer y = 152
  302. integer width = 2290
  303. integer height = 1420
  304. integer taborder = 80
  305. boolean bringtotop = true
  306. string dataobject = "dw_brief_index"
  307. boolean hscrollbar = true
  308. boolean vscrollbar = true
  309. boolean livescroll = true
  310. borderstyle borderstyle = stylelowered!
  311. end type
  312. event rowfocuschanged;if currentrow<=0 then return
  313. this.selectrow(0,false)
  314. this.selectrow(currentrow,true)
  315. end event
  316. event doubleclicked;cb_ok.triggerevent(clicked!)
  317. end event
  318. type cb_ok from uo_imflatbutton within w_briefdef_edit
  319. integer x = 3122
  320. integer y = 196
  321. integer width = 311
  322. integer height = 96
  323. integer taborder = 100
  324. boolean bringtotop = true
  325. string normalpicname = "ok.bmp"
  326. end type
  327. event clicked;LONG LS_ROW
  328. LS_ROW=dw_brief.getrow()
  329. if LS_ROW<=0 then
  330. messagebox('系统提示','请先选择目标行!',StopSign!)
  331. return
  332. end if
  333. rt_brief=dw_brief.OBJECT.briefname[LS_ROW]
  334. CLOSE(PARENT)
  335. end event
  336. type cb_addbrief from uo_imflatbutton within w_briefdef_edit
  337. integer x = 3122
  338. integer y = 1100
  339. integer width = 311
  340. integer height = 96
  341. integer taborder = 90
  342. boolean bringtotop = true
  343. string text = "增加"
  344. string normalpicname = "new.bmp"
  345. end type
  346. event clicked;IF NOT f_power_ind(1969,sys_msg_pow) THEN
  347. MessageBox(publ_operator,'你没有使用权限!')
  348. RETURN
  349. END IF
  350. Long li_row
  351. li_row = dw_brieftype.GetRow()
  352. IF li_row <= 0 THEN
  353. MessageBox(publ_operator,'没有摘要类别,请先新建摘要类别')
  354. RETURN
  355. END IF
  356. s_brief_edit.edittype = 1
  357. s_brief_edit.brieftypeid = dw_brieftype.Object.brieftypeid[li_row]
  358. s_brief_edit.briefid = 0
  359. s_brief_edit.briefname = ''
  360. OpenWithParm(w_brief_edit,s_brief_edit)
  361. parent.triggerevent("retrieve_childdw")
  362. end event
  363. type cb_modbrief from uo_imflatbutton within w_briefdef_edit
  364. integer x = 3122
  365. integer y = 1244
  366. integer width = 311
  367. integer height = 96
  368. integer taborder = 120
  369. boolean bringtotop = true
  370. string text = "修改"
  371. string normalpicname = "open.bmp"
  372. end type
  373. event clicked;IF NOT f_power_ind(1969,sys_msg_pow) THEN
  374. MessageBox(publ_operator,'你没有使用权限!')
  375. RETURN
  376. END IF
  377. long li_row,li_childrow
  378. li_row=dw_brieftype.getrow()
  379. if li_row<=0 then
  380. messagebox(publ_operator,'没有摘要类别,请先新建摘要类别')
  381. return
  382. end if
  383. li_childrow=dw_brief.getrow()
  384. if li_childrow<=0 then
  385. messagebox(publ_operator,'没有修改凭证')
  386. return
  387. end if
  388. s_brief_edit.edittype=2
  389. s_brief_edit.brieftypeid=dw_brief.object.brieftypeid[li_childrow]
  390. s_brief_edit.briefid=dw_brief.object.briefid[li_childrow]
  391. s_brief_edit.briefname=dw_brief.object.briefname[li_childrow]
  392. openwithparm(w_brief_edit,s_brief_edit)
  393. parent.triggerevent("retrieve_childdw")
  394. end event
  395. type cb_delbrief from uo_imflatbutton within w_briefdef_edit
  396. integer x = 3122
  397. integer y = 1388
  398. integer width = 311
  399. integer height = 96
  400. integer taborder = 140
  401. boolean bringtotop = true
  402. string text = "删除"
  403. string normalpicname = "delete.bmp"
  404. end type
  405. event clicked;IF NOT f_power_ind(1969,sys_msg_pow) THEN
  406. MessageBox(publ_operator,'你没有使用权限!')
  407. RETURN
  408. END IF
  409. Long li_row,ls_briefid
  410. li_row = dw_brief.GetRow()
  411. IF li_row <= 0 THEN
  412. MessageBox(publ_operator,'没有可删除的凭证摘要')
  413. RETURN
  414. END IF
  415. ls_briefid = dw_brief.Object.briefid[li_row]
  416. DELETE cw_brief Where cw_brief.briefid = :ls_briefid AND accsetid = :sys_accsetid;
  417. IF sqlca.SQLCode <> 0 THEN
  418. ROLLBACK;
  419. MessageBox(publ_operator,'删除凭证摘要操作失败!')
  420. RETURN
  421. END IF
  422. COMMIT;
  423. MessageBox(publ_operator,'凭证摘要删除操作成功!')
  424. PARENT.TriggerEvent("retrieve_childdw")
  425. end event
  426. type cb_1 from uo_imflatbutton within w_briefdef_edit
  427. integer x = 2688
  428. integer y = 24
  429. integer width = 384
  430. integer height = 96
  431. integer taborder = 40
  432. boolean bringtotop = true
  433. string text = "清除默认科目"
  434. end type
  435. event clicked;IF NOT f_power_ind(1969,sys_msg_pow) THEN
  436. MessageBox(publ_operator,'你没有使用权限!')
  437. RETURN
  438. END IF
  439. long li_row,ls_briefid
  440. li_row=dw_brief.getrow()
  441. if li_row<=0 then
  442. messagebox(publ_operator,'没有可删除的凭证摘要')
  443. return
  444. end if
  445. ls_briefid=dw_brief.object.briefid[li_row]
  446. update cw_brief set dftsubid = '' where cw_brief.briefid=:ls_briefid and accsetid=:sys_accsetid;
  447. if sqlca.sqlcode<>0 then
  448. rollback;
  449. messagebox(publ_operator,'更新凭证摘要默认科目操作失败!')
  450. RETURN
  451. end if
  452. COMMIT;
  453. MESSAGEBOX(publ_operator,'更新凭证摘要默认科目操作成功!')
  454. parent.triggerevent("retrieve_childdw")
  455. end event
  456. type cb_2 from uo_imflatbutton within w_briefdef_edit
  457. integer x = 2377
  458. integer y = 24
  459. integer width = 311
  460. integer height = 96
  461. integer taborder = 50
  462. boolean bringtotop = true
  463. string text = "打印"
  464. string normalpicname = "print.bmp"
  465. end type
  466. event clicked;IF NOT f_power_ind(1969,sys_msg_pow) THEN
  467. MessageBox(publ_operator,'你没有使用权限!')
  468. RETURN
  469. END IF
  470. open(w_rp_brief)
  471. end event
  472. type cb_3 from uo_imflatbutton within w_briefdef_edit
  473. integer x = 2066
  474. integer y = 24
  475. integer width = 311
  476. integer height = 96
  477. integer taborder = 40
  478. boolean bringtotop = true
  479. string text = "刷新"
  480. string normalpicname = "refresh.bmp"
  481. end type
  482. event clicked;parent.triggerevent("retrieve_dw")
  483. parent.triggerevent("retrieve_childdw")
  484. end event