cForm = FULLPATH(CURDIR()) + "\IMPRESS\TECPRIMA"

TSEXEC("T","SELECT * FROM Tsl ","TSL")
       
cQesp = PARAMETRO.ESPCUP
       
nImpc = 1
       
DO WHILE nImpc = 1
        
*   SYS(1037) && INDICAR IMPRESSORA
        
   ??? CHR(18)
    
   ??? REPLICATE(" ",cQEsp) + REPLICATE("=",32) + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + DTOC(DATE()) + REPLICATE(" ",14) + TIME() + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + space(int((32 - len(AllTrim(AllTrim(TSL.NOME)))) / 2))+AllTrim(AllTrim(TSL.NOME)) + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + space(int((32 - len(AllTrim(AllTrim(TSL.ENDERECO)))) / 2))+AllTrim(AllTrim(TSL.ENDERECO)) + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + space(int((32 - len(AllTrim("Fone: " + AllTrim(TSL.FONE)))) / 2))+AllTrim("Fone: " + AllTrim(TSL.FONE)) + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + space(int((32 - len(AllTrim("< FECHAMENTO DE CAIXA >"))) / 2))+AllTrim("< FECHAMENTO DE CAIXA >") + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(10)+CHR(13)
   SELECT * FROM TSM002A WHERE CODMOV = 2 INTO CURSOR TMP_ABE1
   SELECT TMP_ABE1
   GO TOP IN TMP_ABE1
   ??? REPLICATE(" ",cQEsp) + "Abertura: " + TRANSFORM(TMP_ABE1.VLR,"9,999,999.99") + CHR(13)+CHR(10)
   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(10)+CHR(13)
   nTotale = 0
   nTotals = 0
   SELECT TSM002A
   SET FILTER TO CODMOV = 1 .Or. CODMOV = 6
   GO TOP IN TSM002A
   DO WHILE ! EOF("TSM002A")
           
      *??? REPLICATE(" ",cQEsp) + DTOC(TSM002A.EMISSAO) + " " + TSM002A.HORA + " " + TSM002A.COMPLEMENT + CHR(13)+CHR(10)
      cCodSeq = TSM002A.CONTSEQ
      nSelect = "SELECT * FROM Tsm002b WHERE ?cCodSeq = SEQBX "
      TSEXEC("T",nSelect,"TSM002B")
      SELECT TSM002B
      IF RECCOUNT() = 0
         cNom1 = SUBSTR(TSM002A.COMPLEMENT+SPACE(40),1,17)
      ELSE
         cNom1 = SUBSTR(TSM002B.NOME+SPACE(40),1,17)
      ENDIF
*      IF cImpDet = 1
         *??? REPLICATE(" ",cQEsp) + cNom1 + " " + TRANSFORM(TSM002A.VLR,"999,999.99") + " " + TSM002A.TIPO + CHR(13)+CHR(10)
