XJBSR.PRG
上传用户:hbmaozhan
上传日期:2013-01-31
资源大小:1007k
文件大小:13k
源码类别:

企业管理

开发平台:

VFP

  1.  PUBL m_xj, zxj, xj
  2.  m_xj = 0
  3.  zxj = 0
  4.  xj = 0
  5.  HIDE POPUP pop4
  6.  HIDE POPUP pop4_1
  7.  HIDE MENU mainmenu
  8.  DEAC WINDOW win
  9.  SET SYSMENU OFF
  10.  ON KEY
  11.  SET CLOCK TO 0, 69
  12.  SET COLOR TO W/N
  13.  CLOS DATABASES
  14.  CLEA
  15.  SELE 3
  16.  USE xjllb
  17.  SELE 4
  18.  USE xjb
  19.  SELE 1
  20.  USE pzk
  21.  SET INDEX TO pz
  22.  REIN
  23.  SELE 2
  24.  USE kmk
  25.  SELE 1
  26.  DO pzgx
  27.  pz = 1
  28.  DO WHILE .T.
  29.       DO pzgx
  30.       SEEK pz
  31.       sl1 = RECNO()
  32.       IF EOF()
  33.            ?? CHR(7)
  34.            SET COLOR TO GR+/B
  35.            @ 5, 20 CLEAR TO 8, 60
  36.            @ 6, 30 SAY '对不起,凭证没有找到!'
  37.            @ 7, 30 SAY '按任意键返回......'
  38.            x = INKEY(0)
  39.            CLOS DATABASES
  40.            SET COLOR TO W+/B
  41.            @ 0, 0, 23, 79 BOX '北北北北'
  42.            SET COLOR TO W+/N
  43.            @ 1, 1, 22, 78 BOX '鞍鞍鞍鞍鞍'
  44.            @ 23, 28 SAY '当前数据的月份:'+STR(ryear, 4, 0)+'年'+STR(ryf, 2, 0)+'月' COLOR B+/BG 
  45.            @ 24, 0 SAY ' JQ001财务管理系统(Ver2.5)  黄朝生研制  版权所有  南宁市建政路51号  邮编:530023 ' COLOR R/W 
  46.            ON KEY LABEL Escape do Rquit
  47.            SET CLOCK TO 23, 69
  48.            RETU
  49.       ENDI
  50.       pz = pz+1
  51.       SEEK pz
  52.       IF  .NOT. EOF()
  53.            SKIP -1
  54.            ml = RECNO()
  55.       ELSE
  56.            GOTO BOTTOM
  57.            ml = RECNO()
  58.       ENDI
  59.       pz = pz-1
  60.       GOTO BOTTOM
  61.       jyq = pzh
  62.       GOTO sl1
  63.       @ 2, 50 SAY '                    '
  64.       @ 2, 50 SAY '总字第'
  65.       @ 2, 56 SAY pzh
  66.       @ 2, 66 SAY '号'
  67.       SET COLOR TO B/GR
  68.       @ 18, 0 SAY '    ↑上笔:↓下笔:PgUp上页:PgDn下页:F3上一张凭证:F4下一张凭证:Esc退出查询     '
  69.       SET COLOR TO W/N
  70.       GOTO BOTTOM
  71.       @ 19, 0 CLEAR TO 24, 80
  72.       pd = INT((ml+1-sl1)/6)
  73.       IF INT((ml+1-sl1)/6)=(ml+1-sl1)/6
  74.            ys = pd
  75.       ELSE
  76.            ys = pd+1
  77.       ENDI
  78.       DO hjxs
  79.       GOTO sl1
  80.       @ 10, 74 SAY pds
  81.       @ 2, 30 SAY rq
  82.       @ 17, 66 SAY lry
  83.       @ 17, 49 SAY shy
  84.       IF 5<=ml-sl1
  85.            bs = 1
  86.            DO WHILE bs<=6
  87.                 @ 18+bs, 33 SAY zy
  88.                 DO slxs
  89.                 DO kmxs
  90.                 DO fsxs
  91.                 SKIP
  92.                 bs = bs+1
  93.            ENDD
  94.            bs = 1
  95.            SKIP -6
  96.            SET COLOR TO G/B
  97.            @ 4, 11 SAY zy
  98.            SET COLOR TO W/N
  99.            DO kmxs-1
  100.            DO fsxs-1
  101.            DO slxs-1
  102.            yc = 1
  103.       ELSE
  104.            pd = 1
  105.            pd1 = 0
  106.            bs = 1
  107.            DO WHILE pd1<=ml-sl1
  108.                 @ 19+pd1, 33 SAY zy
  109.                 DO kmxs
  110.                 DO fsxs
  111.                 DO slxs
  112.                 SKIP
  113.                 pd1 = pd1+1
  114.                 bs = bs+1
  115.            ENDD
  116.            SKIP -pd1
  117.            SET COLOR TO G/B
  118.            @ 4, 11 SAY zy
  119.            SET COLOR TO W/N
  120.            bs = 1
  121.            DO kmxs-1
  122.            DO fsxs-1
  123.            DO slxs-1
  124.            yc = 1
  125.            DO _xjbsr
  126.       ENDI
  127.       pdc = 24
  128.       DO WHILE .T.
  129.            DO CASE
  130.                 CASE pdc=5
  131.                      pd = RECNO()
  132.                      IF pd=sl1 .OR. bs=1 .OR. bs=0
  133.                           SET COLOR TO BG+/RB
  134.                           @ 0, 0 CLEAR TO 3, 28
  135.                           @ 1, 5 SAY '这是本页第一笔,'
  136.                           @ 2, 5 SAY '按任意键继续......'
  137.                           ?? CHR(7)
  138.                           pd = INKEY(0)
  139.                           DO qp
  140.                           @ 8, 71 SAY SYS(2002)
  141.                      ELSE
  142.                           @ 18+bs, 33 SAY zy
  143.                           DO fsxs
  144.                           DO kmxs
  145.                           DO slxs
  146.                           bs = bs-1
  147.                           SKIP -1
  148.                           @ 4, 11 SAY zy
  149.                           SET COLOR TO G/B
  150.                           @ 18+bs, 33 SAY zy
  151.                           SET COLOR TO W/N
  152.                           DO slxs-1
  153.                           DO kmxs-1
  154.                           DO fsxs-1
  155.                      ENDI
  156.                 CASE pdc=24
  157.                      pd = RECNO()
  158.                      IF pd=sl1+ys*6 .OR. pd=ml .OR. bs=6
  159.                           SET COLOR TO BG+/RB
  160.                           @ 0, 0 CLEAR TO 3, 28
  161.                           @ 1, 5 SAY '这是本页最后一笔,'
  162.                           @ 2, 5 SAY '按任意键继续......'
  163.                           pdc = 3
  164.                           DO qp
  165.                           @ 13, 71 SAY SYS(2002)
  166.                      ELSE
  167.                           SET COLOR TO W/N
  168.                           @ 18+bs, 33 SAY zy
  169.                           DO kmxs
  170.                           DO slxs
  171.                           SET COLOR TO W/N
  172.                           DO fsxs
  173.                           bs = bs+1
  174.                           pd1 = RECNO()
  175.                           IF pd1<ml
  176.                                SKIP 1
  177.                           ENDI
  178.                           @ 4, 11 SAY zy
  179.                           SET COLOR TO G/B
  180.                           @ 18+bs, 33 SAY zy
  181.                           SET COLOR TO W/N
  182.                           DO slxs-1
  183.                           DO kmxs-1
  184.                           DO fsxs-1
  185.                           DO _xjbsr
  186.                      ENDI
  187.                 CASE pdc=3
  188.                      IF yc=ys
  189.                           SET COLOR TO BG+/RB
  190.                           @ 0, 0 CLEAR TO 3, 28
  191.                           @ 1, 4 SAY '这是本凭证最后一页,'
  192.                           @ 2, 4 SAY '按任意键继续......'
  193.                           DO qp
  194.                           pdc = -3
  195.                      ELSE
  196.                           DO pzgx
  197.                           DO hjxs
  198.                           @ 19, 0 CLEAR TO 25, 81
  199.                           GOTO sl1+yc*6
  200.                           pd = RECNO()
  201.                           IF ml-pd>=6
  202.                                pd1 = 6
  203.                           ELSE
  204.                                pd1 = ml-pd+1
  205.                           ENDI
  206.                           bs = 1
  207.                           DO WHILE bs<=pd1
  208.                                @ 18+bs, 33 SAY zy
  209.                                DO kmxs
  210.                                DO fsxs
  211.                                DO slxs
  212.                                pd = RECNO()
  213.                                IF pd<>ml
  214.                                     SKIP
  215.                                     bs = bs+1
  216.                                ELSE
  217.                                     EXIT
  218.                                ENDI
  219.                           ENDD
  220.                           yc = yc+1
  221.                           SKIP -bs+1
  222.                           bs = 1
  223.                           @ 4, 11 SAY zy
  224.                           SET COLOR TO G/B
  225.                           @ 18+bs, 33 SAY zy
  226.                           SET COLOR TO W/N
  227.                           DO kmxs-1
  228.                           DO fsxs-1
  229.                           DO slxs-1
  230.                           DO _xjbsr
  231.                           pdc = 24
  232.                      ENDI
  233.                 CASE pdc=18
  234.                      IF yc=1
  235.                           SET COLOR TO BG+/RB
  236.                           @ 0, 0 CLEAR TO 3, 28
  237.                           @ 1, 4 SAY '这是本凭证第一页,'
  238.                           @ 2, 4 SAY '按任意键继续......'
  239.                           ?? CHR(7)
  240.                           pd = INKEY(0)
  241.                           DO qp
  242.                      ELSE
  243.                           DO pzgx
  244.                           DO hjxs
  245.                           @ 19, 0 CLEAR TO 25, 81
  246.                           yc = yc-1
  247.                           GOTO sl1+yc*6-6
  248.                           bs = 1
  249.                           DO WHILE bs<=6
  250.                                @ 18+bs, 33 SAY zy
  251.                                DO kmxs
  252.                                DO fsxs
  253.                                DO slxs
  254.                                SKIP
  255.                                bs = bs+1
  256.                           ENDD
  257.                           SKIP -6
  258.                           @ 4, 11 SAY zy
  259.                           bs = 1
  260.                           SET COLOR TO G/B
  261.                           @ 18+bs, 33 SAY zy
  262.                           SET COLOR TO W/N
  263.                           DO kmxs-1
  264.                           DO fsxs-1
  265.                           DO slxs-1
  266.                           bs = 1
  267.                      ENDI
  268.                 CASE pdc=27
  269.                      pd = -1234567
  270.                      EXIT
  271.                 CASE pdc=-2
  272.                      IF pz=1
  273.                           ?? CHR(7)
  274.                           SET COLOR TO BG+/RB
  275.                           @ 0, 0 CLEAR TO 3, 28
  276.                           @ 1, 3 SAY '这已是第一张凭证!'
  277.                           @ 2, 3 SAY '按任意键继续......'
  278.                           pd = INKEY(0)
  279.                           DO qp
  280.                      ELSE
  281.                           pz = pz-1
  282.                           EXIT
  283.                      ENDI
  284.                 CASE pdc=-3
  285.                      IF pz=jyq
  286.                           ?? CHR(7)
  287.                           SET COLOR TO BG+/RB
  288.                           @ 0, 0 CLEAR TO 3, 28
  289.                           @ 1, 3 SAY '这已是最后一号凭证!'
  290.                           @ 2, 3 SAY '按任意键继续......'
  291.                           pd = INKEY(0)
  292.                           pd = -1234567
  293.                           EXIT
  294.                           DO qp
  295.                      ELSE
  296.                           pz = pz+1
  297.                           EXIT
  298.                      ENDI
  299.                 OTHE
  300.                      ?? CHR(7)
  301.            ENDC
  302.       ENDD
  303.       IF pd=-1234567
  304.            EXIT
  305.       ENDI
  306.  ENDD
  307.  CLOS DATABASES
  308.  SET COLOR TO W+/B
  309.  @ 0, 0, 23, 79 BOX '北北北北'
  310.  SET COLOR TO W+/N
  311.  @ 1, 1, 22, 78 BOX '鞍鞍鞍鞍鞍'
  312.  @ 23, 28 SAY '当前数据的月份:'+STR(ryear, 4, 0)+'年'+STR(ryf, 2, 0)+'月' COLOR B+/BG 
  313.  @ 24, 0 SAY ' JQ001财务管理系统(Ver2.5)  黄朝生研制  版权所有  南宁市建政路51号  邮编:530023 ' COLOR R/W 
  314.  ON KEY LABEL Escape do Rquit
  315.  SET CLOCK TO 23, 69
  316.  RETU
  317. *
  318. PROC _xz
  319.  IF sr<>'1'
  320.       hh = RECNO()
  321.       zd = 'A'+ALLTRIM(STR(hh))
  322.       SELE xjb
  323.       APPE BLANK
  324.       REPL &zd with xj,pzh with pz 
  325.       IF m_jje<>0
  326.            REPL jfhj WITH xj
  327.       ELSE
  328.            REPL dfhj WITH xj
  329.       ENDI
  330.       ON KEY LABEL ctrl+w
  331.       KEYB '{ctrl+w}'
  332.  ELSE
  333.       ?? CHR(7)
  334.       WAIT WINDOW TIMEOUT 2 '本项目不需输入!'
  335.  ENDI
  336.  RETU
  337. *
  338. PROC _quit
  339.  zxj = m_xj
  340.  ON KEY LABEL ctrl+w
  341.  KEYB '{ctrl+w}'
  342.  ON KEY LABEL escape
  343.  RETU
  344. *
  345. PROC _xjbsr
  346.  m_jje = jje
  347.  m_dje = dje
  348.  IF m_jje<>0
  349.       zxj = m_jje
  350.  ELSE
  351.       zxj = m_dje
  352.  ENDI
  353.  pd_kmdm = SUBSTR(ALLTRIM(kmdm), 1, 3)
  354.  IF '101'=pd_kmdm .OR. '102'=pd_kmdm .OR. '109'=pd_kmdm
  355.       ?? CHR(7)
  356.       DEFI WINDOW mxzye FROM 0, 14 TO 6, 48 SHADOW TITLE '现金流量表辅助系统' COLOR N/BG,GR+/B,W/G,,
  357.       ACTI WINDOW mxzye
  358.       IF m_jje<>0
  359.            @ 1, 5 SAY '现金增加               元'
  360.       ELSE
  361.            @ 1, 5 SAY '现金减少               元'
  362.       ENDI
  363.       @ 1, 14 SAY zxj
  364.       @ 2, 5 SAY '记入现金流量表吗?'
  365.       SET COLOR TO GR+/RB, N/BG
  366.       @ 3, 15 PROMPT ' 否 '
  367.       @ 3, 7 PROMPT ' 是 '
  368.       xz = 0
  369.       MENU TO xz
  370.       IF xz=2
  371.            DEAC WINDOW mxzye
  372.       ELSE
  373.            xj = zxj
  374.            DO WHILE zxj>0
  375.                 xj = zxj
  376.                 m_xj = zxj
  377.                 DEFI WINDOW mxzye FROM 0, 14 TO 7, 48 SHADOW TITLE '拆分金额' COLOR N/BG,GR+/B,W/G,,
  378.                 ACTI WINDOW mxzye
  379.                 ON KEY LABEL enter
  380.                 ON KEY LABEL escape ?? CHR(7)
  381.                 @ 1, 5 SAY '可拆分金额:'
  382.                 @ 1, 17 SAY zxj
  383.                 @ 4, 4 SAY '当现金金额是几笔业务组成时,要将现金拆分,分别记入现金流量表'
  384.                 @ 2, 7 SAY '本笔金额:' GET xj VALID xj>0 .AND. xj<=zxj
  385.                 READ
  386.                 zxj = zxj-xj
  387.                 DEFI WINDOW mxzye FROM 3, 7 TO 22, 65 SHADOW TITLE '现金流量表辅助生成系统' COLOR N/BG,GR+/RB,W/R,,
  388.                 ACTI WINDOW mxzye
  389.                 ON KEY LABEL enter do _xz
  390.                 ON KEY LABEL escape do _quit
  391.                 ON KEY LABEL ctrl+w ?? chr(7)
  392.                 ON KEY LABEL ctrl+q ?? chr(7)
  393.                 SELE xjllb
  394.                 IF m_jje=0
  395.                      pd_lr = '1'
  396.                 ELSE
  397.                      pd_lr = '2'
  398.                 ENDI
  399.                 BROW FOR b<>pd_lr FIELDS xm :H = '请选择记入现金流量表的项目', h :H = '行' NOAPPEND NOEDIT NODELETE
  400.            ENDD
  401.            DEAC WINDOW mxzye
  402.            ON KEY
  403.            SELE pzk
  404.       ENDI
  405.  ENDI
  406.  RETU
  407. *