home *** CD-ROM | disk | FTP | other *** search
/ Software Du Jour / SoftwareDuJour.iso / BUSINESS / DBASE / DB3.ARC / COSTBILL.PRG < prev    next >
Text File  |  1984-10-25  |  5KB  |  138 lines

  1.           ***********  Costbill COMMAND FILE  ***********
  2. * This file accepts inputs for supplier bills.
  3. *      When the agency has bought an item without paying a use tax on it,
  4. * the item is added to the Invoices file (not Billings), then is used by the
  5. * Salestax program so that the Quarterly Sales Tax report can be prepared by
  6. * the computer.
  7. *
  8. * A temporary file called Gettemp is used for data entry because the operator
  9. * can decide to quit on an incomplete entry, which is marked for deletion.
  10. * When the data is APPENDed to the Postfile, these entries are eliminated (the
  11. * APPEND command does not transfer records marked for deletion).  An entry must
  12. * include at least the name of a supplier and the amount of the bill.  If these
  13. * are not both supplied, the entry is flagged for correction or deletion.
  14. ********************************************************************
  15. SET FUNCTION 10 TO 'USE TAX ENTRY'
  16. *
  17. SELECT 1
  18. STORE 'Y' TO Bills
  19. DO WHILE Bills <> ' '
  20.    CLEAR
  21.    APPEND BLANK
  22.    Entering = .T.
  23.    DO WHILE Entering
  24.       Row = 0
  25.       @  1, 0 SAY 'Supplier Bills'
  26.       @  3, 0 SAY '           Entry'+ STR(RECNO(),5)
  27.       @  5, 0 SAY '          CLIENT' GET Client PICTURE '!!!'
  28.       @  6, 0 SAY '      JOB NUMBER' GET Job_Nmbr 
  29.       @  7, 0 SAY '          AMOUNT' GET Amount
  30.       @  8, 0 SAY '     BILL NUMBER' GET Bill_Nmbr PICTURE '!!!!!!!'
  31.       @  9, 0 SAY '       BILL DATE' GET Bill_Date
  32.       @ 10, 0 SAY '   SUPPLIER NAME' GET Name PICTURE '!!!!!!!!!!!!!!!!!!!!'
  33.       @ 11, 0 SAY '     DESCRIPTION' GET Descrip PICTURE '!!!!!!!!!!!!!!!!!!!!'
  34.       @ 11,50 SAY 'Untaxed items press &F10 '
  35.       READ
  36.       @ 12,0 CLEAR
  37.       IF Descrip = 'USE' .AND. (Job_Nmbr > 100 .OR. Client <> 'OFC')
  38.          @ 13,0 SAY 'USE TAX applies only to materials that the AGENCY uses.'
  39.          @ 14,0 SAY 'CLIENT must be "OFC" and JOB NUMBER must be 2 digits.'
  40.          Row = Row + 2
  41.       ENDIF
  42.       *
  43.       IF Job_Nmbr <= 0 .OR. (Job_Nmbr>99 .AND. Job_nmbr<1000)
  44.          @ 13+Row,0 SAY '        The JOB NUMBER is wrong.'
  45.          Row = Row + 1
  46.       ENDIFè      *
  47.       IF ' ' $ Client
  48.          @ 13+Row,0 SAY '        The CLIENT entry is wrong.'
  49.          Row = Row + 1
  50.       ENDIF
  51.       *
  52.       IF Amount = 0 .OR. Name <= ' '
  53.          @ 13+Row,0 SAY '        AMOUNT or NAME blank.'
  54.          Row = Row + 1
  55.       ENDIF
  56.       *
  57.       Bills = ' '
  58.       @ 14+Row,0 SAY '        &F3 to CONTINUE.'
  59.       @ 15+Row,0 SAY '        &F4 to EDIT.'
  60.       @ 16+Row,0 SAY 'Press <ENTER> to terminate entry: ' 
  61.       *
  62.       SET COLOR TO  , 
  63.       @ 16+Row,40 GET Bills
  64.       READ
  65.       SET COLOR TO W, ,W
  66.       *
  67.       @ 13+Row,0 CLEAR
  68.       Entering = .F.
  69.       *** IF Row is greater than zero an error has occurred ***
  70.       IF Row > 0 .AND. ( Bills = ' ' .OR. UPPER(Bills) = 'C' )
  71.          DELETE
  72.       ELSE
  73.          IF ( Bills <> ' ' .AND. UPPER(Bills) <> 'C' )
  74.             Entering = .T.
  75.          ENDIF
  76.       ENDIF
  77.    ENDDO Entering
  78. ENDDO Bills
  79. *
  80. COUNT FOR .NOT. DELETED() TO Any
  81. IF Any = 0
  82.    CLEAR
  83.    @ 3,0 SAY '        No valid entries to add to the files.'
  84.    WAIT 
  85. ELSE
  86.    *
  87.    * Checks names against a list of suppliers to catch spelling and
  88.    * abbreviation inconsistencies.
  89.    DO Nametest With "1"
  90.    *
  91.    CLEAR
  92.    @  3,25 SAY ' *** DO NOT INTERRUPT ***'
  93.    @  5,25 SAY ' UPDATING THE POSTING FILE'
  94.    SELECT 1
  95.    GO TOP
  96.    DO WHILE .NOT. EOF()
  97.      IF .NOT. DELETED()
  98.         SELECT 2
  99.         APPEND BLANK
  100.         REPLACE Check_date WITH B->Check_date,Check_nmbr WITH B->Check_nmbr,;
  101.                 Client WITH B->Client,Job_nmbr WITH B->Job_nmbr,Amount WITH ;
  102.                 B->Amount,Name WITH B->Name
  103.         REPLACE Descrip WITH B->Descrip,Bill_date WITH B->Bill_date,Bill_nmbr;
  104.                 WITH B->Bill_nmbr,Hours WITH B->Hours,Emp_nmbr WITH B->Emp_nmbr
  105.         SELECT 1
  106.      ENDIF
  107.      SKIP
  108.    ENDDO
  109.    *
  110.    * If there are any USE TAX entries, they are transferred to the Invoice
  111.    * file with the following loop so that the Use Tax can be paid to the state.
  112.    *         The amount of the bill is entered in the "Taxable" column.  The
  113.    * job number is entered into the Invoice Number column.  Since invoices
  114.    * have 5 digits, while job numbers are under 100, we use this to separate
  115.    * the two types of entries later in the SalesTax.PRG file.  The name of
  116.    * the supplier is placed in the "Date Received" field to make this billè   * easier to find if we ever have to dig it out of the Costbase.
  117.    * We SELECT 1 and 8 work areas to step through the GetBills file one entry
  118.    * at a time.  Any "use tax" entries are entered in Invoices
  119.    GO TOP
  120.    DO WHILE .NOT. EOF()
  121.       IF Descrip = 'USE' .AND. .NOT. DELETED()
  122.          SELECT 8
  123.          APPEND BLANK
  124.          REPLACE Inv_Nmbr WITH STR(A->Job_Nmbr,4),Inv_Date WITH ;
  125.                  A->Bill_Date, Client WITH 'USE',Taxable WITH ;
  126.                  A->Amount
  127.          SELECT 1
  128.       ENDIF
  129.       SKIP
  130.    ENDDO
  131.    *
  132. ENDIF
  133. *
  134. SELECT 1
  135. ZAP
  136. SET FUNCTION 10 TO 'edit;'
  137. RETURN
  138.