home *** CD-ROM | disk | FTP | other *** search
- ******************* PAYMENT TO INVOICE.(PRGPMT.PRG)
- CLEAR
- SET BELL OFF
- SET CONFIRM ON
- SET TALK OFF
- SET EXACT ON
- STORE .T. TO OK
- DO WHILE OK
- STORE ' ' TO MINV
- STORE ' ' TO X
- STORE CTOD(' / / ') TO MNEWDATE
- STORE ' ' TO MCHKNO
- STORE ' ' TO MNAME
- STORE 0.00 TO MLSTPAY
- MNET=0.00
- OVER30=0.00
- OVER45=0.00
- OVER60=0.00
- MCHK=0.00
- MPAY=0.00
- USE CUST INDEX ACCT
- CLEAR
- @ 8,25 TO 10,52 DOUBLE
- @ 9,27 SAY 'Want to enter a payment?'
- ?
- ?
- STORE ' ' TO OPTION
- STORE ' ' TO X
- WAIT ' ? ' TO OPTION
- IF OPTION='N'
- RETURN
- ENDIF
- CLEAR
- ?
- ?
- ACCEPT " Enter acct number " TO X
- IF X=' '
- ? CHR(7)
- @ 15,40 SAY 'NO FIND'
- LOOP
- ENDIF
- FIND &X
- IF (EOF() .OR. BOF())
- @ 2,0 CLEAR
- *? CHR(7)
- @ 6,20 SAY " I can't find an account for # &X ..."
- LOOP
- ENDIF (EOF() .OR. BOF())
- CLEA
- @ 5,12 TO 12,65 DOUBLE
- @ 11,29 SAY 'Net due $ '+STR(NET,9,2)
- @ 6,15 SAY NAME
- @ 6,50 SAY ACCT
- @ 8,15 SAY ADDRESS
- @ 8,50 SAY CITY
- IF UCREDIT > 0.00
- SET COLOR TO /W
- @ 10,15 SAY 'Unapplied credits '
- @ 10,32 SAY UCREDIT
- SET COLOR TO W
- ENDIF
- @ 13,25 SAY 'Is this the correct account?'
- @ 14,0 SAY ' '
- WAIT ' ? ' TO OPTION
- IF OPTION='N'
- LOOP
- ENDIF
- CLEAR
- STORE LOWER(TRIM(NAME)) TO MNAME
- STORE 0 TO T
- STORE LEN(MNAME) TO T
- STORE (80-T)/2 TO T
- @ 0,23 TO 14,60 DOUBLE
- @ 1,T SAY MNAME
- @ 3,25 SAY 'Date last check received '
- @ 3,51 SAY NEWDATE
- @ 5,25 SAY 'New check date ' GET MNEWDATE
- @ 7,25 SAY 'Last check number '
- @ 7,44 SAY CHKNO
- @ 9,25 SAY 'New check number ' GET MCHKNO PICTURE 'XXXXXXXXXXXXXXX'
- @ 11,25 SAY 'Last amount of check '
- @ 11,47 SAY LSTPAY
- @ 13,25 SAY 'New check amount ' GET MLSTPAY PICTURE '999999.99'
- @ 23,10 SAY 'If check number is blank none of the above will be ì
- changed'
- READ
- IF MCHKNO<>' '
- REPLACE CHKNO WITH MCHKNO
- REPLACE LSTPAY WITH MLSTPAY
- REPLACE NEWDATE WITH MNEWDATE
- ENDIF
- @ 15,34 SAY 'Is this correct?'
- ?
- WAIT ' ? ' TO OPTION
- IF OPTION='N'
- EDIT RECNO()
- ENDIF
- CLEAR
- STORE LSTPAY TO MCHK
- STORE .T. TO MORE
- DO WHILE MORE
- SET HEADING OFF
- USE INV INDEX ACCTS
- CLEAR
- @ 3,31 SAY 'Just a moment...'
- FIND &X
- IF EOF()
- ? CHR(7)
- @ 2,0 CLEAR
- ? [ Holy credits Batman, &MNAME has no invoices.]
- ?
- ?
- ?
- WAIT ' Press any bat key to continue...'
- ?
- ? ' Keep the check Robin'
- ?
- RETURN
- ENDIF
- USE INV
- CLEA
- @ 0,T SAY MNAME
- ? ' Inv.# PO # Date Price Credits Payments ì
- Due'
- ? ' ì
- ~~~~~ ~~~~ ~~~~ ~~~~~ ~~~~~~~ ~~~~~~~~ ~~~'
- DISPLAY ALL OFF INVNO,PONO,NEWDATE,PRICE,CRINV,AMTAPPL,NET FOR ì
- ACCT=X
- STORE 1 TO POS
- IF POS=16
- STORE 1 TO POS
- ENDIF
- STORE ' ' TO MINV
- @ 17,66 CLEAR
- @ 17,66 SAY '|~~~~~~~~~~~~~'
- @ 18,66 SAY '|'
- @ 19,66 SAY '|'
- @ 20,66 SAY '|'
- @ 21,66 SAY '|'
- @ 22,66 SAY '|'
- @ 23,66 SAY '|_____________'
- @ 18,67 SAY 'Bal'
- @ 18,71 SAY STR(MCHK-MPAY,7,2)
- @ 19,67 SAY '-------------'
- @ 20,67 SAY 'Inv#' GET MINV
- READ
- IF MINV=' '
- RETURN
- ENDIF
- SET COLOR TO /W
- @ POS,67 SAY MINV
- @ 20,67 SAY 'WAIT'
- LOCATE FOR INVNO = MINV .AND. ACCT = X
- SET COLOR TO W
- IF EOF()
- ? CHR(7)
- @ 22,70 SAY 'NO'
- LOOP
- ENDIF
- @ 20,67 SAY 'Inv#'
- @ 22,67 SAY '$' GET AMTAPPL
- READ
- STORE 0.00 TO SUBTOT
- STORE AMTAPPL TO SUBTOT
- REPLACE NET WITH PRICE-AMTAPPL-CRINV
- @ POS,72 SAY STR(SUBTOT,6,2)
- IF NET<=0.00
- REPLACE PAYDATE WITH MNEWDATE
- ENDIF
- STORE AMTAPPL+MPAY TO MPAY
- IF NET<=0.00
- REPLACE PAID WITH .T.
- ENDIF
- @ 18,71 SAY STR(MCHK-MPAY,7,2)
- @ 20,61 CLEAR
- @ 23,69 SAY 'STOP? '
- WAIT ' ì
- Y or N 'TO OPTION
- STORE POS+1 TO POS
- IF OPTION='N'
- LOOP
- ENDIF
- IF OPTION = 'Y'
- CLEAR
- @ 15,T SAY MNAME
- SET EXACT ON
- SUM NET FOR ACCT=X TO MNET
- SET TALK ON
- USE CUST INDEX ACCT
- FIND &X
- REPLACE ALLPAY WITH ALLPAY+MCHK
- REPLACE NET WITH MNET
- CLEA
- SET TALK OFF
- ENDIF
- STORE .F. TO MORE
- *STORE .F. TO OK
- ENDDO
- ENDDO
- *RETURN
- SET HEADING OFF
- LOOP
- SET CONFIRM OFF
- *RETURN