-
Notifications
You must be signed in to change notification settings - Fork 484
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
Erro na hora de gerar a danfe #1577
Comments
Bom dia, @matheusvision. Poderia detalhar mais sobre o ambiente? Como foram feitas as referências? O projeto foi incluído diretamente ou via NuGet? Com as informações fornecidas, não conseguimos auxiliar. Um ponto importante: se estiver utilizando o NuGet, os pacotes referentes à DANFe ainda não estão disponíveis no repositório. Como explicado por @AgnaldoSilva0 no seguinte comentário: #1570 (comment). |
Antes estava vindo o cStat = 103 e no começo do ano a Sefaz passou a retornar 104, fizemos o ajuste, porém agora da esse erro de método não encontrado "get_dhRecbto". if (sefazResult.Retorno.cStat != 104)... Já tentei substituir as duas pastas (NFe.Danfe.Base, NFe.Danfe.Fast) direto, mas sem sucesso. |
Estava analisando o que poderia estar causando o problema, mas não encontrei nada realmente útil. Suponho que o erro esteja relacionado ao processo de desserialização ou serialização da informação do campo public DateTimeOffset dhRecbto { get; set; }, a partir do ProxyDhRecbto. Parece que o sistema espera um recurso chamado get_dhRecbto para obter o valor durante a serialização, mas ele pode não estar disponível ou não estar sendo reconhecido corretamente. Conversei com @AgnaldoSilva0 sobre isso e, pelo que parece, o sistema não consegue encontrar uma maneira de obter o valor desse campo. Você mencionou que realizou modificações. Algo foi alterado na classe que está gerando o erro? Poderia detalhar melhor as mudanças feitas? |
Não foi alterado nada na classe. A única coisa que foi alterada foi que antes recebia o cStat = 103 e agora recebe o cStat = 104, e ajustamos para funcionar com o 104. |
Poderia compartilhar o XML que está sendo usado? Pois tentei de diversas formas aqui e não consegui reproduzir o erro. |
O erro ocorre na linha 239. |
Com o XML, consegui gerar a DANFE normalmente, como pode ser visto na imagem. Observando os erros na imagem que você enviou, aparentemente o problema é o mesmo descrito na issue Problemas para gerar DANFE a partir de XML utilizando a biblioteca NuGet. Você mencionou que está utilizando o NuGet da biblioteca. Dessa forma, não será possível utilizar a impressão da DANFE pelo FastReport ao usar o NuGet. Para utilizar o FastReport, é necessário baixar o projeto e referenciá-lo em sua solução, conforme explicado no comentário: #1570 (comment). |
Por meio externo a gente consegue gerar também, porém por meio do sistema ocorre o erro mencionado acima (Método não encontrado: 'System.DateTime |
Bom dia, @matheusvision. Não utilizei uma aplicação externa; utilizei uma aplicação própria integrada ao pacote, que realiza a impressão da mesma forma que está sendo feita na imagem do comentário. O erro mostrado na imagem do comentário aqui foi resolvido? Em um comentário acima, você mencionou: "Não sei te dizer como ele foi incluído, mas foi atualizado via NuGet desde então." Reafirmo que a impressão da DANFE não é possível via NuGet. O pacote NuGet para impressão de DANFE ainda está em fase de planejamento. |
Não foi resolvido. Após passar pela ConfiguracaoDanfeNfe() estoura o erro. |
O erro de compilação foi resolvido. |
Conversei com Adenilton, fundador do repositório, e ele comentou que já viu esse tipo de erro, mas não com esse tipo de dado. Esse erro geralmente ocorre quando o tipo de dado não foi importado no arquivo Um caso comum em que esse erro ocorre, por exemplo, é ao tentar usar um Como ele foi mencionado que o erro ocorreu com o tipo Peço que verifique o arquivo |
Olhando os arquivos do projeto, notei que não haviam os arquivos .frx no caminho NFe.Danfe.Base > NFe, Copiei os arquivos da biblioteca e coloquei no projeto, mas continuou dando o mesmo erro. |
Após adicionar os arquivos .frx, foi ajustado para que eles estejam junto aos arquivos binários do projeto de vocês após a compilação? Conforme indicado no README: "A impressão requer que o arquivo .frx seja especificado. Ou seja, ao publicar os binários do seu projeto, os arquivos .frx devem estar presentes, e o caminho do arquivo deve ser informado para que a impressão seja gerada." Poderia me informar o valor da variável |
Refiro-me ao valor que é atribuído à variável Além disso, sobre a outra dúvida que mencionei no comentário: Se possível, envie o stacktrace do erro. |
Segue o stacktrace do erro: System.MissingMethodException Esta exceção foi gerada originalmente nesta pilha de chamadas: |
Irei investigar o trace. Quanto ao valor que é atribuído à variável frx durante a execução ao tentar realizar a impressão e a localização dos arquivos .frx? Perguntados no comentários acima. |
A localização dos arquivos é NFe.Danfe.Base\NFe. |
A variável Caso esses arquivos |
Método não encontrado: 'System.DateTime
NFe.Classes.Protocolo.infProt.get_dhRecbto()'.
O erro acontece quando está declarando a danfe aqui:
var danfe = new DanfeFrNfe(proc, new ConfiguracaoDanfeNfe());
The text was updated successfully, but these errors were encountered: