Hcino Novato
Registrado: Sexta-Feira, 26 de Junho de 2009 Mensagens: 1
|
Enviada: Ter Jun 04, 2013 6:07 pm Assunto: Impressao direta com Rave Report |
|
|
Olá pessoal, estou precisando de uma ajuda com urgência em relação a impressao de cupom nao fiscal direto na impressora.
Já tenho a fonte toda pronto dentro do onPrintFooter do RVSysitem componente do Rave Report que imprime blzinha em impressoras jato de tinta e outras como a Tonner, mas já na matricial imprime só em uma linha, ou seja, nao pula de linha.
Tenho no OnBeforePrint o seguinte:
RvSystemPre_Venda.SystemPreview.FormState:=wsmaximized; //Inicia de forma maximinizada
rvsystemPre_Venda.DefaultDest:=rdpreview; //Mostra como o relatorio será impresso
// pode ser tbm rdfile -> cria diretamente um arquivo com o relatorio
//pode ser tbm rdprint -> que irá imprimir direto
rvsystemPre_Venda.SystemPrinter.Units:=uncm;// defini a unidade de medida
rvsystemPre_Venda.SystemPreview.RulerType:=rtbothcm;// defini se irá mostrar as reguas ou não
rvsystemPre_Venda.SystemPreview.PagesHigh:=200; // altura da pagina
with Sender as TBaseReport do
begin
// SetPaperSize(DMPAPER_10X14, 21.0,29.7); // Tamanho do Papel
// Tabulacao 1
ClearTabs;
SetTab(0.2, PjLeft, 3.8, 0.10, BOXLINENONE, 0);
SetTab(0.2, PjcENTER, 3.0, 0.10, BOXLINENONE, 0);
SaveTabs(1);
// tabulacao 2
ClearTabs;
SetTab(0.2, PjLeft, 3.8, 0.10, BOXLINENONE, 0);
SetTab(0.2, PjLeft, 0.5, 0.2, BOXLINENONE, 0);
SetTab(NA, PjLeft, 1.6, 0.2, BOXLINENONE, 0);
SetTab(0.2, PjLeft, 1.0, 0.2, BOXLINENONE, 0);
SetTab(NA, PjLeft, 0.6, 0.2, BOXLINENONE, 0);
SetTab(NA, PjRight,0.7, 0.2, BOXLINENONE, 0);
SetTab(NA, PjRight,0.8, 0.2, BOXLINENONE, 0);
SaveTabs(2);
// tabulacao 3
ClearTabs;
SetTab(0.2, PjLeft, 3.8, 0.10, BOXLINENONE, 0);
SetTab(0.2, PjLeft, 0.5, 0.10, BOXLINENONE, 0);
SetTab(NA, PjLeft, 1.3, 0.10, BOXLINENONE, 0);
SetTab(NA, PjCENTER, 0.3, 0.10, BOXLINENONE, 0);
SetTab(NA, PjRight, 0.5, 0.10, BOXLINENONE, 0);
SetTab(NA, PjRight, 0.5, 0.10, BOXLINENONE, 0);
SaveTabs(3);
// tabulacao 4
ClearTabs;
SetTab(0.2, PjLeft, 3.8, 0.10, BOXLINENONE, 0);
SetTab(0.6, PjLeft, 1.7, 0.10, BOXLINENONE, 0);
SetTab(NA, PjLeft, 0.5, 0.10, BOXLINENONE, 0);
SetTab(NA, pjRight,0.5, 0.10, BOXLINENONE, 0);
SaveTabs(4);
end;
No evento OnPrinterFooter tenho:
with Sender as TBaseReport do
begin
// YPos := 0.8;
RestoreTabs(2);
SetFont('Courier New', 7);
Bold := False;
Item:=0;
NewLine;
Item:=Item+1;
PrintTab('');
PrintTab('');
PrintTab('');
PrintTab('DATA DE EMISSÃO:');
PrintTab(DMIB.IBRESUMO_PRE_VENDADATA.AsString);
PrintTab('VENDEDOR(A):');
PrintTab(DMIB.IBRESUMO_PRE_VENDAVENDEDOR.AsString);
NewLine;
Item:=Item+1;
PrintTab('');
PrintTab('');
PrintTab('');
PrintTab('NUMERO: ');
PrintTab(DMIB.IBRESUMO_PRE_VENDANUM_RESUMO.AsString);
PrintTab('');
PrintTab('Solicitado(a)');
NewLine;
Item:=Item+1;
PrintTab('============================================================');
NewLine;
Item:=Item+1;
PrintTab('');
PrintTab(DMIB.IBVendasCODCLI.AsString);
PrintTab(DMIB.IBVendasCLIENTE.AsString);
PrintTab('');
PrintTab('');
PrintTab('');
PrintTab(DMIB.IBVendasTELEFONE.AsString);
NewLine;
Item:=Item+1;
PrintTab('============================================================');
NewLine;
Item:=Item+1;
PrintTab(' ***CUPOM PARA SIMPLES CONFERENCIA*** ');
NewLine;
Item:=Item+1;
PrintTab('============================================================');
end;
With Sender as TBaseReport do
begin
YPos := 1.6;
SetFont('Courier New', 7); // escolha de fonte
Bold := False;
RestoreTabs(3);
PrintTab('');
PrintTab('CODIGO');
PrintTab('PRODUTO');
PrintTab('QDE');
PrintTab('VLR');
PrintTab('TOTAL');
NewLine;
Item:=Item+1;
PrintTab('============================================================');
DMIB.IBQItens_Pre.First;
while not DMIB.IBQItens_Pre.Eof do
begin
NewLine;
Item:=Item+1;
PrintTab('');
PrintTab(DMIB.IBQItens_PreCODPROD.AsString);
PrintTab(copy(DMIB.IBQItens_PreDES_PRODUTO.AsString, 1, 23));
PrintTab(DMIB.IBQItens_PreQTD_PRODUTO.AsString);
PrintTab(FloatToStrF(DMIB.IBQItens_PrePRECO_UNIT.Value, FFFixed, 12, 2));
PrintTab(FloatToStrF(DMIB.IBQItens_PreVALOR_TOTAL.Value, FFFixed, 12, 2));
if Item > 100 then
begin
RvSystemFecha_Venda.BaseReport.NewPage; // Muda a página
RestoreTabs(3);
Item:=0;
end;
DMIB.IBQItens_Pre.Next;
end;
end;
With Sender as TBaseReport do
begin
// YPos := 2.0;
SetFont('Courier New', 7); // escolha de fonte
Bold := False;
RestoreTabs(4);
NewLine;
Item:=Item+1;
NewLine;
Item:=Item+1;
PrintTab('');
PrintTab('TOTAL ITENS.............:');
PrintTab('');
PrintTab(DMIB.IBRESUMO_PRE_VENDAITENSNOPED.AsString);
NewLine;
Item:=Item+1;
NewLine;
Item:=Item+1;
PrintTab('');
PrintTab('TOTAL LIQUIDO............:');
PrintTab('');
PrintTab(FloatToStrF(DMIB.IBResumo_Pre_VendaTOTALPRE_VENDA.Value, FFFixed, 12, 2));
NewLine;
Item:=Item+1;
NewLine;
Item:=Item+1;
NewLine;
Item:=Item+1;
PrintTab(' ...................................... ');
PrintTab('');
PrintTab('');
PrintTab('');
NewLine;
Item:=Item+1;
NewLine;
Item:=Item+1;
PrintTab('============================================================');
PrintTab('');
PrintTab('');
PrintTab('');
NewLine;
Item:=Item+1;
PrintTab(' ***ESTE CUPOM NÃO TEM EFEITO FISCAL*** ');
PrintTab('');
PrintTab('');
PrintTab('');
NewLine;
Item:=Item+1;
PrintTab('============================================================');
PrintTab('');
PrintTab('');
PrintTab('');
begin
Bold := False;
PrintTab('');
NewLine;
Item:=Item+1;
NewLine;
Item:=Item+1;
NewLine;
Item:=Item+1;
NewLine;
Item:=Item+1;
end;
// lin := lin + 30;
end;
Desde já agradeço a força.
Vlu |
|