*      ENDIF
      
      IF TSM002A.TIPO = 'C'
         nTotale = nTotale + TSM002A.VLR + TSM002A.TROCO
      ELSE
         nTotals = nTotals + TSM002A.VLR + TSM002A.TROCO
      ENDIF
      
      SKIP IN TSM002A
      LOOP
      
   ENDDO


   ??? REPLICATE(" ",cQEsp) + SPACE(11) + "Creditos: " + TRANSFORM(nTotale,"999,999.99") + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + SPACE(11) + "Debitos.: " + TRANSFORM(nTotals,"999,999.99") + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + SPACE(11) + "Total...: " + TRANSFORM((nTotale - nTotals),"999,999.99") + CHR(10)+CHR(13)
   cTotalMov = (nTotale - nTotals)
   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + " " + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + "Tipos de Recebimento" + CHR(10)+CHR(13)

   nSelect = "SELECT SUM(VALOR) AS VALOR,DESCRICAO,CODIGO FROM Tslv020b WHERE ?cAbert[3] = SEQCX GROUP BY DESCRICAO,CODIGO "
   TSEXEC("T",nSelect,"TMP_TTO1")

   nSelect = "SELECT SUM(VALOR) AS VALOR,DESCRICAO,CODIGO FROM Tslv010b WHERE ?cAbert[3] = SEQCX GROUP BY DESCRICAO,CODIGO "
   TSEXEC("T",nSelect,"TMP_TTC1")
   
   CREATE CURSOR TMP_CONTASR;
   (VALOR N(12,2),;
    DESCRICAO C(30),;
    CODIGO N(11))

   SELECT TMP_TTO1
   GO TOP IN TMP_TTO1
   DO WHILE ! EOF("TMP_TTO1")
      
      SELECT TMP_CONTASR
      APPEND BLANK IN TMP_CONTASR

      REPLACE TMP_CONTASR.CODIGO    WITH TMP_TTO1.CODIGO
      REPLACE TMP_CONTASR.DESCRICAO WITH TMP_TTO1.DESCRICAO
      REPLACE TMP_CONTASR.VALOR     WITH TMP_TTO1.VALOR


      SKIP IN TMP_TTO1
      LOOP

   ENDDO

   SELECT TMP_TTC1
   GO TOP IN TMP_TTC1
   DO WHILE ! EOF("TMP_TTC1")
      
      cCodc1 = TMP_TTC1.CODIGO
      
      SELECT TMP_CONTASR
      GO TOP IN TMP_CONTASR
      LOCATE FOR cCodc1 = TMP_CONTASR.CODIGO
      IF FOUND("TMP_CONTASR")
         SELECT TMP_CONTASR
         REPLACE TMP_CONTASR.VALOR WITH TMP_CONTASR.VALOR + TMP_TTC1.VALOR
      ELSE
         SELECT TMP_CONTASR
         APPEND BLANK IN TMP_CONTASR
   
         REPLACE TMP_CONTASR.CODIGO    WITH TMP_TTC1.CODIGO
         REPLACE TMP_CONTASR.DESCRICAO WITH TMP_TTC1.DESCRICAO
         REPLACE TMP_CONTASR.VALOR     WITH TMP_TTC1.VALOR
      ENDIF

      SKIP IN TMP_TTC1
      LOOP
    
   ENDDO
   
   select sum(troco) as troco from tsm002a into cursor tmp_trocos
   SELECT TMP_CONTASR
   GO TOP IN TMP_CONTASR
   LOCATE FOR 1 = TMP_CONTASR.CODIGO
   IF FOUND("TMP_CONTASR")
      REPLACE TMP_CONTASR.VALOR WITH TMP_CONTASR.VALOR + TMP_TROCOS.TROCO
   ENDIF

   SELECT TMP_CONTASR
   GO TOP IN TMP_CONTASR
   DO WHILE ! EOF("TMP_CONTASR")
   
      ??? REPLICATE(" ",cQEsp) + SUBSTR(TMP_CONTASR.DESCRICAO,1,20) + TRANSFORM(TMP_CONTASR.VALOR,"9,999,999.99") + CHR(13) + CHR(10)

      SKIP IN TMP_CONTASR
      LOOP

   ENDDO
   
   
   && suplemento e sangria
   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + "Suplemento/Sangria do Caixa"+CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(10)+CHR(13)
   nTotale = 0
   nTotals = 0
   SELECT TSM002A
   SET FILTER TO CODMOV = 3 .Or. CODMOV = 4
   GO TOP IN TSM002A
   DO WHILE ! EOF("TSM002A")
      
      IF TSM002A.TIPO = 'C'
         cNom2 = 'Suplemento'
      ELSE
         cnom2 = 'Sangria'
      ENDIF
      
      ??? REPLICATE(" ",cQEsp) + DTOC(TSM002A.EMISSAO) + " " + TSM002A.HORA + " " + cNom2 + CHR(13)+CHR(10)
      cCodSeq = TSM002A.CONTSEQ
      nSelect = "SELECT * FROM Tsm002b WHERE ?cCodSeq = SEQBX "
      TSEXEC("T",nSelect,"TSM002B")
      SELECT TSM002B
      IF RECCOUNT() = 0
         cNom1 = SUBSTR(TSM002A.COMPLEMENT+SPACE(40),1,17)
      ELSE
         cNom1 = SUBSTR(TSM002B.NOME+SPACE(40),1,17)
      ENDIF
      ??? REPLICATE(" ",cQEsp) + cNom1 + " " + TRANSFORM(TSM002A.VLR,"999,999.99") + " " + TSM002A.TIPO + CHR(13)+CHR(10)
      
      IF TSM002A.TIPO = 'C'
         nTotale = nTotale + TSM002A.VLR
      ELSE
         nTotals = nTotals + TSM002A.VLR
      ENDIF
      
      SKIP IN TSM002A
      LOOP
      
   ENDDO
   
   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + SPACE(9) + "Suplemento: " + TRANSFORM(nTotale,"999,999.99") + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + SPACE(9) + "Sangria...: " + TRANSFORM(nTotals,"999,999.99") + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + SPACE(9) + "Total.....: " + TRANSFORM((nTotale - nTotals),"999,999.99") + CHR(10)+CHR(13)
   cTotalSan = (nTotale - nTotals)
   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + " " + CHR(10)+CHR(13)
*   ??? REPLICATE(" ",cQEsp) + "Tipos de Saida" + CHR(10)+CHR(13)
*   SELECT TSM002A
*   SET FILTER TO
*   SELECT SUM(DIN) AS DIN,SUM(CHE) AS CHE,SUM(CARC) AS CARC,SUM(CARD) AS CARD,SUM(CARF) AS CARF,SUM(TIC) AS TIC,SUM(TROCO) AS TROCO FROM TSM002A;
*   WHERE CODMOV = 3 .and. TIPO = 'C' .Or. CODMOV = 4 .and. TIPO = 'C' INTO CURSOR TMP_111
*   GERACURSOR("TMP_111","TMP_11")
*   SELECT SUM(DIN) AS DIN,SUM(CHE) AS CHE,SUM(CARC) AS CARC,SUM(CARD) AS CARD,SUM(CARF) AS CARF,SUM(TIC) AS TIC,SUM(TROCO) AS TROCO FROM TSM002A;
*   WHERE CODMOV = 3 .and. TIPO = 'D' .Or. CODMOV = 4 .And. TIPO = 'D' INTO CURSOR TMP_112
*   GERACURSOR("TMP_112","TMP_12")
*   GERACURSOR("TMP_11","TMP_1")
*   GO TOP IN TMP_11
*   GO TOP IN TMP_12
*   SELECT TMP_1
*   GO TOP IN TMP_1
**   REPLACE TMP_1.DIN   WITH (TMP_11.DIN - TMP_12.DIN)
*   REPLACE TMP_1.CHE   WITH (TMP_11.CHE - TMP_12.CHE)
*   REPLACE TMP_1.CARC  WITH (TMP_11.CARC - TMP_12.CARC)
*   REPLACE TMP_1.CARD  WITH (TMP_11.CARD - TMP_12.CARD)
*   REPLACE TMP_1.CARF  WITH (TMP_11.CARF - TMP_12.CARF)
*   REPLACE TMP_1.TIC   WITH (TMP_11.TIC - TMP_12.TIC)
*   REPLACE TMP_1.TROCO WITH (TMP_11.TROCO - TMP_12.TROCO)
   
*   SELECT TMP_1
*!*       IF TMP_1.DIN > 0
*      ??? REPLICATE(" ",cQEsp) + "Dinheiro......: " + TRANSFORM(TMP_1.DIN + TMP_1.TROCO,"9,999,999.99") + CHR(10)+CHR(13)
**!*	        ENDIF
**!*	        IF TMP_1.CHE > 0
*      ??? REPLICATE(" ",cQEsp) + "Cheque........: " + TRANSFORM(TMP_1.CHE,"9,999,999.99") + CHR(10)+CHR(13)
*!*	        ENDIF
*!*	        IF TMP_1.CARC > 0
*      ??? REPLICATE(" ",cQEsp) + "Cartao Credito: " + TRANSFORM(TMP_1.CARC,"9,999,999.99") + CHR(10)+CHR(13)
*!*	        ENDIF
*!*	        IF TMP_1.CARD > 0
*      ??? REPLICATE(" ",cQEsp) + "Cartao Debito.: " + TRANSFORM(TMP_1.CARD,"9,999,999.99") + CHR(10)+CHR(13)
*!*	        ENDIF
*!*	        IF TMP_1.CARF > 0
*      ??? REPLICATE(" ",cQEsp) + "Carta Frete...: " + TRANSFORM(TMP_1.CARF,"9,999,999.99") + CHR(10)+CHR(13)
*!*	        ENDIF
*!*	        IF TMP_1.TIC > 0
*      ??? REPLICATE(" ",cQEsp) + "Ticket........: " + TRANSFORM(TMP_1.TIC,"9,999,999.99") + CHR(10)+CHR(13)
*!*	        ENDIF
        
*   nSelect = "SELECT Tslv020.*,Tslc001.CLINOM,Tslc005.DESCRICAO FROM Tslv020 LEFT JOIN Tslc001 ON Tslv020.CODCLI = Tslc001.CLICOD "
*   nSelect = nselect + "LEFT JOIN Tslc005 ON Tslv020.CODFORM = Tslc005.CODIGO WHERE Tslv020.FECH = ?cAbert[3] "
*   TSEXEC("T",nSelect,"TMP_020")
        
*   nSelect = "SELECT Tslv010.*,Tslc001.CLINOM,Tslc005.DESCRICAO FROM Tslv010 LEFT JOIN Tslc001 ON Tslv010.CODCLI = Tslc001.CLICOD "
*   nSelect = nSelect + "LEFT JOIN Tslc005 ON Tslv010.CODFORM = Tslc005.CODIGO WHERE Tslv010.FECH = ?cAbert[3] "
*   TSEXEC("T",nSelect,"TMP_010")
        
