home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / billing.zip / POSTCLT.PRG < prev    next >
Text File  |  1986-11-10  |  3KB  |  81 lines

  1. *--[ postclt.prg ]-- post tasks to client records and age clt balances
  2. SET PROCEDURE TO procfile
  3. SELECT 1
  4. USE client INDEX cltcode ALIAS clt
  5. IF MONTH(LUPDATE())=MONTH(DATE())
  6.     CLEAR
  7.     SET COLOR TO W*+
  8.     @ 12,15 SAY "CLIENT BALANCES HAVE ALREADY BEEN POSTED THIS MONTH"
  9.     SET COLOR TO W
  10.     ?
  11.     ?
  12.     WAIT "                                   PRESS RETURN"
  13.     CLEAR
  14.     RETURN
  15. ENDIF
  16. SELECT 2
  17. USE taskunit INDEX taskdate ALIAS task
  18. ok=.F.
  19. DO WHILE .NOT. ok
  20.     CLEAR
  21.     start_date=CTOD(STR(MONTH(DATE()),2,0)+"/01/"+SUBSTR(STR(YEAR(DATE()),4,0),3,2))
  22.     end_date=CTOD(STR(MONTH(DATE())+1,2,0)+"/01/"+SUBSTR(STR(YEAR(DATE()),4,0),3,2))
  23.     m_client=101
  24.     end_clt=999
  25.     @ 16,15 SAY "ENTER STARTING DATE FOR REPORT    "
  26.     @ 16,COL() GET start_date PICTURE "@D"
  27.     @ 17,15 SAY "ENTER ENDING DATE FOR REPORT      "
  28.     @ 17,COL() GET end_date PICTURE "@D"
  29.     READ
  30.     SET COLOR TO W+*
  31.     @ 23,15 SAY "ARE THE POSTING PARAMETERS CORRECT [ ]"
  32.     SET COLOR TO W
  33.     @ 23,COL()-2 GET ok PICTURE "@L"
  34.     READ
  35. ENDDO WHILE .NOT. ok
  36. STORE 0 TO total_fee,fee
  37. SELECT clt
  38. CLEAR
  39. SET COLOR TO W+
  40. ? "        TENNESSEE DATA CONSULTING STATUS OF ACCOUNTS FOR "+CMONTH(start_date)
  41. SET COLOR TO W
  42. ? "==========================================================================="
  43. ? "CLIENT NAME                CURRENT   OVER_30   OVER_60   OVER_90    TOTAL "
  44. ? "------------------------- --------- --------- --------- --------- ---------"
  45. DO WHILE .NOT. EOF()
  46.     fee=0
  47.     DO get_task
  48.     m_client=c_code
  49.     SELECT task
  50.     DO WHILE c_code=m_client
  51.         * task has already been posted to client
  52.         IF post_clt
  53.             SKIP
  54.             IF EOF()
  55.                 EXIT
  56.             ENDIF EOF()
  57.             LOOP
  58.         ENDIF post_clt
  59.         fee=IIF(charge,fee+clt->rate*hours,fee)
  60.         REPLACE post_clt WITH .T.
  61.         SKIP
  62.     ENDDO WHILE c_code=m_client
  63.     SELECT clt
  64.     REPLACE over_90 WITH over_90+over_60,over_60 WITH over_30,over_30 WITH current,current WITH fee
  65.     REPLACE yr_to_date WITH yr_to_date+fee
  66.     total_fee=total_fee+fee
  67.     ? SUBSTR(c_name,1,25)+STR(current,10,2)+STR(over_30,10,2)+STR(over_60,10,2)+STR(over_90,10,2)+STR(current+over_30+over_60+over_90,10,2)
  68.     fee=0
  69.     SKIP
  70.     m_client=c_code
  71. ENDDO WHILE .NOT. EOF()
  72. SUM current,over_30,over_60,over_90 TO s_cur,s_30,s_60,s_90
  73. ? "------------------------- --------- --------- --------- --------- ---------"
  74. ? "                         "+STR(s_cur,10,2)+STR(s_30,10,2)+STR(s_60,10,2)+STR(s_90,10,2)+STR(s_cur+s_30+s_60+s_90,10,2)
  75. ? "                          ========= ========= ========= ========= ========="
  76. ?
  77. ?
  78. WAIT "                    PRESS RETURN AFTER READING SCREEN"
  79. CLOSE PROCEDURE
  80. RETURN
  81.