Skip to content
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

Nfe sem Autorização de uso da SEFAZ #16

Closed
dzfweb opened this issue Apr 28, 2015 · 4 comments
Closed

Nfe sem Autorização de uso da SEFAZ #16

dzfweb opened this issue Apr 28, 2015 · 4 comments

Comments

@dzfweb
Copy link

dzfweb commented Apr 28, 2015

Olá Adenilton,

uma duvida, Consegui emitir a nfe, transmitir e foi autorizada. Consigo consultar pela chave na sefaz.
Porem ao tentar gerar a danfe pelo XML retornado gerado eu obtenho a informação:

Nfe sem Autorização de uso da SEFAZ

Pesquisei na net e vi que isso ocorre quando eu tento gerar o DANFE com um xml sem protocolo de autorização.

Por que esta ocorrendo isso?

Obrigado novamente.

@weslley39
Copy link

Quando autorizado o uso da NFe, use o método NfeConsultaProtocolo, passando a chave da NFe, pegue o elemento RetornoCompletoStr.
Em seguida, pegue a string e transforme em objeto usando:

var protNFe = FuncoesXml.XmlStringParaClasse<retConsSitNFe>(<<RetornoCompletoStr>>).protNFe;

Agora é so "montar" o objeto de NFe autorizada.

 var nfeproc = new nfeProc
            {
                NFe = "string da nfe",
                protNFe = protNFe, 
                versao = "versao da nota"
            };

Para salvar em xml, vc pode usar o metodo:

nfeproc.SalvarArquivoXml("caminho completo onde quer salvar.xml")

@adeniltonbs
Copy link
Member

Isso mesmo, você pode fazer desta forma. Para facilitar, no aplicativo de demonstração tem um exemplo com essa situação.
Dê uma verificada no método do botão "Adicionar nfeProc ao XML", que carrega um xml assinado, consulta pela chave, e monta o objeto "nfeproc", que é o objeto que você vai usar para exportar o XML a ser usado na impressão do DANFE.

Note que você também pode montar o objeto nfeproc a partir do resultado do serviço "NFeRetAutorizacao" (usando o recibo de entrega do lote), já que este devolve uma Lista de "protNFe".

Neste caso, se você transmitiu o lote, poderá montar um objeto do tipo "nfeproc" para cada item da lista de "protNFe".

Para obter a lista de "protNFe" a partir do serviço "NFeRetAutorizacao" faça:

...
var servicoNFe = new ServicosNFe(_configuracoes.CfgServico);
var protNFes = servicoNFe.NFeRetAutorizacao(numero_do_recibo_do_lote).Retorno.protNFe;
foreach (var _protNFe in protNFes)
{
    var nfeproc = new nfeProc { NFe = nfe, protNFe = _protNFe, versao = _protNFe.versao };
    FuncoesXml.ClasseParaArquivoXml(nfeproc, caminho_e_nome_do_arquivo);
}

@dzfweb
Copy link
Author

dzfweb commented Apr 28, 2015

Certo, muito obrigado pelo retorno, vou testar seguindo a orientação de vocês.

@dzfweb
Copy link
Author

dzfweb commented Apr 28, 2015

deu certo pessoal, passando só pra agradecer novamente. Pode fechar o topico.

robertorp pushed a commit that referenced this issue Aug 26, 2017
robertorp pushed a commit that referenced this issue Mar 21, 2018
marcosgerene added a commit that referenced this issue Aug 15, 2018
Valmir-Cunha pushed a commit that referenced this issue Jul 1, 2024
Evento Cancelamento de Insucesso na Entrega do CT-e - 110191
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants