TSEXEC("T","SELECT * FROM Tsl ","TSL")

nSelect = "SELECT Tslos01.*,Tslc045.PLACA,Tslc045.CHASSI,Tslc045.SEQ040,Tslc045.ANO,Tslc045.SEQ041,Tslc045.SEQ042,"
nSelect = nSelect + "Tslc045.SEQ043,Tslc045.SEQ044,Tslc046.DESCTIPO AS TORDEM,Tslc004.NOME AS USUARIO,"
nSelect = nSelect + "Tslc040.DESCMAR,Tslc041.DESCTIPO,Tslc042.DESCMOD,Tslc043.DESCCOR,Tslc001.CLINOM,"
nSelect = nSelect + "Tslc001.PESSOA,Tslc001.CLICPF,Tslc001.CLICGC,Tslc001.CLIRG,Tslc001.CLIINS,Tslc001.CLIEND,"
nSelect = nSelect + "Tslc001.CLIBAI,Tslc001.CLICID,Tslc001.CLICEP,Tslc001.CLIEST,Tslc001.CLITEL,Tslc001.CLIFAX,"
nSelect = nSelect + "Tslos02.COD_TIPO,Tslos02.COD_PROD,Tslos02.DESCRICAO,Tslos02.QUANT,Tslos02.VTOTAL AS VTOTALP,"
nSelect = nSelect + "Tslos02.OBS,Tslos02.VUNIT,Tslc003.CODBAR,Tslc003.LOCAL,Tslc005.DESCRICAO AS FORMA,Tslc001_3.NOME as MOTORISTA,"
nSelect = nSelect + "Tslc001_3.RG AS RGMOTO FROM Tslos01 "
nSelect = nSelect + "LEFT JOIN Tslc045 ON Tslos01.SEQ045 = Tslc045.SEQ045 "
nSelect = nSelect + "LEFT JOIN Tslc040 ON Tslc045.SEQ040 = Tslc040.SEQ040 "
nSelect = nSelect + "LEFT JOIN Tslc041 ON Tslc045.SEQ041 = Tslc041.SEQ041 "
nSelect = nSelect + "LEFT JOIN Tslc042 ON Tslc045.SEQ042 = Tslc042.SEQ042 "
nSelect = nSelect + "LEFT JOIN Tslc043 ON Tslc045.SEQ043 = Tslc043.SEQ043 "
nSelect = nSelect + "LEFT JOIN Tslc044 ON Tslc045.SEQ044 = Tslc044.SEQ044 "
nSelect = nSelect + "LEFT JOIN Tslc046 ON Tslos01.SEQ046 = Tslc046.SEQ046 "
nSelect = nSelect + "LEFT JOIN Tslc004 ON Tslos01.SEQ004 = Tslc004.CODIGO "
nSelect = nSelect + "LEFT JOIN Tslc001 ON Tslos01.SEQ001 = Tslc001.CLICOD "
nSelect = nSelect + "LEFT JOIN Tslos02 ON Tslos01.SEQOS01 = Tslos02.SEQOS01 "
nSelect = nSelect + "LEFT JOIN Tslc003 ON Tslos02.COD_PROD = Tslc003.CODIGO "
nSelect = nSelect + "LEFT JOIN Tslc005 ON Tslos01.SEQ005 = Tslc005.CODIGO "
nSelect = nSelect + "LEFT JOIN Tslc001_3 ON Tslos01.MOTOS = Tslc001_3.COD001_3 "
nSelect = nSelect + "WHERE ?cTabImp = Tslos01.SEQOS01 "
TSEXEC("T",nSelect,"TMP_IMPRIMIR1")
GERACURSOR("TMP_IMPRIMIR1","TMP_IMPRIMIR")
SELECT TMP_IMPRIMIR
ALTER TABLE TMP_IMPRIMIR ADD COLUMN SEGURO C(50)
ALTER TABLE TMP_IMPRIMIR ADD COLUMN TIPO C(10)
ALTER TABLE TMP_IMPRIMIR ADD COLUMN ENCERRANTE C(50)

