Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

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

  • Consultores
Postado

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.
  • Membros Pro
Postado (editado)

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
  • Membros Pro
Postado

Olá Juliomar, 

 

Alterei o tamanho da coluna no fonte ACBrECFEscECF.pas, mas acredito que o certo seja 48 colunas mesmo, segue imagem do componente configurado para 56 colunas.

 

Cupom2.jpg

  • Consultores
Postado

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.
  • Membros Pro
Postado

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

  • Fundadores
Postado

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.

  • 4 semanas depois ...
Postado (editado)

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
Postado

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;

Postado

Bom dia, gostaria de saber se foi implementada as alterações acima para eu poder atualizar os componentes ou se a mesma vai ser feita ou não no projeto...

 

Obrigado...

  • Moderadores
Postado

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_Transparent-02.png
 

 

  • Este tópico foi criado há 3907 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.