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 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 + "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)

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 = 'PEAS' WHERE COD_TIPO = '1'
UPDATE TMP_IMPRIMIR SET TIPO = 'SERVIOS' 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

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

cObs = "TESTE DE OBS"

REPORT FORM &cReport TO PRINTER PROMPT PREVIEW