Perguntas Relatorio em TMSPrinter

Mais
8 anos 8 meses atrás #29098 por anizio.souza
Boa noite galera!

To precisando de uma ajuda.
Possuo um relatorio em TMSPrinter que está rodando bacana para um registro. Mas quando há mais de um registro não imprime nada nas variáveis.

O fonte está sendo executado a partir da SL2 setando, quando orçamento tem apenas um item a impressão sai direitinho, mas a partir de dois itens não imprime. Segue o fonte, se alguém puder me dá um dica/ajuda desde já agradeço.


#INCLUDE "RWMAKE.CH"
#INCLUDE "FONT.CH"
#INCLUDE "COLORS.CH"
#INCLUDE "PROTHEUS.CH"



//******************************************************************************
//Programa para gerar o Bilhete da Garantia Estendida
//Por Anizio Souza
// Data 20/07/2015
//******************************************************************************

USER FUNCTION BILGAREST()

Private cQuery :=""
Private cQrySL1 :=""


dbSelectArea("SL2")
DbSetOrder(1)
SL2->(DbSeek(xFilial("SL2")+SL1->L1_NUM))
ALERT(SL2->L2_NUM+" / "+SL2->L2_FILIAL)

_cOrcOrig := SL2->L2_NUM

_cDesc := SUBSTR(SL2->L2_DESCRI,20,1)



oprn:=TMSPrinter():New("BILHETE DE SEGURO DE GARANTIA ESTENDIDA ORIGINAL")

DEFINE FONT oFont08 NAME "Arial" SIZE 0,08 OF oPrn
DEFINE FONT oFont09n NAME "Arial" SIZE 0,09 Bold OF oPrn
DEFINE FONT oFont09 NAME "Arial" SIZE 0,09 OF oPrn
DEFINE FONT oFont10 NAME "Arial" SIZE 0,10 OF oPrn
DEFINE FONT oFont10n NAME "Arial" SIZE 0,10 Bold OF oPrn
DEFINE FONT oFont102 NAME "Courier New" SIZE 0,09 Bold OF oPrn
DEFINE FONT oFont11n NAME "Arial" SIZE 0,11 Bold OF oPrn
DEFINE FONT oFont11 NAME "Arial" SIZE 0,11 OF oPrn
DEFINE FONT oFont112 NAME "COurier New" SIZE 0,11 Bold OF oPrn
DEFINE FONT oFont12n NAME "Arial" SIZE 0,12 Bold Italic OF oPrn
DEFINE FONT oFont12i NAME "Arial" SIZE 0,12 Italic OF oPrn
DEFINE FONT oFont12 NAME "Arial" SIZE 0,12 OF oPrn
DEFINE FONT oFont13n NAME "Arial" SIZE 0,12 Bold OF oPrn
DEFINE FONT oFont13 NAME "Arial" SIZE 0,12 OF oPrn
DEFINE FONT oFont14n NAME "Arial" SIZE 0,14 Bold OF oPrn
DEFINE FONT oFont14 NAME "Arial" SIZE 0,14 OF oPrn
DEFINE FONT oFont16n NAME "Arial" SIZE 0,16 Bold OF oPrn
DEFINE FONT oFont16 NAME "Arial" SIZE 0,16 OF oPrn
DEFINE FONT oFontX NAME "Arial" SIZE 0,09 Bold Italic Underline OF oPrn
DEFINE FONT oFontY NAME "Arial" SIZE 0,09 Bold OF oPrn
DEFINE PEN oPen WIDTH 10 OF oPrn //STYLE ... COLOR ... WIDTH ...

