Ir para conteúdo
  • Cadastre-se

dev botao

Melhor Solucao Para Emissao De Nfe/nfce Com C#?


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

Recommended Posts

A biblioteca implementa os serviços de todos os estados, no entanto ainda não testei para o AM e SP. Qualquer dúvida poste aqui.

 

Parabéns, adenilton, lembro que tempos atras eu sugeri esta mudança, inclusive cheguei a implementar a nfe/cte/mdfe em c# e a comunidade não deu a mínima para mim, ao contrário, não aceitaram minha sugestão.  Bom, tive que sair do projeto e hoje não sei como está, mas, fico feliz de ter mais gente que quer implementar e contribuir. Estou pegando um projeto que precisarei de implementar novamente e com as atualizações, muito possivelmente irei acabar contribuindo com seu projeto!

- Sou desenvolvedor.

- De que linguagem, delphi? .NET? Java?

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Solution

Boa tarde Adenilton,

 

Eu iniciei um projeto na ACBrFramework para emissão de NFe. Esse projeto está finalizado e em produção. Faltam algumas melhorias nele.

Nele tem uma função que gera um PDF a partir do XML da NFe 100% C# com Crystal Repots. 

Talvez seja uma boa, incorporar essa função no seu sistema. Assim você não vai mais depender do Delphi.

 

Abraços,

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

Gostei do projeto do adenilton, achei boa a forma com que distribuiu as classes e os métodos, iniciei meu projeto a aproximadamente 1 mês, estou longe da integração com a nota fiscal eletrônica e etc... Mas acompanhando o tópico e tentando incentivar a comunidade a disseminar o conhecimento e as soluções desenvolvidas.

 

@arezende,

 

Existe a possibilidade de compartilhar com a comunidade essa função que mencionou?

 

Agradeço a coomprensão.

Link para o comentário
Compartilhar em outros sites

arezende, em breve estarei adicionando a impressão do DANFE para NFe e NFce, mas muito provavelmente farei isso com o próprio gerador de relatórios do visual studio, para não dependermos de componentes proprietários. Se isso não for possível podemos usar a função do ACBRFramework em Crystal Reports.

 

De toda forma, fique desde já convidado a participar do projeto, o código fonte encontra-se em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe, e qualquer ajuda será bem vinda.

Link para o comentário
Compartilhar em outros sites

Olá Adenilton,

 

Concordo com você, mas acho que sugestão do Rafael também é válida. Podemos dar mais de um opção e deixar a escolha de quem for usar para os usuários da biblioteca.

Baixei o código pelo controle de versão. Assim que fizer alguma alteração, vou pedir a você autorização de escrita no repositório.

 

 

Abraços,

Anderson Rezende

Link para o comentário
Compartilhar em outros sites

Boa noite Adenilton.

Você possui algum exemplo ou documentação de como utilizar as classes da biblioteca. gostaria de participar do projeto e contribuir para que exista uma biblioteca para C# equivalente ao acbr. atualmente programo em Delphi e estou estudando a programação em C# MCV acredito que o acesso a este projeto será bastante útil para o meu aprendizado na programação em C#. desde já agradeço e se possível gostaria de aprender com o seu projeto para que no futuro possa ser um contribuidor ativo para manter a biblioteca, abraços Gleyson Santos  

Link para o comentário
Compartilhar em outros sites

@Gleyson Santos

 

Se quiser ir para o ambiente Web recomendo que limite seus clientes a obterem o certificado A1, que é o que grande parte das empresas que fornecem o serviço de NF-e pela web fazem.

 

Já os A3 que necessitam de um leitor de cartão SmartCard, os browsers não conseguem fazer acesso direto a este dispositivo, você pode implementar uma DLL no seu servidor WEB, porém você tem acesso ao hardware deste servidor? e como os browsers clientes farão a leitura de um certificado que está sendo lido no servidor? Em java isso é possível pelo ruimtime que fica rodando no computador do browser cliente, e é um plugin rodando em seu browser, já no .net não sei como isso funciona e se seria possível. Trabalhei muitos anos com PHP e o desafio sempre foi esse, é facil criar uma dll para o php.ini carregar no servidor, porém como os browsers clientes fariam acesso? e como trabalhar com multiplos certificados? :'(

Link para o comentário
Compartilhar em outros sites

Boa tarde Adnilton,

 

Baixei o código fonte da sua framework e estudei a estrutura do seu código.

Primeiramente, PARABÉNS. Seu código está muito bom.

Tenho algumas sugestões para deixar a sua framework mais parecida com o ACBr para o Delphi.

Mas temos que observar que não será conveniente deixarmos ela igual ao ACBr do Delphi, pois alguns desenvolvedores como eu, usam essas frameworks para desenvolvimento de aplicações web. Assim tenho alguns pontos a observar:

 

  • Melhorar o código de seleção do Certificado Digital, selecionar o certificado pelo caminho em disco e a senha, pios aplicações web tem dificuldade de acessar os certificados instalados na maquina cliente. Eu tenho esse código.
  • Criar uma classe que abstrai as operações e propriedades das classes que você desenvolveu. Por exemplo, criar uma classe ACBrNFe que faz as mesmas todas as operações necessárias para emissão, eventos e tudo mais para NFe. Fiz algo parecido, mas precisa melhorar.
  • Criar os DANFE´s, eu tenho um em Crystal Reports, mas precisaremos de uma operação que devolva um PDF em stream para funcionar melhor em aplicações web.

Acho que é isso. Se precisar de ajuda, me fala que eu te ajudo nessas tarefas.

 

Abraços,

Anderson Rezende

Link para o comentário
Compartilhar em outros sites

Obrigado arezende pelas suas sugestões.

 

Eu centralizei todos os serviços relacionados à NFe na classe "ServicosNFe", pois desejava que a solução fosse mais próxima possível dos manuais da Nfe, já que nestes o foco são os serviços.

Por exemplo, o objeto "nfeRecepcaoLote2" que contém um lote de NFe's é apenas um dos muitos objetos que cabem dentro de nfeDadosMsg, por isso não fiz centralizei as operações na classe NFe.

Dessa forma poderás ver, como no exemplo que acompanha a biblioteca que o consumo de qualquer serviço, uma vez que vc já tenha o objeto que será convertido em "nfeDadosMsg" pronto, pode ser feito usando a classe "ServicosNFe" da seguinte forma:

 

Consultar recibo de lote:

var servicoNFe = new ServicosNFe(_configuracoes.CfgServico);
var retornoRecibo = servicoNFe.NFeRetAutorizacao(recibo);

Enviar uma NFe:

var servicoNFe = new ServicosNFe(_configuracoes.CfgServico);
var retornoEnvio = servicoNFe.NFeAutorizacao(Convert.ToInt32(lote), IndicadorSincronizacao.Assincrono, new List<Classes.NFe> {_nfe});

Mas nada impede que seja criada uma classe como vc sugere para abstrair ainda mais o código e deixá-lo mais próximo de como o ACBR trabalha atualmente, na verdade eu ficaria muito grato em receber sua ajuda. Quanto as outras sugestões, são essenciais.

 

Gostaria de adicioná-lo como colaborador do projeto, por acaso seu git é https://github.com/arezende?

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

  • 2 semanas depois ...
  • Este tópico foi criado há 3320 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.