ZeusAutomacao / DFe.NET

Biblioteca para Geração de NFe(2.0, 3.10 e 4.0) e NFCe(3.10 e 4.0) e consumo dos serviços necessários à sua manutenção, conforme descritos em http://www.nfe.fazenda.gov.br/portal/principal.aspx
GNU Lesser General Public License v2.1
754 stars 477 forks source link

Pacote NuGet para DANFE #1410

Open Ander89BR opened 1 year ago

Ander89BR commented 1 year ago

Verificando as issues, vi que o @danilobreda disse num comentário (https://github.com/ZeusAutomacao/DFe.NET/issues/1324#issuecomment-1034317584) que:

Ainda não temos um pacote do Zeus da parte do DANFE, isso se deve a alguns problemas antigamente que hoje já estão resolvidos!

Como foi dito que "já estão resolvidos!", há a possibilidade de disponibilizá-los no NuGet agora?

marcosgerene commented 1 year ago

@Ander89BR

Sua pergunta é um pouco mais complexa do que parece e vai ser utilizada no futuro como fonte de informação, então vou passar alguns conhecimentos prévios.

A impressão de NF-e, CT-e e MDF-e utiliza um componente externo ao DFe.NET, no caso Fast-Reports, ferramenta de código fechado. A impressão (pelo menos da NFe) também conta com a versão OpenSource do Fast-Reports.

Se você analisar o código do(s) projeto(s) que tratam da impressão eles basicamente passam parametros para um objeto FastReports.Report e fazem a chamada às funções de Print, Export, etc...

Logo, se você referenciar o Nuget do fast-reports e usar o código aqui disposto como base você consegue implementar diretamente na sua ferramenta as chamadas do FRX sem grande complexidade em uma única classe.

Agora, se você busca algo "pronto" nesse sentido, acredito que vai se limitar a opção open source. E talvez esse seja o impasse atual.


Edit:

Um pitaco para a discussão futura: faria sentido (na minha visão) adicionar um pacote aqui se estivéssemos usando algo como o QuestPDF. No nosso caso atual o que temos é basicamente uma classe que chama o FastReports, vejo como desnecessário esse pacote.

@Ander89BR @robertorp @danilobreda @adeniltonbs

fsbflavio commented 1 year ago

Concordo, não vejo a necessidade de pacotes NuGet para os projetos FastReport. Entretanto, para o projeto de impressão nativa da NFC-e (NFe.Danfe.Nativo), considero útil a criação de um pacote NuGet, dado que simplificaria a integração para casos como o meu, onde a impressão a partir do XML é o foco principal.

Portanto, gostaria de solicitar a criação de um pacote NuGet para o projeto (NFe.Danfe.Nativo).

marcosgerene commented 1 year ago

@fsbflavio

A impressão nativa é de autoria do @robertorp se não me engano, vou referenciar ele aqui para que ele possa analisar o caso. Eu particularmente não uso o Danfe nativo, para NFCe uso um projeto próprio de impressão em EscPos.

fsbflavio commented 1 year ago

Pessoal, alguma posição quanto a isso?

DSBRBrasil commented 1 year ago

Pessoal, Eu consegui fazer o NFe totalmente em HTML sem dependencia de nenhum software externo. Quererem que eu apresente ? A paginação esta correta? Sim image

marcosgerene commented 1 year ago

@DSBRBrasil se puder compartilhar o código seria muito bacana

robertorp commented 1 year ago

topzera

DSBRBrasil commented 1 year ago

@robertorp seria um pull request ? (projeto novo no Zeus) , correto ? Informem como devo repassar o code... image image image

Ah... e as classe NFe são do Zeus, logo 100% compativel com o projeto

marcosgerene commented 1 year ago

@DSBRBrasil

O PR acredito que seja a melhor ideia no momento, se for necessário a gente abre um novo branch desse PR e abrimos para testes da comunidade.

Obrigado pela contribuição!

marcosgerene commented 1 year ago

Pessoal, alguma posição quanto a isso?

@robertorp

DSBRBrasil commented 1 year ago

PR #1422

DSBRBrasil commented 1 year ago

Feito

robertorp commented 1 year ago

Bora dar uma espiada em tudo hoje o que tem , quero ver esse pullzão html funcionando , muito top viu ! Parabéns ! Realmente achei interessante viu

robertorp commented 1 year ago

Sobre o pacote nuget, em breve olharei com carinho isso também. Guentem ai um pouco =)

igordamasceno96 commented 1 year ago

Acredito que ajudaria bastante um pacote nuget com essa parte de geração de danfe NFE/NFCE!

andersonlopes commented 1 year ago

O nuget package foi descartado. O melhor é eu baixar as classes e coloca-las no meu projeto ou baixar o projeto, gerar uma Dll e utiliza-las?

marcosgerene commented 1 year ago

@andersonlopes

Nuget não faz sentido.

Fica a seu critério, EU fiz uma classe nova para meu uso. Você pode ou não usar a do Zeus, depende da sua realidade/projeto.

DSBRBrasil commented 1 year ago

@andersonlopes

Nuget não faz sentido.

Fica a seu critério, EU fiz uma classe nova para meu uso. Você pode ou não usar a do Zeus, depende da sua realidade/projeto.

Por que não faz sentido ?

marcosgerene commented 1 year ago

@DSBRBrasil

Sobre o Nuget (para fast-reports):

https://github.com/ZeusAutomacao/DFe.NET/issues/1410#issuecomment-1499029160

@Ander89BR

Sua pergunta é um pouco mais complexa do que parece e vai ser utilizada no futuro como fonte de informação, então vou passar alguns conhecimentos prévios.

A impressão de NF-e, CT-e e MDF-e utiliza um componente externo ao DFe.NET, no caso Fast-Reports, ferramenta de código fechado. A impressão (pelo menos da NFe) também conta com a versão OpenSource do Fast-Reports.

Se você analisar o código do(s) projeto(s) que tratam da impressão eles basicamente passam parametros para um objeto FastReports.Report e fazem a chamada às funções de Print, Export, etc...

Logo, se você referenciar o Nuget do fast-reports e usar o código aqui disposto como base você consegue implementar diretamente na sua ferramenta as chamadas do FRX sem grande complexidade em uma única classe.

Agora, se você busca algo "pronto" nesse sentido, acredito que vai se limitar a opção open source. E talvez esse seja o impasse atual.

Edit:

Um pitaco para a discussão futura: faria sentido (na minha visão) adicionar um pacote aqui se estivéssemos usando algo como o QuestPDF. No nosso caso atual o que temos é basicamente uma classe que chama o FastReports, vejo como desnecessário esse pacote.

O Danfe para FastReports são chamadas para o Fast (componente proprietário) usar o nuget do Zeus mais traria problemas com versões do que soluções por ser basicamente uma classe de chamadas ao Fast.

Agora o nuget para algo como HTML (que você fez, alías) ou um QuestPDF da vida não vejo problemas.

O @robertorp se não me engano é o responsável pelos nugets.

PS: Lembrando que eu sou só um cara dando pitacos, a discussão não precisa encerrar porque eu digo que não vejo necessidade.

DSBRBrasil commented 1 year ago

@DSBRBrasil

Sobre o Nuget (para fast-reports):

#1410 (comment)

@Ander89BR Sua pergunta é um pouco mais complexa do que parece e vai ser utilizada no futuro como fonte de informação, então vou passar alguns conhecimentos prévios. A impressão de NF-e, CT-e e MDF-e utiliza um componente externo ao DFe.NET, no caso Fast-Reports, ferramenta de código fechado. A impressão (pelo menos da NFe) também conta com a versão OpenSource do Fast-Reports. Se você analisar o código do(s) projeto(s) que tratam da impressão eles basicamente passam parametros para um objeto FastReports.Report e fazem a chamada às funções de Print, Export, etc... Logo, se você referenciar o Nuget do fast-reports e usar o código aqui disposto como base você consegue implementar diretamente na sua ferramenta as chamadas do FRX sem grande complexidade em uma única classe. Agora, se você busca algo "pronto" nesse sentido, acredito que vai se limitar a opção open source. E talvez esse seja o impasse atual. Edit: Um pitaco para a discussão futura: faria sentido (na minha visão) adicionar um pacote aqui se estivéssemos usando algo como o QuestPDF. No nosso caso atual o que temos é basicamente uma classe que chama o FastReports, vejo como desnecessário esse pacote.

O Danfe para FastReports são chamadas para o Fast (componente proprietário) usar o nuget do Zeus mais traria problemas com versões do que soluções por ser basicamente uma classe de chamadas ao Fast.

Agora o nuget para algo como HTML (que você fez, alías) ou um QuestPDF da vida não vejo problemas.

O @robertorp se não me engano é o responsável pelos nugets.

PS: Lembrando que eu sou só um cara dando pitacos, a discussão não precisa encerrar porque eu digo que não vejo necessidade.

Verdade, para o Fast realmente fica complicado. Todo o meu problema foi por causa do Fast (por isso nem uso o Fast). inclusive estou devendo a NFCe que é a mesma coisa (tudo em html)

fsbflavio commented 1 year ago

um pacote nuget para a NF-e e NFC-e no modelo de html seria uma boa. Estou tendo de usar duas soluções aqui, uma do Zeus para gerar o recibo NFC-e e um outro nuget para a NF-e

fsbflavio commented 1 year ago

quanto ao pacote nuget eu me refiro para a NFC-e nativa, que nao faz uso do fast, é esse projeto (Nfe.Danfe.Nativo) que gostaria de um pacote nuget..

marcosgerene commented 1 year ago

@robertorp

Existe a possiblidade do pacote nuget para HTML (NFe) e nativo (NFCe)?

MauricioSuporte commented 1 month ago

Olá a todos, A discussão sobre a criação de um pacote NuGet para a geração de DANFE e NFC-e é muito pertinente. Em relação ao uso de FastReports, como mencionado, ele traz algumas limitações por ser uma ferramenta de código fechado. No entanto, a abordagem com HTML, apresentada pelo @DSBRBrasil, oferece uma excelente alternativa.

Inclusive, essa solução em HTML já foi mergeada na branch master através do PR #1427, o que significa que já está disponível para uso direto no repositório.

Sobre a criação de pacotes NuGet para soluções que não dependam de FastReports (como a abordagem em HTML ou NFe.Danfe.Nativo), acredito que possa simplificar bastante a integração para muitos usuários que buscam evitar dependências externas.

Sendo assim, fica a sugestão para considerarmos a criação de pacotes NuGet para essas abordagens alternativas, visto que a solução do HTML já está disponível e testada pela comunidade.

Abraços!

DSBRBrasil commented 1 month ago

Olá a todos, A discussão sobre a criação de um pacote NuGet para a geração de DANFE e NFC-e é muito pertinente. Em relação ao uso de FastReports, como mencionado, ele traz algumas limitações por ser uma ferramenta de código fechado. No entanto, a abordagem com HTML, apresentada pelo @DSBRBrasil, oferece uma excelente alternativa.

Inclusive, essa solução em HTML já foi mergeada na branch master através do PR #1427, o que significa que já está disponível para uso direto no repositório.

Sobre a criação de pacotes NuGet para soluções que não dependam de FastReports (como a abordagem em HTML ou NFe.Danfe.Nativo), acredito que possa simplificar bastante a integração para muitos usuários que buscam evitar dependências externas.

Sendo assim, fica a sugestão para considerarmos a criação de pacotes NuGet para essas abordagens alternativas, visto que a solução do HTML já está disponível e testada pela comunidade.

Abraços!

Inclusive tenho o NFCe ( cupom) também em HTML

guidi commented 1 month ago

Em que projeto fica esse DANFCE em HTML? Só achei o da NFe.

DSBRBrasil commented 1 month ago

Em que projeto fica esse DANFCE em HTML? Só achei o da NFe.

Eu preciso fazer um PR (NFCe Html). Inclusive eu tenho todo o projeto (filho do Zeus) de emissor de notas já com várias melhorias , seria um Zeus 2.0, gostaria muito de apresentar esse projeto, já em produção) ao @robertorp e a toda equipe. Para montarmos um grupo de desenvolvimento. POr exemplo > sabe a classe "Enderecador"? nesse projeto os endereços por UF de produção e Homologação ficam num arquivo à parte (tornando flexivel a alteração) Estou a disposição para reunião