#define DMPAPER_LETTER 1 // Letter 8 1/2 x 11 in
#define DMPAPER_LETTERSMALL 2 // Letter Small 8 1/2 x 11 in
#define DMPAPER_TABLOID 3 // Tabloid 11 x 17 in
#define DMPAPER_LEDGER 4 // Ledger 17 x 11 in
#define DMPAPER_LEGAL 5 // Legal 8 1/2 x 14 in
#define DMPAPER_EXECUTIVE 7 // Executive 7 1/4 x 10 1/2 in
#define DMPAPER_A3 8 // A3 297 x 420 mm
#define DMPAPER_A4 9 // A4 210 x 297 mm
#define DMPAPER_A4SMALL 10 // A4 Small 210 x 297 mm
#define DMPAPER_A5 11 // A5 148 x 210 mm
#define DMPAPER_B4 12 // B4 250 x 354
#define DMPAPER_B5 13 // B5 182 x 257 mm
#define DMPAPER_FOLIO 14 // Folio 8 1/2 x 13 in
#define DMPAPER_NOTE 18 // Note 8 1/2 x 11 in
#Define PAD_LEFT 0
#Define PAD_RIGHT 1
#Define PAD_CENTER 2


oprn:setPaperSize(1)
//oprn:SayBitmap ( 10, 80, "\SYSTEM\LOGO3.jpg", 400, 400, )
oprn:Setup()
oPrn:SetPortrait()
oprn:StartPage()

//fonte arial em italico
oFont1:= TFont():New( "Arial",,10,,.F.,,,,,.F.,.T. )


//SELECT PARA RETRNAR A DATA DA EMISSÃO DA VENDA QUE GEROU A GARANTIA - VENDA DO PRODUTO.
cQrySL1 :=" SELECT X.L2_EMISSAO, SB1.B1_YGARFAB, SL2.L2_NUM, X.L2_PRODUTO, SL2.L2_NUMORIG "
cQrySL1 +=" FROM SB1010 SB1, SL2010 AS SL2 "
cQrySL1 +=" LEFT OUTER JOIN "
cQrySL1 +=" (SELECT * FROM SL2010 L2 WHERE L2.D_E_L_E_T_='') X ON SL2.L2_NUMORIG=X.L2_NUM AND SL2.L2_FILIAL=X.L2_FILIAL "
cQrySL1 +=" WHERE SL2.L2_NUM='"+_cOrcOrig+"' AND SL2.L2_FILIAL='"+xFilial("SL2")+"' AND SL2.D_E_L_E_T_='' AND X.L2_PRODUTO=SB1.B1_COD "


dbUseArea(.T.,"TOPCONN",TcGenQry(,,CHANGEQUERY(cQrySL1)),"TRBSL1",.T.,.F.)

dbSelectArea("TRBSL1")
dbGotop()

dFimVig := Dtoc(Stod(TRBSL1->L2_EMISSAO)+TRBSL1->B1_YGARFAB)
dIniCob := DaySum(CTOD(DFIMVIG),1)
dFCob1 := DaySum(CTOD(DFIMVIG),365)
dFCob2 := DaySum(CTOD(DFIMVIG),730)



cQuery := "SELECT L2_PRODGAR, B1_DESC, B1_FABRIC, L1_CLIENTE, L2_VLRITEM,A1_NOME, A1_CGC, A1_TEL, A1_END, A1_BAIRRO, A1_COMPLEM, "
cQuery += " A1_MUN, A1_CEP, A1_EST, B1_MODELO, B1_PRV1, ROUND(L2_VLRITEM - (L2_VLRITEM/1.0738),2) IOF, ROUND((L2_VLRITEM/1.0738),2) VLIQ "
cQuery += " FROM SL2010 AS A "
cQuery += " INNER JOIN SB1010 AS B ON B.D_E_L_E_T_ = '' AND B.B1_COD = A.L2_PRODGAR "
cQuery += " INNER JOIN SL1010 AS C ON C.D_E_L_E_T_ = '' AND C.L1_FILIAL = A.L2_FILIAL AND C.L1_NUM = A.L2_NUM "
cQuery += " INNER JOIN SA1010 AS D ON D.D_E_L_E_T_ = '' AND D.A1_COD = C.L1_CLIENTE "
cQuery += " WHERE A.L2_PRODUTO = '000000' "
cQuery += " AND A.L2_RESERVA <> '' "
cQuery += " AND A.L2_NUM = '"+_cOrcOrig+"' AND A.L2_FILIAL = '"+xFilial("SL2")+"' "
cQuery += " ORDER BY A.L2_ITEM"

dbUseArea(.T.,"TOPCONN",TcGenQry(,,CHANGEQUERY(cQuery)),"qMOV",.T.,.F.)

dbSelectArea("qMOV")
dbGotop()

oPrn:Say (50,800,"BILHETE DE SEGURO DE GARANTIA ESTENDIDA ORIGINAL",oFont12n,,0)
oPrn:Say (100,500, "Grupo 01 - Patrimonial - Ramo 95 - Garantia Estendida/ Bens em Geral - Processo SUSEP No. 15414.902123/2013-15",oFont10,,0)
oPrn:Say (150,500,"Virginia Surety Companhia de Seguros do Brasil - www.virginiasurety.com.br - CNPJ: 03.505.295/0001-46 - Código",oFont10,,0)
oPrn:Say (200,500,"SUSEP 06530 -",oFont10,,0)
oPrn:Say (200,790,"''O registro deste plano na SUSEP não implica, por parte da Autarquia, incentivo ou recomendação a", oFont1,,0)
oPrn:Say (250,500, "sua comercialização.''", oFont1,,0)

oPrn:Box(350,100,1250,2400) //CAIXA CENTRAL

oPrn:Say (400,120, "Corretor: " +GETMV("MV_YCORRET"), oFont10,,0)
oPrn:Say (400,1500, "Registro na SUSEP: " +GETMV("MV_YREGSUS"), oFont10,,0)
oPrn:Say (450,120, "Eletroeletrônicos/ Móveis", oFont10,,0)
oPrn:Say (450,800, "Programa: Garantia Estendida", oFont10,,0)
oPrn:Say (450,1700, "Cobertura Contratada: Troca", oFont10,,0)
oPrn:Say (500,120, "Representante de Seguros: " + SM0->M0_NOMECOM, oFont10,,0)
oPrn:Say (500,1700, "CNPJ: "+SUBSTR(SM0->M0_CGC,1,2)+"."+SUBSTR(SM0->M0_CGC,3,5)+"."+SUBSTR(SM0->M0_CGC,6,8)+"/"+SUBSTR(SM0->M0_CGC,9,12)+"-"+SUBSTR(SM0->M0_CGC,13,14), oFont10,,0)
_cFilial := Val(xFilial("SL2"))
oPrn:Say (550,120, "Número do Bilhete: 461306"+STRZERO(_cFilial,6)+GetMv("MV_YNSEQAP"), oFont10n,,0) // <<====== CONFIGURADO PARA TROCA GARANTIDA
oPrn:Say (550,1500, "CANAIS DE ATENDIMENTO: 0800 198 915", oFont10n,,0)
oPrn:Say (600,120, "Atendimento a deficientes auditivos ou de fala: 0800 728 0837", oFont10n,,0)
oPrn:Say (600,1500, "E-mail: Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.", oFont10n,,0)
oPrn:Say (650,120, "Segurado: "+ Alltrim(qMOV->A1_NOME), oFont10,,0)
oPrn:Say (650,1350, "CPF: "+Substr(qMOV->A1_CGC,1,3)+"."+Substr(qMOV->A1_CGC,4,3)+"."+Substr(qMOV->A1_CGC,7,3)+"-"+Substr(qMOV->A1_CGC,10,2), oFont10,,0)
oPrn:Say (650,1800, "Telefone: (092) 9"+Substr(qMOV->A1_TEL,1,4)+"-"+Substr(qMOV->A1_TEL,5,4), oFont10,,0)
oPrn:Say (700,120, "Endereço: "+ALLTRIM(qMOV->A1_END), oFont10,,0)
oPrn:Say (700,1270, "Bairro: "+ALLTRIM(qMOV->A1_BAIRRO), oFont10,,0)
oPrn:Say (700,2050, "Número: " , oFont10,,0)
oPrn:Say (750,120, "Compl: " + ALLTRIM(qMOV->A1_COMPLEM), oFont10,,0)
oPrn:Say (750,900, "Cidade: "+ ALLTRIM(qMOV->A1_MUN), oFont10,,0)
oPrn:Say (750,1500, "CEP: "+SUBSTR(qMOV->A1_CEP,1,5)+"-"+SUBSTR(qMOV->A1_CEP,6,3), oFont10,,0)
oPrn:Say (750,2050, "UF: "+qMOV->A1_EST, oFont10,,0)
oPrn:Say (800,120, "Data Emissão do Seguro: " +Dtoc(dDataBase), oFont10,,0)
oPrn:Say (800,900, "Data Compra do Bem: " +Dtoc(Stod(TRBSL1->L2_EMISSAO)), oFont10,,0)
oPrn:Say (850,120, "PERÍODO DA GARANTIA ORIGINAL: " +Dtoc(Stod(TRBSL1->L2_EMISSAO))+" a " + dFimVig, oFont10,,0)
If _cDesc = '1' //365
oPrn:Say (900,120, "PERÍODO DE VIGÊNCIA DA COBERTURA DO SEGURO: "+DTOC(Stod(DTOS(dIniCob)))+" a "+DTOC(stod(DTOS(dFCob1))), oFont10,,0)
Endif
If _cDesc = '2' //730
oPrn:Say (900,120, "PERÍODO DE VIGÊNCIA DA COBERTURA DO SEGURO: "+DTOC(Stod(DTOS(dIniCob)))+" a "+DTOC(stod(DTOS(dFCob2))), oFont10,,0)
Endif
oPrn:Say (950,120, "Limite Máximo de Indenização: " + TRANSFORM(qMOV->B1_PRV1,'@E 999,999.99'), oFont10,,0)
oPrn:Say (1000,120, "Produto Segurado: " +ALLTRIM(qMOV->B1_DESC), oFont10,,,0)
oPrn:Say (1050,120, "Marca: " +ALLTRIM(qMOV->B1_FABRIC), oFont10,,0)
oPrn:Say (1050,900, "Modelo: " +ALLTRIM(qMOV->B1_MODELO), oFont10,,0)
oPrn:Say (1050,1500, "Valor do Produto Segurado: " + TRANSFORM(qMOV->B1_PRV1,'@E 999,999.99'), oFont10,,0)
oPrn:Say (1100,120, "Prêmio Líquido: " +TRANSFORM(qMOV->VLIQ,'@E 999,999.99'), oFont10,,0)
oPrn:Say (1100,900, "IOF: " +TRANSFORM(qMOV->IOF,'@E 99,999.99'), oFont10,,0)
oPrn:Say (1100,1500, "Prêmio Total à vista: " +TRANSFORM(qMOV->L2_VLRITEM,'@E 999,999.99'), oFont10,,0)
oPrn:Say (1180,120, "Lei 12.741/12 - Incidem sobre o prêmio líquido as alíquotas de 0,65% de PIS e de 4% de COFINS, deduzidas do estabelecido em legislação específica.", oFont09,,0)
oPrn:Say (1300,100, "Este Seguro contempla as mesmas coberturas e exclusões da garantia contratual do produto.", oFont10,,0)
oPrn:Say (1300,1590, "Guarde o Certificado de Garantia e o Manual do", oFont10n,,0)
oPrn:Say (1350,100, "Fabricante do seu produto.", oFont10n,,0)
oPrn:Say (1400,100, "Riscos Excluídos", oFont10n,,0)
oPrn:Say (1450,100, "Não estão cobertos pelo Seguro, além das exclusões da Garantia Original, as seguintes hipóteses,situações, custos e/ou condições: (a)", oFont10n,2000,,0)
oPrn:Say (1500,100, "Quaisquer danos, situações e prejuízos que não sejam o reparo ou a troca do Bem Segurado, e/ou que não sejam causados exclusiva-", oFont10n,2000,,0)
oPrn:Say (1550,100, "mente por um defeito coberto pela Garantia Original do Bem Segurado e; (b) Qualquer peça, situação e/ou risco que não conste como", oFont10n,2000,,0)
oPrn:Say (1600,100, "coberta na Garantia Original do Bem Segurado. Além das exclusões acima mencionadas, não estarão cobertos por este seguro, ", oFont10n,2000,,0)
oPrn:Say (1650,100, "qualquer que seja o Bem Segurado,defeitos,lucros cessantes,responsabilidade civil,danos ou perdas decorrentes ou causados direta", oFont10n,2000,,0)
oPrn:Say (1700,100, "ou indiretamente por: (a) Atos ilícitos dolosos ou por culpa grave equiparável ao dolo praticados pelo Segurado, pelo beneficiário ou", oFont10n,2000,,0)
oPrn:Say (1750,100, "pelo representante, de um ou de outro e; (b) Atos ilícitos dolosos ou por culpa grave equiparável ao dolo praticados pelos Sócios", oFont10n,2000,,0)
oPrn:Say (1800,100, "Controladores, Dirigentes, Administradores Legais, Beneficiário e seus respectivos Representantes, quando Seguro contratado por", oFont10n,2000,,0)
oPrn:Say (1850,100, "pessoa jurídica.", oFont10n,,0)

//*******************************************
//FECHAR AREA DE TRABALHO DA DATA DE EMISSÃO

dbSelectArea("TRBSL1")
DbClosearea("TRBSL1")
//********************************************

oPrn:Say (1900,100, "Documentos necessários em caso de sinistro: (a) Bilhete de Seguro; (b) Documento Fiscal do Produto Segurado; (c) CPF ou outro", oFont10n,,0)
oPrn:Say (1950,100, "documento de Identificação do Segurado;(d)Certificado de Garantia Original e Manual do Produto Segurado,se houver.Mediante dúvida", oFont10n,2000,,0)
oPrn:Say (2000,100, "fundamentada e justificável, a Seguradora pode solicitar documentos adicionais. Prazo Máximo da Indenização: 30 (trinta) dias,", oFont10n,2000,,0)
oPrn:Say (2050,100, "contados a partir da entrega do Produto Segurado na assistência técnica indicada pela Seguradora ou, a partir do aviso do sinistro nos", oFont10n,,0)
oPrn:Say (2100,100, "casos de atendimento domiciliar ou envio do produto via correios.", oFont10n,2000,,0)

oPrn:Say (2150,100, "Obrigações do Segurado (o descumprimento poderá causar perda de direitos): (a) Cumprir o plano e as instruções de manutenção", oFont10n,,0)
oPrn:Say (2200,100, "determinado pelo fabricante para o produto; (b) Não colocar o produto em lugares perigosos, ou expo-lo a situações de risco; (c)", oFont10n,,0)
oPrn:Say (2250,100, "Contatar a Seguradora imediatamente em caso de sinistro,dentro do período de vigência da cobertura e solicitar a aprovação prévia da", oFont10n,,,0)
oPrn:Say (2300,100, "realização de qualquer reparo no produto.", oFont10n,2000,,0)

