Jump to content

dev botao

Tamanho QRCode NFCe


Go to solution Solved by EMBarbosa,
  • Este tópico foi criado há 1784 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

  • Administradores

Boa tarde.

Para maior, eu creio que não.

Att.

  • Like 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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

  • Like 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 to comment
Share on other 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 to comment
Share on other 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.

  • Like 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 to comment
Share on other 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;

 

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

Projeto ACBr

 

 

Link to comment
Share on other 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 to comment
Share on other 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.

  • Like 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 to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.