Search the Community
Showing results for tags 'corte'.
-
Pessoal, estou usando o componente TACBrNFeDANFCeFortes para impressão da NFCe porem, mesmo ajustando as margens direita e esquerda , há o corte na impressão. Estou usando as propriedades: FDanfe.MargemDireita := 2; FDanfe.MargemEsquerda:= 2; outra duvida é: TACBrNFeDANFCeFortes está obsoleto? vejo alguns comentários antigos dizendo para usar o ESC-POS. Tem algum tutorial de como usar esse tipo de impressão em NFCe? grato.
-
Boa tarde caros, Estou com problemas na impressão do DANFE da NFE com o FastReport. As margens direita e esquerda ficam cortando. Em impressoras Laser da HP isso foi resolvido com a configuração da impressora no windows para redimensionar a impressão. Mas em impressoras laser da Brother, Xerox e Lexmark as bordas direita e esquerda ficam cortando, já acessei a configuração para redimensionamento automático nas configurações da impressora , mas ainda continua cortando as laterais (entre 1 e 3 mm). Quando exporto para PDF ou quando imprimo para uma impressora PDF o DANFE sai normalmente, mas se eu imprimir esse PDF sai cortando. Existe alguma propriedade do FastReport para redimensionar automaticamente ou vou ter que alterar o arquivo fr3 mesmo? Já fiz esse teste em várias maquinas virtuais e físicas com varias impressoras de marcas diferentes. Alem disso não estou setando margens em nenhum momento dentro da aplicação. Agradeço a atenção o/
-
Boa tarde amigos, venho expor um problema que tem afetado a impressão do extrato SAT no fortes. Já vi algumas reclamações no fórum, mas nada que tenha uma solução definitiva. Para simular o problema é só colocar um RLReport em um form e depois colocar um RLMemo vou colocar aqui o código do form exemplo, basta copiar e colar em um form object RLReport1: TRLReport Left = 767 Top = 175 Width = 280 Height = 378 Margins.LeftMargin = 2.000000000000000000 Margins.TopMargin = 2.000000000000000000 Margins.RightMargin = 2.000000000000000000 Margins.BottomMargin = 9.000000000000000000 Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -13 Font.Name = 'Arial' Font.Style = [] PageSetup.PaperSize = fpCustom PageSetup.PaperWidth = 74.000000000000000000 PageSetup.PaperHeight = 100.000000000000000000 PrintDialog = False ShowProgress = False object RLMemo1: TRLMemo Left = 26 Top = 51 Width = 227 Height = 34 Behavior = [beSiteExpander] Borders.Sides = sdCustom Borders.DrawLeft = True Borders.DrawTop = True Borders.DrawRight = True Borders.DrawBottom = True Font.Charset = ANSI_CHARSET Font.Color = clBlack Font.Height = -12 Font.Name = 'Arial' Font.Style = [fsBold] Lines.Strings = ( 'R DOUTOR JOSE NEUBERT DE OLIVEIRA 9999 - B RECREIO SAO JUDAS TAD' + 'EU') ParentFont = False end end Nas imagens vocês podem ver o problema da impressão, já tentei achar uma solução olhando os fontes do fortes, mas o máximo que consegui foi chegar na conclusão que o problema está na hora de fazer o cálculo de limite disponível para a linha para fazer o wordwrap, eu acho que esta relacionado com a função CanvasTextWidth do arquivo RLReport.pas. Não sei se tem algo relacionado a diferença de pixels por polegada video x impressora. Pessoal, confesso que já fiquei tonto de tanto olhar este código, mas não consegui evoluir. Peço a ajuda de vocês para que juntos possamos resolver este bug do fortes, pois ele afeta tudo que utilizar o RLMemo e fizer o wordwrap. Só lembrando que nem sempre o problema é observado, isso depende do texto que deve ser impresso, por isso já coloquei um caso em que o problema ocorre. Muito obrigado pessoal, espero que tenha conseguido expor com clareza a situação. Abraço a todos Fabricio
-
Bom dia pessoal, Estamos com um caso singular em um cliente nosso. O mesmo utiliza uma impressora Elgin K e nos reportou problema no corte de papel. Pedimos para enviar o ECF para intervenção. Segundo a intervenção, o corte de papel ocorre normalmente pelo programa de testes deles, portanto concluiram que não possui nenhum problema e nos enviaram novamente. O problema persiste da seguinte forma: Utilizando o ECFTeste, pelo protocolo FISCNET, quando abrimos 3 relatórios gerenciais, 2 o corte de papel é realizado com sucesso, o terceiro não corta (Arquivo: "sem corte-acbrlog.txt"). No ECFTeste, pelo menu, selecionamos 'CortePapel', ocorre normalmente o corte do papel. Quando pedimos para emitir uma Leitura X ou efetuamos a venda de um cupom fiscal, em nenhum caso, ocorre o corte. (Arquivo: "acbrlog_leitura x_sem corte.txt") Já analisamos os seguintes posts: Mas estamos sem idéia do que poderia estar ocorrendo. Pois uma hora funciona, emite o relatório gerencial com corte e nos outros momentos não efetua o corte. Gostaria da opinião de vocês a respeito deste problema. sem corte-acbrlog.txt acbrlog_leitura x_sem corte.txt
-
Olá a todos da comunidade, Encontramos uma dificuldade na na unit: ACBrECFVirtualBuffer, mais especificamente na classe: TACBrECFVirtualBufferClass, procedure AddBufferRodape; No final da impressão existe o comando: '</corte_total>', mas sem contar a quantidade de linhas necessárias precisa pular para efetuar o corte, dessa forma acaba cortando a impressão antes mesmo de finalizar a impressão corretamente, deixando textos abaixo do corte. O Código encontrava-se da seguinte maneira: with fsBuffer do begin Add( '</linha_simples>' ) ; Add( PadSpace('N.Serie '+PadRight(fpNumSerie,21)+'|Maq '+GetNumECF+'|'+ 'v'+NumVersao,Colunas,'|') ); Add( PadSpace('Oper. '+PadRight(Operador,15) +'|'+ FormatDateTimeBr(now, 'dd/mm/yy hh:nn:ss')+V, Colunas,'|') ); Add( PadCenter('** N A O E C U P O M F I S C A L **',Colunas) ); Add( '</linha_dupla>' ) ; </corte_total> // Corte total já pula linhas end ; Alterei o código para: with fsBuffer do begin Add( '</linha_simples>' ) ; Add( PadSpace('N.Serie '+PadRight(fpNumSerie,21)+'|Maq '+GetNumECF+'|'+ 'v'+NumVersao,Colunas,'|') ); Add( PadSpace('Oper. '+PadRight(Operador,15) +'|'+ FormatDateTimeBr(now, 'dd/mm/yy hh:nn:ss')+V, Colunas,'|') ); Add( PadCenter('** N A O E C U P O M F I S C A L **',Colunas) ); Add( '</linha_dupla>' ) ; For A := 1 to LinhasEntreCupons do Add( '' ) ; CortaPapel(False); // Corte total já pula linhas end ; O mesmo código pode ser encontrado na unit: ACBrECFNaoFiscal, procedure: AddBufferRodape. A unica diferença que dentro da Unit ACBrECFVirtualBuffer, tem o comando para cortar papel diretamente nela. Gostaria de saber se o código pode ser adicionado ao repositório. Estou anexando a unit para analise de vocês. Desde já agradecemos a atenção. Att, Alan Leônidas. ACBrECFVirtualBuffer.pas
- 4 replies
-
- acbrecfvirtualbuffer
- corte
-
(and 1 more)
Tagged with:
-
Bom dia pessoal, estou com uma situação estranha aqui. Estou utilizando o seguinte source para fazer impressão de várias vias de um determinado relatório gerencial implementado em nosso PDV. Segue: //Obtêm o índice do relatório gerencial indiceRG := ecf.BuscarIndiceRG(10); //Abre o relatório gerencial ecf.AcbrEcf.AbreRelatorioGerencial(indiceRG); (...) if max_vias = 1 then begin imprimirREAux; end else begin for j := 1 to userVias do begin if ecf.AguardarRespostaEcf then begin imprimirREAux; end; //Se não for a última via corta o papel if (j <> userVias) then begin if ecf.AguardarRespostaEcf then begin ecf.AcbrEcf.CortaPapel(true); Sleep(150); //Fórum da ACBr aconselhou um pequeno time para a guilhotina end; end; end; end; (...) //---- procedure imprimirREAux; begin //Imprime as linhas no relatório gerencial ecf.AcbrEcf.LinhaRelatorioGerencial(rel.Text); //Adiciona o espaço em branco no final if ((ckAdicionarEspacoFinal.Visible)and(ckAdicionarEspacoFinal.Checked)) then begin ecf.AcbrEcf.PulaLinhas(max_linhas); if ecf.AguardarRespostaEcf then begin ecf.AcbrEcf.LinhaRelatorioGerencial('</linha_simples>'); end; end; Inc(aux); end; //---- No arquivo de log do ECF eu tenho: -- 18:11:46:993 TX -> [STX][4][NUL][FS][20]0[NUL] 18:11:48:188 RX <- @[NUL][NUL][NUL] -- 18:11:48:196 LinhaRelatorioGerencial( "[CR][LF]</linha_dupla>[CR][LF] (...)", 0 ) TX -> [STX]B[STX][FS][20][LF]================================================[LF] [ESC][14]ENDERE[128]O DE ENTREGA[20][LF] REF. AO CUPOM: 014080 - VIA: 01/02 [LF]================================================[LF] (...)[213]y 18:11:49:581 RX <- @[NUL][NUL][NUL] -- 18:11:49:581 TX -> [STX]5[NUL][FS][20]------------------------------------------------[LF][170][BS] 18:11:49:758 RX <- @[NUL][NUL][NUL] -- 18:11:49:758 PulaLinhas( 2 ) TX -> [STX][ACK][NUL][FS][20][LF][LF]D[NUL] 18:11:49:911 RX <- @[NUL][NUL][NUL] -- 18:11:49:911 LinhaRelatorioGerencial( "</linha_simples>", 0 ) TX -> [STX]5[NUL][FS][20]------------------------------------------------[LF][170][BS] 18:11:50:088 RX <- @[NUL][NUL][NUL] -- 18:11:54:088 CortaPapel TX -> [STX][ENQ][NUL][FS]#[WAK]P[NUL] 18:11:54:211 RX <- [4]@[NUL][NUL][NUL] -- 18:11:54:211 TX -> [STX][ENQ][NUL][FS]#A[128][NUL] 18:11:54:334 RX <- [4]@[NUL][NUL][NUL] A princípio não detectei nenhum problema, mas a Bematech está cortando o papel ANTES de pular as linhas em branco. Já tentei de tudo, aumentar valor de Sleep() entre os comandos, tentando fazer com que a sequência fosse respeitada mas não obtive sucesso. O mais estranho é que quando foi implementado funcionava normalmente. Gostaria da opinião de vocês. Desde já agradeço.