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)
ALTER TABLE TMP_IMPRIMIR ADD COLUMN VTOTALA N(12,2)

UPDATE TMP_IMPRIMIR SET VTOTALA = VTOTALP
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'

tParcelas = 0
cParcelas = ""

cCodFor = TMP_IMPRIMIR.SEQ005
nSelect = "SELECT * FROM Tslc005 WHERE ?cCodFor = CODIGO "
TSEXEC("T",nSelect,"TMP_FOR")


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

SELECT SUM(RECVALOR) AS RECVALOR FROM TMP_PARCELAS INTO CURSOR TMP_TOTAL1
SELECT TMP_TOTAL1
IF RECCOUNT() > 0


   cTxTot  = TMP_TOTAL1.RECVALOR / TMP_IMPRIMIR.TGERAL
   
   SELECT TMP_IMPRIMIR
   GO TOP IN TMP_IMPRIMIR
   DO WHILE ! EOF("TMP_IMPRIMIR")
      
      REPLACE TMP_IMPRIMIR.VUNIT WITH (TMP_IMPRIMIR.VUNIT * cTxTot)
      REPLACE TMP_IMPRIMIR.VTOTALP WITH TMP_IMPRIMIR.VUNIT * TMP_IMPRIMIR.QUANT

      SKIP IN TMP_IMPRIMIR
      LOOP

   ENDDO

ENDIF


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
