w_inititembala.srw 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. $PBExportHeader$w_inititembala.srw
  2. forward
  3. global type w_inititembala from w_publ_base
  4. end type
  5. type dw_1 from datawindow within w_inititembala
  6. end type
  7. type ddlb_1 from dropdownlistbox within w_inititembala
  8. end type
  9. type gb_1 from groupbox within w_inititembala
  10. end type
  11. type cb_save from commandbutton within w_inititembala
  12. end type
  13. end forward
  14. global type w_inititembala from w_publ_base
  15. int Width=3502
  16. int Height=2200
  17. boolean TitleBar=true
  18. string Title="核算项目期初数据"
  19. long BackColor=80269524
  20. boolean MaxBox=true
  21. WindowState WindowState=maximized!
  22. dw_1 dw_1
  23. ddlb_1 ddlb_1
  24. gb_1 gb_1
  25. cb_save cb_save
  26. end type
  27. global w_inititembala w_inititembala
  28. type variables
  29. string subid
  30. int hswb[]
  31. boolean if_hswb=false
  32. uo_init uo_inititembala
  33. end variables
  34. on w_inititembala.create
  35. int iCurrent
  36. call super::create
  37. this.dw_1=create dw_1
  38. this.ddlb_1=create ddlb_1
  39. this.gb_1=create gb_1
  40. this.cb_save=create cb_save
  41. iCurrent=UpperBound(this.Control)
  42. this.Control[iCurrent+1]=this.dw_1
  43. this.Control[iCurrent+2]=this.ddlb_1
  44. this.Control[iCurrent+3]=this.gb_1
  45. this.Control[iCurrent+4]=this.cb_save
  46. end on
  47. on w_inititembala.destroy
  48. call super::destroy
  49. destroy(this.dw_1)
  50. destroy(this.ddlb_1)
  51. destroy(this.gb_1)
  52. destroy(this.cb_save)
  53. end on
  54. event open;call super::open;dw_1.settransobject(sqlca)
  55. string ls_subid,ls_name,ins_subid,ins_name
  56. int itmx=0,ls_hswb
  57. DECLARE subid_cur CURSOR FOR
  58. SELECT cw_subject.subid, cw_subject.name,cw_subject.hswb
  59. FROM cw_subject
  60. WHERE cw_subject.accsetid = :sys_accsetid
  61. AND cw_subject.detailflag=1
  62. AND cw_subject.hsitem=1
  63. ORDER BY cw_subject.subid;
  64. open subid_cur;
  65. fetch subid_cur into :ls_subid,:ls_name,:ls_hswb;
  66. ins_subid=ls_subid
  67. ins_name=ls_name
  68. do while sqlca.sqlcode=0
  69. itmx++
  70. hswb[itmx]=ls_hswb
  71. ddlb_1.additem('['+ls_subid+']'+ls_name)
  72. fetch subid_cur into :ls_subid,:ls_name,:ls_hswb;
  73. loop
  74. close subid_cur;
  75. ddlb_1.selectitem('['+ins_subid+']'+ins_name,1)
  76. //ddlb_1.text='['+ins_subid+']'+ins_name
  77. ddlb_1.triggerevent(selectionchanged!)
  78. uo_inititembala = create uo_init
  79. end event
  80. event resize;dw_1.width=this.width - dw_1.x - 40
  81. dw_1.height=this.height - dw_1.y - 115
  82. end event
  83. event close;destroy uo_inititembala
  84. end event
  85. type cb_exit from w_publ_base`cb_exit within w_inititembala
  86. int X=2208
  87. int Y=36
  88. int Width=265
  89. end type
  90. type dw_1 from datawindow within w_inititembala
  91. int X=9
  92. int Y=152
  93. int Width=2473
  94. int Height=1492
  95. int TabOrder=30
  96. boolean BringToTop=true
  97. string DataObject="dw_inititembala"
  98. BorderStyle BorderStyle=StyleLowered!
  99. boolean HScrollBar=true
  100. boolean VScrollBar=true
  101. boolean LiveScroll=true
  102. end type
  103. type ddlb_1 from dropdownlistbox within w_inititembala
  104. int X=411
  105. int Y=44
  106. int Width=928
  107. int Height=960
  108. int TabOrder=40
  109. boolean BringToTop=true
  110. BorderStyle BorderStyle=StyleLowered!
  111. boolean VScrollBar=true
  112. long TextColor=33554432
  113. int TextSize=-9
  114. int Weight=400
  115. string FaceName="宋体"
  116. FontCharSet FontCharSet=GB2312CharSet!
  117. FontPitch FontPitch=Variable!
  118. end type
  119. event selectionchanged;subid= Mid ( ddlb_1.text,pos(ddlb_1.text,'[') + 1,pos(ddlb_1.text,']') - pos(ddlb_1.text,'[') - 1 )
  120. dw_1.retrieve(sys_accsetid,subid)
  121. string mod_str=''
  122. long ls_sit
  123. if isnull(index) then
  124. index=ddlb_1.FindItem (ddlb_1.text, 0 )
  125. end if
  126. if index<=0 then return
  127. if hswb[index]=0 then
  128. if_hswb=false
  129. mod_str='yrawbalance.visible=0 ~n '
  130. mod_str=mod_str + 'cw_inititembala_rawdebit.visible=0 ~n '
  131. mod_str=mod_str + 'cw_inititembala_rawcredit.visible=0 ~n'
  132. mod_str=mod_str + 'cw_inititembala_rawbalance.visible=0 ~n'
  133. dw_1.modify(mod_str)
  134. else
  135. if_hswb=true
  136. mod_str='yrawbalance.visible=1 ~n '
  137. mod_str=mod_str + 'cw_inititembala_rawdebit.visible=1 ~n '
  138. mod_str=mod_str + 'cw_inititembala_rawcredit.visible=1 ~n'
  139. mod_str=mod_str + 'cw_inititembala_rawbalance.visible=1 ~n'
  140. dw_1.modify(mod_str)
  141. ls_sit=long(dw_1.Describe('cw_subject_dcflag.X'))+long(dw_1.Describe('cw_subject_dcflag.width'))
  142. dw_1.modify('yrawbalance.x='+string(ls_sit))
  143. ls_sit=long(dw_1.Describe('yrawbalance.X'))+long(dw_1.Describe('yrawbalance.width'))
  144. dw_1.modify('ybalance.x='+string(ls_sit))
  145. ls_sit=long(dw_1.Describe('ybalance.X'))+long(dw_1.Describe('ybalance.width'))
  146. dw_1.modify('cw_inititembala_rawdebit.x='+string(ls_sit))
  147. ls_sit=long(dw_1.Describe('cw_inititembala_rawdebit.X'))+long(dw_1.Describe('cw_inititembala_rawdebit.width'))
  148. dw_1.modify('cw_inititembala_debit.x='+string(ls_sit))
  149. ls_sit=long(dw_1.Describe('cw_inititembala_debit.X'))+long(dw_1.Describe('cw_inititembala_debit.width'))
  150. dw_1.modify('cw_inititembala_rawcredit.x='+string(ls_sit))
  151. ls_sit=long(dw_1.Describe('cw_inititembala_rawcredit.X'))+long(dw_1.Describe('cw_inititembala_rawcredit.width'))
  152. dw_1.modify('cw_inititembala_credit.x='+string(ls_sit))
  153. ls_sit=long(dw_1.Describe('cw_inititembala_credit.X'))+long(dw_1.Describe('cw_inititembala_credit.width'))
  154. dw_1.modify('cw_inititembala_rawbalance.x='+string(ls_sit))
  155. ls_sit=long(dw_1.Describe('cw_inititembala_rawbalance.X'))+long(dw_1.Describe('cw_inititembala_rawbalance.width'))
  156. dw_1.modify('cw_inititembala_balance.x='+string(ls_sit))
  157. end if
  158. //cw_subject_dcflag
  159. //yrawbalance
  160. //cw_inititembala_rawdebit
  161. //cw_inititembala_rawcredit
  162. //cw_inititembala_rawbalance
  163. //ybalance
  164. //cw_inititembala_debit
  165. //cw_inititembala_credit
  166. //cw_inititembala_balance
  167. end event
  168. type gb_1 from groupbox within w_inititembala
  169. int X=9
  170. int Width=1650
  171. int Height=148
  172. int TabOrder=20
  173. BorderStyle BorderStyle=StyleLowered!
  174. long TextColor=33554432
  175. long BackColor=67108864
  176. int TextSize=-9
  177. int Weight=400
  178. string FaceName="宋体"
  179. FontCharSet FontCharSet=GB2312CharSet!
  180. FontPitch FontPitch=Variable!
  181. end type
  182. type cb_save from commandbutton within w_inititembala
  183. int X=1353
  184. int Y=36
  185. int Width=274
  186. int Height=96
  187. int TabOrder=20
  188. boolean BringToTop=true
  189. string Text="保存数据"
  190. int TextSize=-9
  191. int Weight=400
  192. string FaceName="宋体"
  193. FontCharSet FontCharSet=GB2312CharSet!
  194. FontPitch FontPitch=Variable!
  195. end type
  196. event clicked;IF MessageBox ("IF","是否确定要保存当前初始化吗?",Question!,YesNo! ) = 2 THEN RETURN
  197. long i,cnt,ls_itemid
  198. decimal ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance
  199. string arg_msg
  200. dw_1.accepttext()
  201. cnt=dw_1.rowcount()
  202. if cnt<=0 then
  203. messagebox(publ_operator,'没有可保存的数据')
  204. return
  205. end if
  206. if not if_hswb then
  207. for i=1 to cnt
  208. ls_itemid=dw_1.object.cw_hsitem_hsitemid[i]
  209. ls_debit=dw_1.object.cw_inititembala_debit[i]
  210. ls_credit=dw_1.object.cw_inititembala_credit[i]
  211. ls_balance=dw_1.object.cw_inititembala_balance[i]
  212. if i=cnt then
  213. if uo_inititembala.inititembala(subid,ls_itemid,ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance,arg_msg,true)=0 then
  214. messagebox(publ_operator,arg_msg)
  215. return
  216. end if
  217. else
  218. if uo_inititembala.inititembala(subid,ls_itemid,ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance,arg_msg,false)=0 then
  219. messagebox(publ_operator,arg_msg)
  220. return
  221. end if
  222. end if
  223. next
  224. else
  225. for i=1 to cnt
  226. ls_itemid=dw_1.object.cw_hsitem_hsitemid[i]
  227. ls_rawdebit=dw_1.object.cw_inititembala_rawdebit[i]
  228. ls_rawcredit=dw_1.object.cw_inititembala_rawcredit[i]
  229. ls_rawbalance=dw_1.object.cw_inititembala_rawbalance[i]
  230. ls_debit=dw_1.object.cw_inititembala_debit[i]
  231. ls_credit=dw_1.object.cw_inititembala_credit[i]
  232. ls_balance=dw_1.object.cw_inititembala_balance[i]
  233. if i=cnt then
  234. if uo_inititembala.inititembala(subid,ls_itemid,ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance,arg_msg,true)=0 then
  235. messagebox(publ_operator,arg_msg)
  236. return
  237. end if
  238. else
  239. if uo_inititembala.inititembala(subid,ls_itemid,ls_rawdebit,ls_rawcredit,ls_rawbalance,ls_debit,ls_credit,ls_balance,arg_msg,false)=0 then
  240. messagebox(publ_operator,arg_msg)
  241. return
  242. end if
  243. end if
  244. next
  245. end if
  246. commit;
  247. //cw_inititembala_rawdebit
  248. //cw_inititembala_rawcredit
  249. //cw_inititembala_rawbalance
  250. //cw_inititembala_debit
  251. //cw_inititembala_credit
  252. //cw_inititembala_balance
  253. end event