GO TOP IN TMP_IMPRIMIR
IF TMP_IMPRIMIR.SEQ004E <> 0
   IF TMP_IMPRIMIR.SEQ004E = 999999
      cNomEnc = "Suporte"
   ELSE
      cCod004e = TMP_IMPRIMIR.SEQ004E
      nSelect = "SELECT NOME FROM Tslc004 WHERE ?cCod004e = CODIGO "
      TSEXEC("T",nSelect,"TMP_004E")
      
      SELECT TMP_004E
      cNomEnc = TMP_004E.NOME
   ENDIF
   SELECT TMP_IMPRIMIR
   UPDATE TMP_IMPRIMIR SET ENCERRANTE = cNomEnc
ENDIF

UPDATE TMP_IMPRIMIR SET CODBAR = PADL(ALLTRIM(STR(COD_PROD,16)),16,"0") WHERE COD_TIPO <> '1' .Or. ISNULL(CODBAR)
UPDATE TMP_IMPRIMIR SET TIPO = 'PECAS' WHERE COD_TIPO = '1'
UPDATE TMP_IMPRIMIR SET TIPO = 'SERVICOS' WHERE COD_TIPO = '2'
UPDATE TMP_IMPRIMIR SET TIPO = 'TERCEIRO' WHERE COD_TIPO = '3'

SELECT COD_TIPO,SUM(VTOTALP) AS VTOTAL FROM TMP_IMPRIMIR INTO CURSOR TMP_TOTAL GROUP BY COD_TIPO
SELECT TMP_TOTAL
GO TOP IN TMP_TOTAL
LOCATE FOR '1' = TMP_TOTAL.COD_TIPO
IF FOUND("TMP_TOTAL")
   tPeca = TMP_TOTAL.VTOTAL
ELSE
   tPeca = 0
ENDIF

SELECT TMP_TOTAL
GO TOP IN TMP_TOTAL
LOCATE FOR '2' = TMP_TOTAL.COD_TIPO
IF FOUND("TMP_TOTAL")
   tServico = TMP_TOTAL.VTOTAL
ELSE
   tServico = 0
ENDIF

SELECT TMP_TOTAL
GO TOP IN TMP_TOTAL
LOCATE FOR '3' = TMP_TOTAL.COD_TIPO
IF FOUND("TMP_TOTAL")
   tTerceiro = TMP_TOTAL.VTOTAL
ELSE
   tTerceiro = 0
ENDIF

nSelect = "SELECT * FROM Tsm003 WHERE ?cTabImp = SEQCUP AND FLAG = 'M' AND RECEST = 0 "
TSEXEC("T",nSelect,"TMP_PARCELAS")

tParcelas = 0
cParcelas = ""

SELECT TMP_PARCELAS
GO TOP IN TMP_PARCELAS
DO WHILE ! EOF("TMP_PARCELAS")

   cParcelas = cParcelas + DTOC(TMP_PARCELAS.RECVENCI) + " " + TRANSFORM(TMP_PARCELAS.RECVALOR,"9,999,999.99") + CHR(13)
   tParcelas = tParcelas + TMP_PARCELAS.RECVALOR

   skip in TMP_PARCELAS
   LOOP

ENDDO

IF MESSAGEBOX("Impressora Matricial   ",292,"Impresso") = 7

   SELECT TMP_IMPRIMIR
   GO TOP IN TMP_IMPRIMIR
   cReport = FULLPATH(CURDIR()) + "IMPRESS\TSOSM.FRX"

   REPORT FORM &cReport TO PRINTER PROMPT PREVIEW
   RETURN

ENDIF

SELECT TMP_IMPRIMIR
GO TOP IN TMP_IMPRIMIR

cObs = "TESTE DE OBS"

SYS(1037) && INDICAR IMPRESSORA

??? chr(18)

??? TSL.NOME + SPACE(14) + "Ordem N.: " + PADL(ALLTRIM(STR(TMP_IMPRIMIR.SEQOS01,6)),6,"0") + CHR(13) + CHR(10)

??? REPLICATE("-",80) + CHR(13) + CHR(10)

