FONTE NFE C#
Boa noite a todos ...
Não estou conseguindo confirmar o envio da XML (processo assÃncrono).
Recebo esta resposta;
[Ô]ERROS NA VALIDAÇÃO DO SCHEMA XML. VERIFIQUE A MENSAGEM ABAIXO: The [ô]http://www.portalfiscal.inf.br/nfe:enviNFe[ô] element is not declared.[Ô]
Utilizei várias XML[ô]s inclusive algumas postadas aqui e outras que operam normalmente no projeto [Ô]NFe VB.net[Ô], por isso não postei.
Alguma ideia do que possa estar acontecendo ?
TB gostaria de saber do Elucimar se o link da pág.1 é o que tem o projeto mais atualizado.
Não estou conseguindo confirmar o envio da XML (processo assÃncrono).
Recebo esta resposta;
[Ô]ERROS NA VALIDAÇÃO DO SCHEMA XML. VERIFIQUE A MENSAGEM ABAIXO: The [ô]http://www.portalfiscal.inf.br/nfe:enviNFe[ô] element is not declared.[Ô]
Utilizei várias XML[ô]s inclusive algumas postadas aqui e outras que operam normalmente no projeto [Ô]NFe VB.net[Ô], por isso não postei.
Alguma ideia do que possa estar acontecendo ?
TB gostaria de saber do Elucimar se o link da pág.1 é o que tem o projeto mais atualizado.
Boa noite NETODV1
No caso especifico do construtor da classe de envio,você tem que passar um xml sem assinar com a Tag NFe. E o método EnviarSefaz valida,assina e envia o xml para o Sefaz.
Sim
Citação:
Não estou conseguindo confirmar o envio da XML (processo assÃncrono).
Recebo esta resposta;
[Ô]ERROS NA VALIDAÇÃO DO SCHEMA XML. VERIFIQUE A MENSAGEM ABAIXO: The [ô]http://www.portalfiscal.inf.br/nfe:enviNFe[ô] element is not declared.[Ô]
Utilizei várias XML[ô]s inclusive algumas postadas aqui e outras que operam normalmente no projeto [Ô]NFe VB.net[Ô], por isso não postei.
No caso especifico do construtor da classe de envio,você tem que passar um xml sem assinar com a Tag NFe. E o método EnviarSefaz valida,assina e envia o xml para o Sefaz.
Citação:Alguma ideia do que possa estar acontecendo ?
TB gostaria de saber do Elucimar se o link da pág.1 é o que tem o projeto mais atualizado.
Sim
Elucimar, bom dia!
Obrigado pela resposta.
Seria possÃvel me enviar um exemplo dessa XML ?
F.R.N.Neto
Obrigado pela resposta.
Seria possÃvel me enviar um exemplo dessa XML ?
F.R.N.Neto
Só corrigindo ...
Leia-se por [Ô]me enviar[Ô] / [Ô]postar[Ô]
Leia-se por [Ô]me enviar[Ô] / [Ô]postar[Ô]
Pessoal,Gostaria de saber se o Projeto ja faz download do arquivo xml da receita , Obrigado
Citação:Pessoal,Gostaria de saber se o Projeto ja faz download do arquivo xml da receita , Obrigado
Sim, e também o serviço NFeDistribuicaoDFe que é um Webservice que mostra todas as NFe emitidas destinada para um determinado Cnpj. Esse Webservice vem só os cabeçalhos da NFe.
Elucimar como salvo o arquivo xml obtido sa class NFeDownloadNF eu nao consigu ver nada nela
Alterei o exemplo no Form de Testes botão btnDownloadNFe_Click para ficar mais claro o entendimento. Substitua a rotina por esta:
string chaveNFe = [Ô]SuaChaveNFe[Ô];
string cnpjEmpresa = [Ô]CnpjEmpresa[Ô];
X509Certificate2 certDig = cmbCertificado.SelectedItem as X509Certificate2;
configServico = ConfigServWeb.ConfigServico([Ô]AN[Ô], [Ô]55[Ô], TipoServico.NfeDownloadNF);
NFeDownloadNF nfeDownloadNF = new NFeDownloadNF(chaveNFe, cnpjEmpresa);
nfeDownloadNF.CertDigital = certDig;
nfeDownloadNF.ConfigServico = configServico;
nfeDownloadNF.EnviarSefaz();
XmlDocument xmlProc = null;
procNFe nfeProc = null;
// cStat = 140 - Pedido de Download processado com Sucesso[Ô]
if (nfeDownloadNF != null)
{
if (nfeDownloadNF.RetornoSefaz.retNFe[0].cStat == [Ô]140[Ô])
{
// Retorno em Formato Xml
string strReplace = @[Ô]xmlns(:\w+)?=[Ô][Ô]([^[Ô][Ô]]+)[Ô][Ô]|xsi(:\w+)?=[Ô][Ô]([^[Ô][Ô]]+)[Ô][Ô][Ô];
XmlDocument xmRetDownloadNFe = new XmlDocument();
xmRetDownloadNFe.LoadXml(Regex.Replace(nfeDownloadNF.XmlRetornoSefaz.OuterXml, strReplace, [Ô][Ô]));
xmlProc = new XmlDocument();
xmlProc.LoadXml(xmRetDownloadNFe.SelectSingleNode([Ô]/retDownloadNFe/retNFe/procNFe/nfeProc[Ô]).OuterXml);
// Retorno Classe deserializada
nfeProc = nfeDownloadNF.RetornoSefaz.retNFe[0].procNFe[0];
}
}
Obs: Se o cStat = 633(Rejeição: NF-e indisponÃvel para download devido a ausência de Manifestação do Destinatário)
Você tem que enviar um Evento de manifestação Destinatário para liberar o Download NFe.
Lembrando o download só fica disponÃvel 30 dias contando pela data emissão NFe.
string chaveNFe = [Ô]SuaChaveNFe[Ô];
string cnpjEmpresa = [Ô]CnpjEmpresa[Ô];
X509Certificate2 certDig = cmbCertificado.SelectedItem as X509Certificate2;
configServico = ConfigServWeb.ConfigServico([Ô]AN[Ô], [Ô]55[Ô], TipoServico.NfeDownloadNF);
NFeDownloadNF nfeDownloadNF = new NFeDownloadNF(chaveNFe, cnpjEmpresa);
nfeDownloadNF.CertDigital = certDig;
nfeDownloadNF.ConfigServico = configServico;
nfeDownloadNF.EnviarSefaz();
XmlDocument xmlProc = null;
procNFe nfeProc = null;
// cStat = 140 - Pedido de Download processado com Sucesso[Ô]
if (nfeDownloadNF != null)
{
if (nfeDownloadNF.RetornoSefaz.retNFe[0].cStat == [Ô]140[Ô])
{
// Retorno em Formato Xml
string strReplace = @[Ô]xmlns(:\w+)?=[Ô][Ô]([^[Ô][Ô]]+)[Ô][Ô]|xsi(:\w+)?=[Ô][Ô]([^[Ô][Ô]]+)[Ô][Ô][Ô];
XmlDocument xmRetDownloadNFe = new XmlDocument();
xmRetDownloadNFe.LoadXml(Regex.Replace(nfeDownloadNF.XmlRetornoSefaz.OuterXml, strReplace, [Ô][Ô]));
xmlProc = new XmlDocument();
xmlProc.LoadXml(xmRetDownloadNFe.SelectSingleNode([Ô]/retDownloadNFe/retNFe/procNFe/nfeProc[Ô]).OuterXml);
// Retorno Classe deserializada
nfeProc = nfeDownloadNF.RetornoSefaz.retNFe[0].procNFe[0];
}
}
Obs: Se o cStat = 633(Rejeição: NF-e indisponÃvel para download devido a ausência de Manifestação do Destinatário)
Você tem que enviar um Evento de manifestação Destinatário para liberar o Download NFe.
Lembrando o download só fica disponÃvel 30 dias contando pela data emissão NFe.
eu queria salvar o xml mesmo para poder dar entrada nele no meu sistema
No caso do exemplo que te passei o xml já está na memoria basta percorrer os seus nós ou senão pegar a classe já desserializada e percorre-la para dar entrada no seu sistema. Agora se quiser salvar o xml fisicamente é simples:
xmlProc.Save(@[Ô]C:\[Ô] + nfeDownloadNF.RetornoSefaz.retNFe[0].procNFe[0].nfeProc.NFe.infNFe.Id + [Ô].xml[Ô]);
xmlProc.Save(@[Ô]C:\[Ô] + nfeDownloadNF.RetornoSefaz.retNFe[0].procNFe[0].nfeProc.NFe.infNFe.Id + [Ô].xml[Ô]);
Faça seu login para responder