FZBHZCX.PRG
上传用户:xue7720
上传日期:2013-01-31
资源大小:1240k
文件大小:9k
源码类别:

行业应用

开发平台:

VFP

  1. *负债表汇总输入
  2. *define WINDOW   output FROM 0,0 TO 25,79 
  3. *ACTIVATE WINDOW output
  4. hide popup pop5
  5. hide menu mainmenu
  6. set clock to 0,69 
  7. deactivate window win
  8. on key 
  9. set sysmenu off
  10. set colo to w/n
  11. clea
  12. p=1
  13. ********
  14. if file('fzbhz.dbf')
  15.    use fzbhz
  16.   else
  17.    ! copy jqbbfzb.dbf fzbhz.dbf >nul
  18.     use fzbhz
  19. endif
  20. set colo to 6/
  21. @ 1,0 say '广西盐业公司'
  22. @ 1,67 say 'JQ财务系统'
  23. set colo to 2/
  24. ** 作为通用子程序时,下面应为@ 0,25 say &hh=' 科目汇总表等'
  25. @ 0,25 say '资  产  负  债  表'
  26. @ 2,0 say '┏━━━━━━━━━━━━━━━━┯━┯━━━━━━━━━━┯━━━━━━━━┓'
  27. @ 3,0 say '┃'
  28. @ 3,5 say '        资         产 '
  29. @ 3,34 say '│'          
  30. @ 3,36 say '行'
  31. @ 3,38 say '│'
  32. @ 3,44 say '上  年   数'
  33. @ 3,60 say'│'
  34. set colo to 6+/
  35. @ 3,63 say ' 本  年   数'
  36. set colo to 2/
  37. @ 3,78 say '┃'
  38. *
  39. @ 4,0 say '┠────────────────┼─┼──────────┼────────┨'
  40. pd=4
  41. do whil pd<23
  42. i=pd+1
  43. @ i,0 say '┃'
  44. @ i,34 say '│'
  45. @ i,38 say '│'
  46. @ i,60 say'│'
  47. @ i,78 say '┃'
  48. pd=pd+1
  49. enddo
  50. @ 23,0 say '┗━━━━━━━━━━━━━━━━┷━┷━━━━━━━━━━┷━━━━━━━━┛'
  51. set colo to 1/6
  52. @ 24,0 say '←左栏:→右栏:|←左页:右页→|:↑上笔:↓下笔:PgUp上页:PgDn 下页:Home计算:Esc退出'
  53. set colo to w/n
  54. ************
  55. go bott
  56. pd=recn()
  57. pd=pd/16
  58. pd1=int(pd)
  59. ys=pd-pd1
  60. if ys=0
  61.    ys=pd1
  62.   else
  63.   ys=pd1+1
  64. endif
  65. go top
  66. pd=1
  67. ys1=1
  68. do whil .t. 
  69. @ 4+pd,2 say zc
  70. @ 4+pd,36 say h1
  71. if ncs1<>0
  72. @ 4+pd,43 say ncs1 pict'999,999,999.99'
  73. endif
  74. if nms1<>0
  75. @ 4+pd,63 say nms1 pict'999,999,999.99'
  76. endif
  77. if .not. eof()
  78. skip
  79. pd=pd+1
  80. else 
  81. exit
  82. endif
  83. *pd=pd+1
  84. if pd=19
  85. exit
  86. endif
  87. enddo
  88. 1
  89. set colo to 2+/1
  90. @5,2 say zc
  91. @ 5,36 say h1
  92. if ncs1<>0
  93. @ 5,43 say ncs1 pict'999,999,999.99'
  94. else 
  95. @ 5,43 say '              '
  96. endif
  97. if nms1<>0
  98. @ 5,63 say nms1 pict'999,999,999.99'
  99. else
  100. @ 5,63 say '              '
  101. endif
  102. pd=1
  103. zc1='zc'
  104. h='h1'
  105. ncs='ncs1'
  106. nms='nms1'
  107. zy=1
  108. do whil .t.
  109. x=inkey(0)
  110. do case
  111. case x=4 
  112. zy=1
  113. *→
  114. set colo to 2/n
  115. if ys1=ys
  116. @ 3,44 say '   数    量  '
  117. else
  118. @ 3,44 say '上  年   数'
  119. endif
  120. set colo to 6+/
  121. if ys1=ys
  122. @ 3,63 say '   金    额 '
  123. else
  124. @ 3,63 say ' 本  年   数'
  125. endif
  126. case x=19
  127. *←
  128. set colo to 2
  129. if ys1=ys
  130. @ 3,63 say '   金    额 '
  131. else
  132. @ 3,63 say ' 本  年   数'
  133. endif
  134. set colo to 6+/
  135. if ys1=ys
  136. @ 3,44 say '   数    量 '
  137. else
  138. @ 3,44 say '上  年   数'
  139. endif
  140. zy=0
  141. ***************************************
  142. case x=46 .or. x=45 .or. x>47 .and. x<58
  143. a1=.00
  144. if pp1<>' ' .and. p=1 .or. p=2 .and. pp2<>' ' .or. eof() 
  145. ?? chr(7)
  146. loop
  147. endif
  148. keyb chr(x)
  149. if zy=1
  150. set colo to /w
  151. @ 4+pd,62 say '           '
  152. @ 4+pd,62 say '' get a1 pict'@bz 99999999999.99' 
  153. read
  154. repl &nms with a1 
  155. else
  156. @ 4+pd,43 say '' get a1 pict'@bz 99999999999.99'
  157. read
  158. repl &ncs with a1
  159. endif
  160. set colo to w/n
  161. xx=recn()
  162. pd2=pd
  163. *****************
  164. sele 3
  165. use fzbjs
  166. do jsgs
  167. sele 1
  168. *do fzbjs
  169. *****************
  170. if ys1=ys
  171. go (ys-1)*18+1
  172. else
  173. go (ys1)*18
  174.  skip -17
  175. endif
  176. pd=1
  177. set colo to w/n
  178. do whil .t. 
  179. if zy=0 .and. pp1='' .or. zy=1 .and. pp2=''
  180. if &ncs<>0
  181. @ 4+pd,43 say &ncs pict'999,999,999.99'
  182. else
  183. @ 4+pd,43 say '              '
  184. endif
  185. if &nms<>0
  186. @ 4+pd,63 say &nms pict'999,999,999.99'
  187. else
  188. @ 4+pd,63 say '              '
  189. endif
  190. endif
  191. if .not. eof()
  192. skip
  193. pd=pd+1
  194. else 
  195. exit
  196. endif
  197. if pd=19
  198. exit
  199. endif
  200. enddo
  201. go xx
  202. pd=pd2
  203. *****************
  204.  if pd=18 .or. eof()
  205.        ?? chr(7)
  206.      else
  207. set colo to w/n
  208. @ 4+pd,2 say &zc1
  209. @ 4+pd,36 say &h
  210. if &ncs<>0
  211. @ 4+pd,43 say &ncs pict'999,999,999.99'
  212. else
  213. @ 4+pd,42 say '               '
  214. endif
  215. if &nms<>0
  216. @ 4+pd,62 say '              '
  217. @ 4+pd,63 say &nms pict'999,999,999.99'
  218. else
  219. @ 4+pd,62 say '               '
  220. endif
  221. set colo to 2+/1
  222.       skip 
  223.      pd=pd+1
  224. @ 4+pd,2 say &zc1
  225. @ 4+pd,36 say &h
  226. if &ncs<>0
  227. @ 4+pd,43 say &ncs pict'999,999,999.99'
  228. else
  229. @ 4+pd,43 say '              '
  230. endif
  231. if &nms<>0
  232. @ 4+pd,63 say &nms pict'999,999,999.99'
  233. else
  234. @ 4+pd,63 say '              '
  235. endif
  236. endif
  237.   case x=5
  238.    if pd=1 .or. recn()=1
  239.      ?? chr(7)
  240.    else
  241. set colo to w/n
  242. @ 4+pd,2 say &zc1
  243. @ 4+pd,36 say &h
  244. if &ncs<>0
  245. @ 4+pd,43 say &ncs pict'999,999,999.99'
  246. else
  247. @ 4+pd,43 say '              ' 
  248. endif
  249. if &nms<>0
  250. @ 4+pd,62 say '               '
  251. @ 4+pd,63 say &nms pict'999,999,999.99'
  252. else
  253. @ 4+pd,63 say '              '
  254. endif
  255. set colo to 2+/1
  256.    skip -1
  257.    pd=pd-1
  258. @ 4+pd,2 say &zc1
  259. @ 4+pd,36 say &h
  260. if &ncs<>0
  261. @ 4+pd,43 say &ncs pict'999,999,999.99'
  262. else
  263. @ 4+pd,43 say '              '
  264. endif
  265. if &nms<>0
  266. @ 4+pd,63 say &nms pict'999,999,999.99'
  267. else
  268. @ 4+pd,63 say '              '
  269. endif
  270. endif
  271. case x=24 .or. x=13
  272.       if pd=18 .or. eof()
  273.        ?? chr(7)
  274.      else
  275. set colo to w/n
  276. @ 4+pd,2 say &zc1
  277. @ 4+pd,36 say &h
  278. if &ncs<>0
  279. @ 4+pd,43 say &ncs pict'999,999,999.99'
  280. else
  281. @ 4+pd,43 say '              '
  282. endif
  283. if &nms<>0
  284. @ 4+pd,62 say '              '
  285. @ 4+pd,63 say &nms pict'999,999,999.99'
  286. else
  287. @ 4+pd,63 say '              '
  288. endif
  289. set colo to 2+/1
  290.       skip 
  291.      pd=pd+1
  292. @ 4+pd,2 say &zc1
  293. @ 4+pd,36 say &h
  294. if &ncs<>0
  295. @ 4+pd,43 say &ncs pict'999,999,999.99'
  296. else
  297. @ 4+pd,43 say '              '
  298. endif
  299. if &nms<>0
  300. @ 4+pd,63 say &nms pict'999,999,999.99'
  301. else
  302. @ 4+pd,63 say '              '
  303. endif
  304. endif
  305. ****上页
  306. case x=18
  307. if ys1>1
  308. ys1=ys1-1
  309. go ys1*18
  310.  skip -17
  311. pd=1
  312. if zy=1
  313. set colo to 2
  314. @ 3,44 say '上  年   数 '
  315. set colo to 6+/
  316. @ 3,63 say ' 本  年   数 '
  317. else
  318. set colo to 6+/
  319. @ 3,44 say '上  年   数'
  320. set colo to 2/
  321. @ 3,63 say ' 本  年   数'
  322. endif
  323. set colo to w/n
  324. @ 5,2 clea to 22,33
  325. @ 5,36 clea to 22,37
  326. @ 5,40 clea to 22,58
  327. @ 5,62 clea to 22,77
  328. do whil .t. 
  329. @ 4+pd,2 say &zc1
  330. @ 4+pd,36 say &h
  331. if &ncs<>0
  332. @ 4+pd,43 say &ncs pict'999,999,999.99'
  333. else
  334. @ 4+pd,43 say '              '
  335. endif
  336. if &nms<>0
  337. @ 4+pd,63 say &nms pict'999,999,999.99'
  338. else
  339. @ 4+pd,63 say '              '
  340. endif
  341. if .not. eof()
  342. skip
  343. pd=pd+1
  344. else 
  345. exit
  346. endif
  347. if pd=19
  348. exit
  349. endif
  350. enddo
  351. skip -18
  352. set colo to 2+/1
  353. @ 5,2 say &zc1
  354. @ 5,36 say &h
  355. if &ncs<>0
  356. @ 5,43 say &ncs pict'999,999,999.99'
  357. else
  358. @ 5,43 say '              '
  359. endif
  360. if &nms<>0
  361. @ 5,63 say &nms pict'999,999,999.99'
  362. else 
  363. @ 5,63 say '              '
  364. endif
  365. pd=1
  366. else
  367. ?? chr(7)
  368. endif
  369. ***下页
  370. case x=3
  371. if ys1=ys-1
  372.   if zy=1
  373.  set colo to 2
  374.  @ 3,44 say '   数    量  '
  375.   set colo to 6+/
  376.  @ 3,63 say '   金    额  '
  377. else
  378.  set colo to 6+/
  379.   @ 3,44 say '  数     量 '
  380.   set colo to 2
  381.   @ 3,63 say '    金    额 '
  382. endif
  383. endif 
  384. set colo to  w/n
  385. if ys1<ys
  386.   ys1=ys1+1
  387.   go (ys1-1)*18+1
  388.   x=recn()
  389. pd=1
  390. set colo to w/n
  391. @ 5,2 clea to 22,33
  392. @ 5,36 clea to 22,37
  393. @ 5,40 clea to 22,58
  394. @ 5,62 clea to 22,77
  395. do whil .t. 
  396. @ 4+pd,2 say &zc1
  397. @ 4+pd,36 say &h
  398. if &ncs<>0
  399. @ 4+pd,43 say &ncs pict'999,999,999.99'
  400. endif
  401. if &nms<>0
  402. @ 4+pd,63 say &nms pict'999,999,999.99'
  403. endif
  404. if .not. eof()
  405. skip
  406. pd=pd+1
  407. else 
  408. exit
  409. endif
  410. *pd=pd+1
  411. if pd=19
  412. exit
  413. endif
  414. enddo
  415. go x
  416. set colo to 2+/1
  417. @ 5,2 say &zc1
  418. @ 5,36 say &h
  419. if &ncs<>0
  420. @ 5,43 say &ncs pict'999,999,999.99'
  421. else
  422. @ 5,43 say '              '
  423. endif
  424. if &nms<>0
  425. @ 5,63 say &nms pict'999,999,999.99'
  426. else
  427. @ 5,63 say '              '
  428. endif
  429. pd=1
  430. else
  431. ?? chr(7)
  432. endif  
  433. ****左页
  434. case x=15
  435. if p=2
  436.  zc1='zc'
  437.  h='h1'
  438.  ncs='ncs1'
  439.  nms='nms1'
  440. set colo to w/n
  441.   go (ys1-1)*18+1
  442.   x=recn()
  443. pd=1
  444. set colo to 2
  445. @ 3,5 say  '       资       产        '
  446. set colo to w/n
  447. @ 5,2 clea to 22,33
  448. @ 5,36 clea to 22,37
  449. @ 5,40 clea to 22,58
  450. @ 5,62 clea to 22,77
  451. do whil .t. 
  452. @ 4+pd,2 say &zc1
  453. @ 4+pd,36 say &h
  454. if &ncs<>0
  455. @ 4+pd,43 say &ncs pict'999,999,999.99'
  456. endif
  457. if &nms<>0
  458. @ 4+pd,63 say &nms pict'999,999,999.99'
  459. endif
  460. if .not. eof()
  461. skip
  462. pd=pd+1
  463. else 
  464. exit
  465. endif
  466. *pd=pd+1
  467. if pd=19
  468. exit
  469. endif
  470. enddo
  471. go x
  472. set colo to 2+/1
  473. @ 5,2 say &zc1
  474. @ 5,36 say &h
  475. if &ncs<>0
  476. @ 5,43 say &ncs pict'999,999,999.99'
  477. else
  478. @ 5,43 say '              '
  479. endif
  480. if &nms<>0
  481. @ 5,63 say &nms pict'999,999,999.99'
  482. else
  483. @ 5,63 say '              '
  484. endif
  485. pd=1
  486. p=1
  487. else
  488. ?? chr(7)
  489. endif
  490. ****右页
  491. case x=9
  492. if p=1
  493. set colo to  w/n
  494.   go (ys1-1)*18+1
  495.   x=recn()
  496. pd=1
  497. zc1='fz'
  498. h='h2'
  499. ncs='ncs2'
  500. nms='nms2'
  501. set colo to 2
  502. @ 3,5 say '  负债及所有者权益   '
  503. set colo to w/n
  504. @ 5,2 clea to 22,33
  505. @ 5,36 clea to 22,37
  506. @ 5,40 clea to 22,58
  507. @ 5,62 clea to 22,77
  508. do whil .t. 
  509. @ 4+pd,2 say &zc1
  510. @ 4+pd,36 say &h
  511. if &ncs<>0
  512. @ 4+pd,43 say &ncs pict'999,999,999.99'
  513. endif
  514. if &nms<>0
  515. @ 4+pd,63 say &nms pict'999,999,999.99'
  516. endif
  517. if .not. eof()
  518. skip
  519. pd=pd+1
  520. else 
  521. exit
  522. endif
  523. *pd=pd+1
  524. if pd=19
  525. exit
  526. endif
  527. enddo
  528. go x
  529. set colo to 2+/1
  530. @ 5,2 say &zc1
  531. @ 5,36 say &h
  532. if &ncs<>0
  533. @ 5,43 say &ncs pict'999,999,999.99'
  534. else
  535. @ 5,43 say '              '
  536. endif
  537. if &nms<>0
  538. @ 5,63 say &nms pict'999,999,999.99'
  539. else
  540. @ 5,63 say '              '
  541. endif
  542. pd=1
  543. p=2
  544. else
  545. ?? chr(7)
  546. endif  
  547. case x=27
  548. exit
  549. othe
  550. ?? chr(7)
  551. endcase
  552. enddo
  553. clos data
  554. set colo to w+/1
  555. *set colo of scheme 3 to w+/1
  556. @ 0,0,23,79 box '北北北北' colo scheme 3
  557. set colo to w+/n
  558. @ 1,1,22,78 box '鞍鞍鞍鞍鞍' colo scheme 1
  559. @ 23,28 say "当前数据的月份:"+str(Ryear,4,0)+"年"+str(Ryf,2,0)+"月" colo 1+/3
  560. @ 24,0 say ' JQ001汇总报表系统(Ver1.0)  黄朝生研制  版权所有  南宁市建政路51号  邮编:530023 ' colo 4/w  
  561. set clock to 23,69
  562. on key label Escape do Rquit
  563. retu