??? "Data Abertura: " + DTOC(TMP_IMPRIMIR.DATA) + space(2) + "Tipo Ordem: " + TMP_IMPRIMIR.TORDEM + SPACE(1) + "Atendente: " + SUBSTR(TMP_IMPRIMIR.USUARIO,1,19) + CHR(13) + CHR(10)

IF TMP_IMPRIMIR.SEQ004E <> 0
   ??? "Encerrante: " + TMP_IMPRIMIR.ENCERRANTE + CHR(13) + CHR(10)
ENDIF

??? "Cliente: " + PADL(ALLTRIM(STR(TMP_IMPRIMIR.SEQ001,6)),6,"0") + " - " + ALLTRIM(TMP_IMPRIMIR.CLINOM) + CHR(13) + CHR(10)

??? "Endereco: " + TMP_IMPRIMIR.CLIEND + CHR(13) + CHR(10)

??? "Bairro: " + SUBSTR(TMP_IMPRIMIR.CLIBAI,1,23) + SPACE(1) + "Cidade: " + SUBSTR(TMP_IMPRIMIR.CLICID,1,24) + space(1) + "Cep: " + Substr(TMP_IMPRIMIR.clicep,1,2) + "." + Substr(TMP_IMPRIMIR.clicep,3,3) + "-" + Substr(TMP_IMPRIMIR.clicep,6,3) + CHR(13) + CHR(10)

??? "Telefone: " + TMP_IMPRIMIR.CLITEL + SPACE(5) + "Fax: " + TMP_IMPRIMIR.CLIFAX + CHR(13) + CHR(10)

IF TMP_IMPRIMIR.PESSOA = 'FSICA'
   ??? "C.P.F.: " + MCPF(TMP_IMPRIMIR.CLICPF) + SPACE(10) + "R.G.: " + TMP_IMPRIMIR.CLIRG + CHR(13) + CHR(10)
ELSE
   ??? "C.N.P.J.: " + MCPF(TMP_IMPRIMIR.CLICGC) + SPACE(10) + "I.E.: " + TMP_IMPRIMIR.CLIINS + CHR(13) + CHR(10)
ENDIF

??? REPLICATE("-",80) + CHR(13) + CHR(10)

??? "Placa: " + TMP_IMPRIMIR.PLACA + SPACE(1) + "Chassi: " + TMP_IMPRIMIR.CHASSI + CHR(13) + CHR(10)

??? "Marca: " + TMP_IMPRIMIR.DESCMAR + SPACE(1) + "Tipo: " + TMP_IMPRIMIR.DESCTIPO + SPACE(1) + "Modelo: " + SUBSTR(TMP_IMPRIMIR.DESCMOD,1,15) + SPACE(1) + chr(13) + chr(10)

??? "Comb.: " + TMP_IMPRIMIR.TCOMB + SPACE(5) + "Ano: " + str(TMP_IMPRIMIR.ANO,4) + SPACE(5) + "Km: " + TRANSFORM(TMP_IMPRIMIR.KM,"999,999") + CHR(13) + CHR(10)

??? REPLICATE("-",80) + CHR(13) + CHR(10)

??? "Servicos" + CHR(13) + CHR(10)

nLin = 14

cRep = ALLTRIM(TMP_IMPRIMIR.REPARO)
cLin = MEMLINES(cRep)
cLin2 = 1
do while cLin => cLin2

   ??? MLINE(cRep,cLin2)+CHR(10)+CHR(13)
   
   cLin2 = cLin2 + 1
   nLin  = nLin + 1
   Loop

ENDDO

cCab = REPLICATE("-",80) + CHR(13) + CHR(10)

cCab = cCab + "T Codigo        Descricao                            Quant   Unitario      Total" + CHR(13) + CHR(10)

cCab = cCab +  REPLICATE("-",80) + CHR(13) + CHR(10)

nLin = nLin + 3

??? cCab

SELECT TMP_IMPRIMIR
GO TOP IN TMP_IMPRIMIR
DO WHILE ! EOF("TMP_IMPRIMIR")
   
   ??? SUBSTR(TMP_IMPRIMIR.TIPO,1,1) + SPACE(1) + SUBSTR(TMP_IMPRIMIR.CODBAR,4,13) + SPACE(1) + SUBSTR(TMP_IMPRIMIR.DESCRICAO,1,30) + SPACE(1) + TRANSFORM(TMP_IMPRIMIR.QUANT,"99999999.99") + SPACE(1) + TRANSFORM(TMP_IMPRIMIR.VUNIT,"999,999.99") + SPACE(1) + TRANSFORM(TMP_IMPRIMIR.VTOTALP,"999,999.99") + CHR(13) + CHR(10)
   
   nLin = nLin + 1

   IF ! EMPTY(ALLTRIM(TMP_IMPRIMIR.OBS))
      cRep = ALLTRIM(TMP_IMPRIMIR.OBS)
      cLin = MEMLINES(cRep)
      cLin2 = 1
      
      IF (nLin + cLin) > 59
         ??? CHR(12)
         ??? cCab
         nLin = 3
      ENDIF

      do while cLin => cLin2
      
         ??? MLINE(cRep,cLin2)+CHR(10)+CHR(13)
         
         cLin2 = cLin2 + 1
         nLin  = nLin + 1
         Loop
      
      ENDDO
   ENDIF
   
   IF nLin >= 59
      ??? CHR(12)
      ??? cCab
      nLin = 3
   ENDIF

   SKIP IN TMP_IMPRIMIR
   LOOP

ENDDO
SELECT TMP_IMPRIMIR
GO TOP IN TMP_IMPRIMIR

if nLin > 47
   ??? CHR(12)
   nLin = 3
ENDIF

??? REPLICATE("-",80) + CHR(13) + CHR(10)

??? "Fechamento: " + DTOC(TMP_IMPRIMIR.DTFECHAM) + SPACE(29) + "Total Pecas....: " + TRANSFORM(TPECA,"9,999,999.99") + CHR(13) + CHR(10)

??? "Parcelas: " + cParcelas + SPACE(51) + "Total Servicos.: " + TRANSFORM(TSERVICO,"9,999,999.99") + CHR(13) + CHR(10)

??? "Total Prazo: " + TRANSFORM(TPARCELAS,"9,999,999.99") + SPACE(26) + "Total Terceiro.: " + TRANSFORM(TTERCEIRO,"9,999,999.99") + CHR(13) + CHR(10)

??? SPACE(51) + "Total Desconto.: " + TRANSFORM(TMP_IMPRIMIR.DESCONTO,"9,999,999.99") + CHR(13) + CHR(10)

??? SPACE(51) + "Total Acrescimo: " + TRANSFORM(TMP_IMPRIMIR.ACRESC,"9,999,999.99") + CHR(13) + CHR(10)

??? SPACE(51) + "Total Geral....: " + TRANSFORM(TMP_IMPRIMIR.TGERAL,"9,999,999.99") + CHR(13) + CHR(10)

nLin = nLin + 7

DO WHILE nLin < 51
   
   ??? " " + CHR(13) + CHR(10)
   
   nLin = nLin + 1
   Loop

ENDDO

??? "Estou retirando (Veiculos / Pecas) o qual me comprometo a pagar conforme" + chr(13) + chr(10)

??? "o  prazo  combinado, sendo que caso nao o faca fica a empresa autorizada" + chr(13) + chr(10)

??? "a proceder de forma legal para efetuar o recebimento do mesmo." + chr(13) + chr(10)

??? " " + chr(13) + chr(10)

??? "FICO CIENTE QUE APOS O VENCIMENTO SERA COBRADO JUROS" + CHR(13) + CHR(10)

??? " " + CHR(13) + CHR(10)

??? "Assinatura por extenso: _____________________________ R.G.: " + ALLTRIM(TMP_IMPRIMIR.RGMOTO) + chr(13) + chr(10)

??? "                       " + ALLTRIM(TMP_IMPRIMIR.MOTORISTA) + CHR(13) + CHR(10)

??? chr(12)

SET PRINTER TO

SET PRINTER TO DEFAULT