oPrn:Say (2350,100, "É proibido condicionar desconto no preço do bem à aquisição do seguro. A contratação do seguro é opcional, sendo possível a", oFont10n,,0)
oPrn:Say (2400,100, "desistência em até 7 (sete) dias com a devolução integral do valor pago . A desistência poderá ser solicitada na própria loja ou por meio", oFont10n,,0)
oPrn:Say (2450,100, "dos Canais de Atendimento da Seguradora.", oFont10n,,0)

oPrn:Say (2500,100, "Caso o segurado já tenha contatado os Canais de Atendimento mencionados no quadro acima e não tenha se sentido satisfeito, poderá", oFont10,,,0)
oPrn:Say (2550,100, "acionar a Ouvidoria pelo email:ouvidoria@virginiasurety.com.br ou pelo telefone 0800 727 4586, informando o número de protocolo do", oFont10,,,0)
oPrn:Say (2600,100, "atendimento.", oFont10,,0)
oPrn:Say (2650,100, "Declaro que: as informações contidas neste Bilhete são verdadeiras; tive conhecimento prévio da íntegra das Condições Contratuais do", oFont10,,,0)
oPrn:Say (2700,100, "Seguro Extensão de Garantia Original; recebi as Informações Gerais do seguro; e concordo com todos os termos neles contidos.", oFont10,,0)
oPrn:Say (2750,100, "Manaus, " +Dtoc(dDataBase), oFont10,,0) //(Variável: Cidade e data de emissão)


oprn:SayBitmap ( 2800, 100, "\SYSTEM\logo_ass_GAR.jpg", 2000, 400, )
//oprn:SayBitmap ( 2800, 100, "C:\TOTVS\Microsiga\Protheus_Data\system\logo_assinatura.JPG", 2000, 400, )

oPrn:Say (3200,100, "Mais informações podem ser consultadas por meio da SUSEP: 0800 021 8484 ou www.susep.gov.br , pelo link “Consulta de Produtos’’", oFont11,,0)


oprn:EndPage()
//oprn:Preview()

//Inicia uma nova página
//oprn:setPaperSize(1)
//oprn:Setup()
//oPrn:SetPortrait()
oprn:StartPage()
//oprn:SayBitmap ( 10, 80, "C:\TOTVS\Microsiga\Protheus_Data\system\logo3.JPG", 400, 400, )


oPrn:Box(350,100,2000,2400, oPen )

oPrn:Say (400,400, "TERMO DE AUTORIZAÇÃO DE COBRANÇA DE PRÊMIO DE SEGURO", oFont14n,,,0)
oPrn:Say (600,200, "Eu, ____________________________________________________________, inscrito no CPF/MF sob o nº", oFont12,,,0)
oPrn:Say (700,200, "___________________________, proponente do seguro Seguro de Garantia Estendida Original, descrito na", oFont12,,,0)
oPrn:Say (800,200, "Proposta/Bilhete de Seguro número 00000000000000, autorizo que o pagamento do prêmio de seguro seja", oFont12,,,0)
oPrn:Say (900,200, "realizado em conjunto com o pagamento do(s) produtos(s)/serviço(s) ora adquirido(s). ", oFont12,,,0)
//oPrn:Say (1000,200, "produtos(s)/serviço(s) ora adquirido(s). ", oFont12,,,0)
oPrn:Say (1100,1000, "Manaus,"+Dtoc(dDataBase), oFont12,,,0)
oPrn:Say (1200,750, "__________________________________________", oFont12,,,0)
oPrn:Say (1400,200, "Notas: ", oFont12,,,0)
oPrn:Say (1500,250, "1) O segurado poderá desistir do seguro contratado no prazo de 7 (sete) dias corridos a contar da ", oFont12,,,0)
oPrn:Say (1600,300, "assinatura da proposta, no caso de contratação por apólice individual, ou da emissão do bilhete, no", oFont12,,,0)
oPrn:Say (1700,300, "caso de contratação por bilhete, ou do efetivo pagamento do prêmio, o que ocorrer por último.", oFont12,,,0)
//oPrn:Say (1800,300, "do prêmio, o que ocorrer por último.", oFont12,,,0)
oPrn:Say (1800,250, "2) No caso de pagamento de prêmio fracionado, considera-se o pagamento da primeira parcela como", oFont12,,,0)
oPrn:Say (1900,300, "efetivo pagamento.", oFont12,,,0)


oprn:EndPage()
oprn:Preview()
oprn:Setup()
oPrn:End()
dbSelectArea("qMOV")
DbClosearea()

RETURN


Cordialmente,

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 7 meses atrás - 8 anos 7 meses atrás #29125 por anizio.souza
Respondido por anizio.souza no tópico Relatorio em TMSPrinter
Resolvido. Alterado para incluir reservas conforme array.
Ultima edição: 8 anos 7 meses atrás por anizio.souza.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.096 segundos
Joomla templates by a4joomla