Ir para conteúdo
  • Cadastre-se

dev botao

Tamanho QRCode NFCe


Ver Solução Respondido por EMBarbosa,
  • Este tópico foi criado há 1666 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa Tarde!!!

É possível aumentar o tamanho do QRCode no DANFE da NFCe?

Estou alterando a propriedade "LarguraModulo"  do ACBrPosPrinter, mas não obtive sucesso.

Ao analisar o fonte do "ACBrNFeDANFeESCPOS.pas.pas", verifiquei que o valor para essa propriedade está limitado a 4

    InfoQrCode.Add( '<qrcode_tipo>2</qrcode_tipo>'+
                    '<qrcode_error>0</qrcode_error>'+
                    '<qrcode_largura>'+IntToStr(min(4,FPosPrinter.ConfigQRCode.LarguraModulo))+'</qrcode_largura>'+
                    '<qrcode>'+DadosQRCode+'</qrcode>');

 

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Por qual  motivo você precisa aumentar o QRCode?

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

Bom Dia.

A princípio seria apenas questão de estética mesmo, já que a dimensão atual já atende as especificações técnicas definidas no manual. 

Fazendo uma comparação com o QRCode gerado no CFe, ele é bem menor.

Teria algum problema de aumentar o tamanho?

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

Para maior, eu creio que não.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

Bom Dia.

O problema é que da forma que está implementado, utilizando o método "Min", eu não consigo atribuir um valor maior que 4.

Acredito que o correto seria definir o 4 como valor mínimo e permitir que informe um valor maior.

Obrigado!!!

Link para o comentário
Compartilhar em outros sites

  • Consultores
Em 29/08/2019 at 08:39, luizfr disse:

Bom Dia.

O problema é que da forma que está implementado, utilizando o método "Min", eu não consigo atribuir um valor maior que 4.

Acredito que o correto seria definir o 4 como valor mínimo e permitir que informe um valor maior.

Obrigado!!!

Me parece fazer sentido o que diz. Você poderia fazer as alterações e anexar o arquivo alterado para que possamos analisar?

[]'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

  • Consultores
1 hora atrás, luizfr disse:

Bom Dia!!!

Conforme solicitado, estou anexando o arquivo alterado para análise

Olá luizfr,

   O código que você enviou fez o inverso do que está atual, quer dizer, impede de informar um valor menor que 4:

ifthen(FPosPrinter.ConfigQRCode.LarguraModulo < 4,4,FPosPrinter.ConfigQRCode.LarguraModulo)

Além disso, notei que seu arquivo está desatualizado.

Queira por favor:

  1. Atualizar o ACBr
  2. Substituir o arquivo pelo anexo
  3. testar
  4. Reportar qualquer problema

ACBrNFeDANFeESCPOS.pas

  • Curtir 1

[]'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

2 horas atrás, EMBarbosa disse:

Olá luizfr,

   O código que você enviou fez o inverso do que está atual, quer dizer, impede de informar um valor menor que 4:


ifthen(FPosPrinter.ConfigQRCode.LarguraModulo < 4,4,FPosPrinter.ConfigQRCode.LarguraModulo)

Além disso, notei que seu arquivo está desatualizado.

Queira por favor:

  1. Atualizar o ACBr
  2. Substituir o arquivo pelo anexo
  3. testar
  4. Reportar qualquer problema

ACBrNFeDANFeESCPOS.pas 36 kB · 0 downloads

Boa Tarde!!!

EMBarbosa, 

A ideia é realmente inverter a lógica. Impedir que seja informado um valor menor que 4, para atender as exigências definidas no manual de dimensão minima do QRCode, e permitir informar um valor maior caso necessário.

Segue o arquivo atualizado com a alteração

ACBrNFeDANFeESCPOS.pas

Link para o comentário
Compartilhar em outros sites

  • Consultores
1 hora atrás, luizfr disse:

Boa Tarde!!!

EMBarbosa, 

A ideia é realmente inverter a lógica. Impedir que seja informado um valor menor que 4, para atender as exigências definidas no manual de dimensão minima do QRCode, e permitir informar um valor maior caso necessário.

Não sei se isso está totalmente correto. Não encontrei no manual uma especificação de LarguraModulo.

Por exemplo, no manual (versão 5.0) existe uma especificação de dimensão mínima de 25mm x 25mm (sendo 22mm de conteúdo e 3 mm para margem segura - "quiet zone").

Você encontrou alguma outra referência?

Acho que essa alteração poderia causar problemas, vou pedir uma segunda opinião. Lembro de ter relatos aqui no fórum de que algumas impressoras só imprimem com uma LarguraModulo = 3.

Sugiro testar com a minha unit acima.

  • Curtir 1

[]'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

  • Moderadores
18 minutos atrás, EMBarbosa disse:

Acho que essa alteração poderia causar problemas, vou pedir uma segunda opinião. Lembro de ter relatos aqui no fórum de que algumas impressoras só imprimem com uma LarguraModulo = 3.

Para impressão da Daruma da NFCe emitida em contingência (a quantidade de caracteres no QrCode é maior, aumentando o QrCode) eu prefiro usar LarguraModulo = 3.

if DANFE_ESC.PosPrinter.Modelo = ppEscDaruma then
  DANFE_ESC.PosPrinter.ConfigQRCode.LarguraModulo := 3
else
  DANFE_ESC.PosPrinter.ConfigQRCode.LarguraModulo := 4;

if (Pos('?p=', NFE.NotasFiscais[0].NFe.infNFeSupl.qrCode) > 0) and (NFE.NotasFiscais[0].NFe.Ide.tpEmis = teNormal) then
  DANFE_ESC.PosPrinter.ConfigQRCode.LarguraModulo := DANFE_ESC.PosPrinter.ConfigQRCode.LarguraModulo + 1;

 

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

23 horas atrás, EMBarbosa disse:

Não sei se isso está totalmente correto. Não encontrei no manual uma especificação de LarguraModulo.

Por exemplo, no manual (versão 5.0) existe uma especificação de dimensão mínima de 25mm x 25mm (sendo 22mm de conteúdo e 3 mm para margem segura - "quiet zone").

Você encontrou alguma outra referência?

Acho que essa alteração poderia causar problemas, vou pedir uma segunda opinião. Lembro de ter relatos aqui no fórum de que algumas impressoras só imprimem com uma LarguraModulo = 3.

Sugiro testar com a minha unit acima.

Boa Tarde!!!

EMBarbosa,

Exigência que eu citei seria com relação ao tamanho mesmo (25X25).

Não tinha conhecimento desse problema com a Daruma.

Fiz os teste com a sua unit alterada e ficou perfeito. Acredito que dessa forma vai resolver a necessidade de informar um número maior ou menor conforme a caso.

Essa alteração vai ser integrada no repositório?

Obrigado!!!

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution
19 minutos atrás, luizfr disse:

Essa alteração vai ser integrada no repositório?

Acabei de enviar ao SVN. Revisão 17587.

Você pode atualizar e testar.

Queira reportar qualquer problema.

  • Curtir 1

[]'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

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

The popup will be closed in 10 segundos...