Ir para conteúdo
  • Cadastre-se

dev botao

Divergência de comportamento do ACBrNFeLib entre o .ini físico e em memória.


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

Recommended Posts

Notei uma divergência de comportamento do ACBrNFe entre o .ini físico e em memória.

Para inicio de tópico, utilizo a linguagem C# e impressão no tipo Fortes bobina.

Configurei a propriedade PosPrinter.Config.Sistema.Nome com o nome da minha software house, quando utilizei o .ini físico saiu o nome da software house no rodapé do NFC-e, mas quando utilizei o .ini em "[Memory]", começou a sair 'Projeto ACBr" ao invés do nome da software house. 

Já fiz várias vezes esse teste.

 

Imagem

 

No Discord me falaram que a biblioteca PosPrint só serve para impressão em Esc/Pos, mas pelo que vi no demo e alguns materiais tem algumas informações que são usadas na impressão em Fortes, prova disso é o uso da informação passada para sair no rodapé da NFC-e quando usado o .ini físico. 

Para configurar direto na biblioteca ACBrNFeLib achei duas propriedades(logo abaixo), mas preenchi e não surtiu efeito.

 

ImagemImagem

 

Outros dois problemas que está presente tanto para o .ini fisico como em memoria são:

Estou precisando definir o tamanho da fonte dos itens no NFC-e, mas o campo "FonteLinhaItem.Size" consta no manual mas não existe para configuração na lib. Na biblioteca consta NFe.Config.DANFe.NFCe.Fonte.Size

No entanto, está apresentando erros:

Imagem

 

Imagem

Testado no demo AcBr.PDV e acontece a mesma coisa.

 

Configurando direto no arquivo .ini funcionou, não de forma programável escrevendo dentro do arquivo mesmo. Inclusive, consta a propriedade conforme o manual. FonteLinhaItem.Name=Lucida Console

FonteLinhaItem.Color=536870912

FonteLinhaItem.Size=4

FonteLinhaItem.Bold=0

 

Resumindo, através da biblioteca não existe a propriedade para poder configurar, aparece outra que quando preenchida apresenta erros. Escrevendo na "força" dentro do arquivo .ini funciona mas não consigo mudar isso em execução nem quando utilizo o .ini em memória.

 

Terceiro e último erro identificado:

Configurando a propriedade  NFe.Config.DANFe.NFCe.EspacoFinal, ela não surte efeito algum na impressão. Independe está 0 ou 100, nenhum espaço no final da NFC-e é colocado.

 

Aguardo retorno.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

@DIEGO_SANTANA tudo bem ?
fiz alguns testes referente ao rodapé, utilizando o .ini na memória, parece que esta funcionando sem problemas, veja:

exemplo utilizando escposteste.txt

exemplo utilizando fortesteste.pdf

veja as configurações que utilizei para salvar o .ini na memória
image.png

eu carreguei um .ini sem nenhuma informação (padrão criado pela acbrlibnfe) para memória, feito isso, salvei as informações depois e mandei imprimir tanto em escpos quanto em fortes, ambos apareceram mensagem no rodapé.

quanto as configurações de fontes e tamanho eu ainda estou realizando os testes, parece um erro de leitura e gravação na sessão isso pode ser algo nas classes do C#..

Link para o comentário
Compartilhar em outros sites

Boa noite @antonio.carlos, não sei como mas realmente funcionou agora tanto o avanço de papel como o rodapé e nem atualizei nada ainda.

 

"por favor, atualize suas classes C#, - Rev. 26584"


Onde consigo as classes atualizadas?

Me tira uma dúvida Antônio, não utilizo o EscPos somente Fortes, preciso usar a biblioteca PosPrinter?
Acredito que sim, mas no Discord algumas pessoas falaram que não, fiquei em dúvida.
 

Algumas configurações acredito que serve tanto para o EscPos como para o Fortes, exemplo:
PosPrinter.Config.ColunasFonteNormal = 40;

Realmente precisa ou não? Caso não, onde configuro esses campos Em comum?
            

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Para conseguir as novas classes, você só precisa atualizar o svn.

Se estiver usando ACBrLibNFe, não precisa da ACBrLibPosPrinter.
ACBrLibPosPrinter é para se comunicar direto com a impressora, então se não for usar ACBrLibNFe para impressão, ai você precisa importar as classes da ABCrLibPosPrinter e utilizar ela para impressão.

essa propriedade ColunasFonteNormal é somente para ACBrLibPosPrinter:
https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca.html

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 612 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.