Ir para conteúdo
  • Cadastre-se

dev botao

Quebra De Linha No Relatório Gerencial


foxsidc
  • Este tópico foi criado há 3701 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Olá pessoal,

 

Estou utilizando para o desenvolvimento o emulador da Bematech MP-4200 TH FI e não estou conseguindo quebrar a linha ao tentar imprimir a DAV e estou com problema em caracteres acentuados.

 

Os caracteres acentuados que a impressora imprime, saem acentuados, mas o que é enviado pelo componente não saem acentuados.

Por exemplo:

Está parte sai acentuada

NÃO É DOCUMENTO FISCAL

RELATÓRIO GERENCIAL
 

Já esta abaixo não

 N O DOCUMENTO FISCAL
N O COMPROVA PAGAMENTO
N O V LIDO COMO RECIBO E COMO          

 

 

Outro problema que não estou conseguindo resolver é a quebra de linha, quando se envia a tag <ce> por exemplo, ele centraliza, mas se não enviar tag, ele não quebra a linha

Deveria ficar assim:

Vendedor: fulado tal

Cliente: Ciclano

 

Mas fica assim: 

Vendedor: fulado tal Cliente: Ciclano

Link para o comentário
Compartilhar em outros sites

  • Consultores

Olá pessoal,

 

Estou utilizando para o desenvolvimento o emulador da Bematech MP-4200 TH FI e não estou conseguindo quebrar a linha ao tentar imprimir a DAV e estou com problema em caracteres acentuados.

 

Os caracteres acentuados que a impressora imprime, saem acentuados, mas o que é enviado pelo componente não saem acentuados.

Por exemplo:

Está parte sai acentuada

NÃO É DOCUMENTO FISCAL

RELATÓRIO GERENCIAL

 

Já esta abaixo não

 N O DOCUMENTO FISCAL

N O COMPROVA PAGAMENTO

N O V LIDO COMO RECIBO E COMO          

 

Não deu pra entender. O que é mostrado no log do componente? Quais comandos são chamados?

Outro problema que não estou conseguindo resolver é a quebra de linha, quando se envia a tag <ce> por exemplo, ele centraliza, mas se não enviar tag, ele não quebra a linha

Deveria ficar assim:

Vendedor: fulado tal

Cliente: Ciclano

 

Mas fica assim: 

Vendedor: fulado tal Cliente: Ciclano

Não entendi qual a relação entre a tag <ce> centralizar e quebrar a linha. Ao enviar a tag <ce> que era pra centralizar, acontece de quebrar a linha? Quando você envia a tag de quebrar a linha ela não acontece? Quando envia a tag para quebrar a linha ela só quebra se a tag <ce> for enviada junto?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá Barbosa, obrigado por responder.

Desculpe se não consegui expressar corretamente o problema, mas segue abaixo a impressão de uma DAV que imprimi pelo próprio demo do componente.

Abri a DAV pela opção Abrir DAV e registrei 2 itens.

Os comandos que o demo utiliza são os mesmos que utilizo

Para abrir a DAV:

ACBrECF1.DAV_Abrir(
    edtData.DateTime,
    edtTipoDocumento.Text,
    edtNumero.Text,
    edtSituacao.Text,
    edtVendedor.Text,
    '',
    edtCNPJCPF.Text,
    edtNomeCliente.Text,
    edtEndereco.Text
  );
 
 
Para Registrar um item:
ACBrECF1.DAV_RegistrarItem(
    edtProdCodigo.Text,
    edtProdDescricao.Text,
    edtProdUnidade.Text,
    StringToFloat(edtProdQuantidade.Text),
    StringToFloat(edtProdVlUnitario.Text),
    StringToFloat(edtProdVlDesconto.Text),
    StringToFloat(edtProdVlAcrescimo.Text),
    ckbProdCancelado.Checked
  );
 

Cupom.jpg

Editado por foxsidc
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Pelo que se  pode perceber visualmente o número de colunas é 56 e não 48 como muitas da bematech são

então primeiro teste é setar o numero de colunas na unit da ECF e recompilar pra ver se ele vai deixar já ok 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

No demo funciona? O que é mostrado no log do componente?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

No demo não funciona, os prints que estão no post foram gerados pelo demo, na opção de Emissão de DAV.

Não alterei em nada o demo, só conectei e fui em Emissão de DAV.

Para conectar utilizei o modelo ecfEscECF.

 

Segue em anexo o arquivo de log. 

Deletei do log o que estava antes do ultimo teste.

acbrlog.txt

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Pelo que notei, é um problema do Equipamento (emulador)... ou o mesmo está usando uma quebra de linha diferente do especificado pela Lei, que determina o uso do "LF" como quebra de linha.

 

http://www.fazenda.mg.gov.br/empresas/ecf/informacoes/ac1609.pdf

 

O ACBrECF está enviando os caracteres acentuados e a quebra de linha... mas o equipamento está suprimindo os mesmos...

 

Para evitar problema com os caracteres acentuados, use a página de código igual a 0

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...
  • Fundadores

Fiz os teste no ECF Real e o problema não ocorre...

 

Entrei em contato com o suporte da Bematech, e realmente é um problema conhecido do Emulador...

  • Curtir 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Aproveitado o Tópico eu usao a função em impressora real e funciona perfeitamente a impressão, uma coisa que eu notei que poderia ser usado é o desconto no total do DAV no exemplo usa o Desconto no Item, mas tambem usão o Desconto no Total do DAV no meu caso eu adicionei essa opção junto ao Fecha DAV mas não fica legal a estetica por ela sair acima do Total do DAv gerado.

 

por exempro:

 

Total Desconto: xx,00 ou Acrecimo

Total DAV : xx,00

Editado por tchuck
Link para o comentário
Compartilhar em outros sites

Olá fiz essas alterações no função DAV_Fechar gostaria se for possivel incorporar ao projeto para quem usa o Desconto no Total do Dav as alterações são as que destacadas

 

procedure TACBrECF.DAV_Fechar(const AObservacao: String; AVlrDesconto, AVlrAcrescimo: Double);
var
  DescrItem: String;
  TextoRel: TStringList;
begin
  if Self.Estado <> estRelatorio then
    raise EACBrECFErro.Create('Efetue a abertura do DAV antes de continuar.');

  TextoRel := TStringList.Create;
  try
    if Trim(AObservacao) <> EmptyStr then
    begin
      TextoRel.Add('');
      TextoRel.Add(AObservacao);
    end;

    if FDAVItemCount > 1 then
      DescrItem := padL(IntToStr(FDAVItemCount) + ' itens', 12, ' ')
    else
      DescrItem := padL(IntToStr(FDAVItemCount) + ' item', 12, ' ');

    TextoRel.Add('</linha_simples>');
    TextoRel.Add(DescrItem + padR('Valor Total: ' + Format('%11.2f', [FDAVTotal]), 36, ' '));

    if AVlrDesconto > 0 then
     TextoRel.Add(padR('Total Desc.: ' + Format('%11.2f', [AVlrDesconto]), 48, ' '));

    if AVlrAcrescimo > 0 then
     TextoRel.Add(padR('Total Acre.: ' + Format('%11.2f', [AVlrAcrescimo]), 48, ' '));


    TextoRel.Add('');
    TextoRel.Add('');
    TextoRel.Add('</linha_dupla>');
    TextoRel.Add('<ce>É VEDADA A AUTENTIÇÃO DESTE DOCUMENTO</ce>');
    TextoRel.Add('</linha_dupla>');
    TextoRel.Add('');
    TextoRel.Add('');

    LinhaRelatorioGerencial( ACBrStr(TextoRel.Text) );
  finally
    TextoRel.Free;
  end;

  FechaRelatorio;

  FDAVItemCount := 0;
  FDAVTotal     := 0.00;
end;

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia

efetuei a alteração e teste com o mesmo 

modifiquei um pouco para deixar compatível com os usuários que já tem implementado nos sistemas e não querem utilizar a informação

 

At revision: 6481

atualizar svn e testar!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3701 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.