*   SELECT TMP_020.DESCRICAO,TMP_020.LIQUIDO FROM TMP_020 UNION SELECT TMP_010.DESCRICAO,TMP_010.LIQUIDO FROM TMP_010 INTO CURSOR TMP_FORMA1
*   SELECT DESCRICAO,SUM(LIQUIDO) AS LIQUIDO FROM TMP_FORMA1 GROUP BY DESCRICAO INTO CURSOR TMP_FORMA
*   SELECT TMP_FORMA
*   GO TOP IN TMP_FORMA
        
*   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(13)+CHR(10)
*   ??? REPLICATE(" ",cQEsp) + "Vendas por Forma de Pagamento" + CHR(13)+CHR(10)
*   cTotalv = 0
        
*   DO WHILE ! EOF("TMP_FORMA")
           
*      ??? REPLICATE(" ",cQEsp) + TMP_FORMA.DESCRICAO + " " + TRANSFORM(TMP_FORMA.LIQUIDO,"9,999,999.99") + CHR(13) + CHR(10)
*      cTotalv = cTotalv + TMP_FORMA.LIQUIDO
      
*      SKIP IN TMP_FORMA
*      LOOP
      
*   ENDDO
   
*   ??? REPLICATE(" ",cQEsp) + " " + CHR(13)+CHR(10)
*   ??? REPLICATE(" ",cQEsp) + "Total Vendas: " + TRANSFORM(cTotalv,"9,999,999.99") + CHR(13)+CHR(10)
*   ??? REPLICATE(" ",cQEsp) + " " + CHR(13)+CHR(10)
*   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(13)+CHR(10)
*   cTotalMov = (nTotale - nTotals)
   ??? REPLICATE(" ",cQEsp) + "R E S U M O  D O  C A I X A" + CHR(13)+CHR(10)
   ??? REPLICATE(" ",cQEsp) + REPLICATE("-",32) + CHR(13)+CHR(10)
   ??? REPLICATE(" ",cQEsp) + "Abertura de Caixa.: " + TRANSFORM(TMP_ABE1.VLR,"9,999,999.99") + CHR(13)+CHR(10)
   ??? REPLICATE(" ",cQEsp) + "Total Movimentacao: " + TRANSFORM(cTotalMov,"9,999,999.99") + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + "Suplemento/Sangria: " + TRANSFORM(cTotalSan,"9,999,999.99") + CHR(10)+CHR(13)
   cTotalcx1 = (TMP_ABE1.VLR + cTotalMov + cTotalSan)
   ??? REPLICATE(" ",cQEsp) + "Total Caixa.......: " + TRANSFORM(cTotalCx1,"9,999,999.99") + CHR(10)+CHR(13)
   SELECT * FROM TSM002A WHERE CODMOV = 5 INTO CURSOR TMP_FEC1
   SELECT TMP_FEC1
   GO TOP IN TMP_FEC1
   ??? REPLICATE(" ",cQEsp) + "Valor Fechamento..: " + TRANSFORM(TMP_FEC1.VLR,"9,999,999.99") + CHR(10)+CHR(13)
   ??? REPLICATE(" ",cQEsp) + "Diferenca Caixa...: " + TRANSFORM((TMP_FEC1.VLR - cTotalCx1),"9,999,999.99") + CHR(10)+CHR(13)
        
   cCodProc = PARAMETRO.CODECF
   cData    = DATE()
   nSelect = "SELECT SEQ FROM Tslv020 WHERE ?cCodProc = CODIMP AND ?cData = DATA AND EXCLUI <> 'S' "
   TSEXEC("T",nSelect,"TMP_CC1")
   
   nSelect = "SELECT SEQ FROM Tslv010 WHERE ?cCodProc = CODIMP AND ?cData = DATA AND EXCLUI <> 'S' "
   TSEXEC("T",nSelect,"TMP_CC2")
   
   SELECT TMP_CC1
   cCc1 = RECCOUNT()
   SELECT TMP_CC2
   cCc2 = RECCOUNT()
   cCc3 = cCc1 + cCc2
   ??? REPLICATE(" ",cQEsp) + "Total de Pessoas..: " + TRANSFORM(cCc3,"999999999") + CHR(10)+CHR(13)
   ??? chr(10) + chr(13)
   ??? chr(10) + chr(13)
   ??? chr(10) + chr(13)
   ??? chr(10) + chr(13)
   ??? chr(10) + chr(13)
   ??? chr(10) + chr(13)
   ??? chr(27) + chr(119)
   
   SET PRINTER TO
   
   IF MESSAGEBOX("A Impresso Saiu Corretamente   ",36,"Impresso Caixa") = 6
      nImpc = 2
      EXIT
   ENDIF
ENDDO

*MESSAGEBOX(cArquivoi)

*DO FORM &cForm WITH cArquivoi,6