-
Notifications
You must be signed in to change notification settings - Fork 479
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migração de NFe para .net Standard (.netCore + .netFramework) #1001
Comments
Está falando do Demo?
Podemos ter algo como "deprecated" por uns 30-90 dias e depois remover o código antigo, não vejo motivo para manter os dois códigos.
FastReports/FastReport#79 (comment)
O FastReports open source não oferece (ainda) direct print, só para o .net core 3.0, não é viável principalmente para a NFCe... ... agora, ativando o modo gambiarra... algo assim: https://stackoverflow.com/questions/17448465/send-pdf-file-to-a-printer-print-pdf pode até ser que amenize, mas... não sei a viabilidade disso... aliás, nem sei se isso é possível em .net core... |
Sim, já adicionei mais informações ao texto original. Vai ficar igual ao projeto de CTe.
Pensei em não mexer os projects do danfe atuais, que estão funcionando. Apenas criar um novo projeto para Danfe em .net core (pois o processo será para retornar um html ou pdf para o usuário), usando o OpenFastReport. |
Entendi seu ponto, bem interessante. |
Não tem necessidade de deletar nada do projeto, não tem necessidade de depreciar. |
In @robertorp we trust! kkk |
@danilobreda Temos uma opção que talvez te ajude nesta questão. https://github.com/nfe/DFe.NET |
@marcosgerene @robertorp A impressão do Danfe deu certo, porem a parte da impressão tive que mudar algumas coisas(Regex, linq, environment.newline) dos scripts de impressão dentro do .frx do FastReport. A saída foi converter esses métodos em métodos manuais. Lembrando que o projeto do .netframework não foi alterado, estou dando cntrl-c cntrl-v nesses frx's para o projeto em .net core. Os retornos de geração do Danfe estou fazendo por HTML, PDF e IMAGEM PNG (todos esses em retorno do tipo array por enquanto), acham que devo fazer diferente? Retornar um File, Image? |
Qual é o retorno "natural" do FastReports (File, Image, byte[], ...) ? |
@marcosgerene Os retornos hoje do .net framework do Danfe(NFe.Danfe.Fast) são esses da classe DanfeBase: ExportarPdf (passando o caminho do pdf) O que estou fazendo hoje é gerando 3 tipos de arquivos(pdf, html e png) e retornando eles em bytes.
Acho que é interessante retorno de stream...o que acha? Vale lembrar que esse projeto (NFe.Danfe.Fast.Standard) é separado do NFe.Danfe.Fast. E utiliza o fast report opensource. |
A migração a partir de agora está apenas "mão na massa", toda parte da arquitetura já foi definida para a conversão de todas as operações de NFe. .net Framework (antigo):
.net Standard (novo):
Diferenças: Essas definições estão corretas? EDIT:Verificadas em homologação e estão corretas! 👍 |
Migração esta completa para as versões de NFe 4.0, e algumas da 3.1. Os que não foram migrados(maioria 1.0 e 2.0) são por conta da não possibilidade de Teste, porem são minimamente utilizados. Todo os projects que está em .netFramework não foram alterados, salvos ortografias e conversões de arquivos ".cs" de unicode para utf8. Foram criados varios projects e shared projects, como principais: NFe.Danfe.Fast.Standard e NFe.Wsdl.Standard nos quais contem código com suporte para .net standard/core. Acredito que haverá mais contribuições, isso é apenas um começo para que fique 💯% ! Segue Pull Request para analise... |
@danilobreda EXCELENTE, parabéns pela iniciativa! |
É possível utilizar em um projeto Asp Net Core MVC hospedado em um servidor linux? |
@Braytiner será possível sim, no momento estou utilizando em um servidor Ubuntu (docker) + asp net core mvc para testes... e funciona perfeitamente. Existem alguns detalhes porem serão colocados na documetação do projeto! O Pull Request está já em analise e bem próximo de ser aprovado e disponibilizado. |
Show de bola! Assim que estiver disponível vou começar a utilizar. |
Baixei os fontes aqui danilo. Muito bom. |
@viniciusverasdossantos poderia me mostrar qual o erro de assinatura? Pois aqui habilitei o remove acento e funciona tranquilamente. O problema pode ser outra coisa. |
Camarada...segue o print da sua demo https://www.screencast.com/t/2c5oyl3Nbz |
@viniciusverasdossantos |
A remoção de acento acontece em dois pontos. 1- Antes da assinatura Motivo? Quando você converte o objeto NFe para um XML string o objeto NFe tem acentos.. 1- E feito uma conversão do objeto NFe para XML string antes da assinatura ou seja.. e removido os acentos todos, é assinado o documento. é Preenchido o objeto de NFe com a assinatura em forma de objeto também. 2- Antes de enviar para o WSDL o objeto NFe é convertido juntamente com a assinatura para XML string o que ocorre aí? a assinatura está inválida! pois após a conversão o XML string está com acentos novamente! aí e feito a remoção dos assentos novamente do XML string garantindo a assinatura. Ou seja.. a remoção de acentos acontece em duas etapas 1- Quando assina o documento |
@robertorp como ficou a questão do danfe? Tentei acessar as classes pelo nuget gerado e não obtive sucesso :( |
O danfe não coloquei no nuget, isso é um caso a parte que deve ser analisado detalhadamente, o danfe em fastreport do fastreport pago nunca foi colocado no nuget pelo simples fato de ser pago. |
@robertorp |
Ele esta em licença MIT, é tranquilo... https://github.com/FastReports/FastReport/blob/master/LICENSE.md |
@danilobreda vi que o ConsultarDistribuicaoDFe não esta implementado no Standard. Posso tentar fazer...so gostaria de saber se não foi feito por algum motivo especifico. |
Não consegui fazer pois não soube implementar, pior que tentei, li manual e tudo, infelizmente não obtive sucesso... Será de grande ajuda sua contribuição :D |
@danilobreda , consegui fazer. Vou fazer o pull request. |
@danilobreda Eu tenho a versão Desktop do FastReports e meu sistema é winforms... posso continuar usando as minhas dlls? Como devo proceder? |
@marcosgerene A ideia é continuar utilizando tranquilamente o da versão do .net framework... até porque foram projetos separados criados, com final .Standard... esses foram os criados para .net core. |
Vou testar o novo nuget com no projeto da empresa onde trabalho... que utiliza o NFe em .net core... e ai sim vou finalizar essa issue. |
Descobri o problema então. O segundo metodo ObterAssinatura dentro do metodo Assina em ExtNFe esta sempre passando false. ignorando as configs. Vou fazer o pull request. |
Excelente! |
Os Nugets funcionaram perfeitamente... |
Como levantado anteriormente com @robertorp a ideia é migrar a parte de NFe para .net standard 2.0, permitindo a utilização em .net framework e dotnet core.
É interessante levantar ideia que foram implementadas na migração do CTe, que hoje suporta .net core e .net framework juntos.
Objetivo:
Problemas Levantados para discussão:
Projeto de migração atualmente se encontra em danilobreda/DFe.NET (branch nfecoreport)
The text was updated successfully, but these errors were encountered: