Jump to content

dev botao

C# - Envio de NFe


Go to solution Solved by Diego Foliene,
  • Este tópico foi criado há 406 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá bom dia, estamos com um probleminha na emissão do C#, precisamos de um pouco de urgência nesse caso pois a nota precisa ser emitida.

Estamos utilizando a emissão da NF-e com nota referenciada, porém na emissão está retornando que a TAG não foi informada, e verificando no XML gerado pelo componente, de fato a TAG não está sendo gerada.

Falha na validação dos dados da nota: 9375
 --> 1871 - Element '{http://www.portalfiscal.inf.br/nfe}NFref': Missing child element(s). Expected is one of ( {http://www.portalfiscal.inf.br/nfe}refNFe, {http://www.portalfiscal.inf.br/nfe}refNF, {http://www.portalfiscal.inf.br/nfe}refNFP, {http://www.portalfiscal.inf.br/nfe}refCTe, {http://www.portalfiscal.inf.br/nfe}refECF ).

Até o momento de utilizar o comando CarregarNota(), as notas estão carregadas no NotasFiscais.
image.thumb.png.d003b9f961e7b9991397087300a14140.png

 

Se após eu carregar, utilizar o comando ObterNFe(); ou o comando ObterIni(), as notas não estão presente no retorno.

Link to comment
Share on other sites

  • Consultores

Estamos verificando entre os consulteres quem poderá atender. Assim que tiver uma posição retornamos aqui.

  • Thanks 1
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

Link to comment
Share on other sites

  • Consultores
  • Solution
1 hora atrás, Lindomar S. Menezes disse:

Olá bom dia, estamos com um probleminha na emissão do C#, precisamos de um pouco de urgência nesse caso pois a nota precisa ser emitida.

Estamos utilizando a emissão da NF-e com nota referenciada, porém na emissão está retornando que a TAG não foi informada, e verificando no XML gerado pelo componente, de fato a TAG não está sendo gerada.

Falha na validação dos dados da nota: 9375
 --> 1871 - Element '{http://www.portalfiscal.inf.br/nfe}NFref': Missing child element(s). Expected is one of ( {http://www.portalfiscal.inf.br/nfe}refNFe, {http://www.portalfiscal.inf.br/nfe}refNF, {http://www.portalfiscal.inf.br/nfe}refNFP, {http://www.portalfiscal.inf.br/nfe}refCTe, {http://www.portalfiscal.inf.br/nfe}refECF ).

Até o momento de utilizar o comando CarregarNota(), as notas estão carregadas no NotasFiscais.
image.thumb.png.d003b9f961e7b9991397087300a14140.png

 

Se após eu carregar, utilizar o comando ObterNFe(); ou o comando ObterIni(), as notas não estão presente no retorno.

Bom dia!

Por favor, como você está preenchendo o a propriedade na classe alto nível?

Qual é a versão da Dll que você está usando?

Eu fiz um teste usando o programa exemplo em C#.

Alterei a rotina AlimentarDados para que me retornasse NotaFiscal ao invés de uma string.

private NotaFiscal AlimentarDados()

Adicionei o preenchimento da propriedade NFRef da seguinte forma:

var ref1 = new NFRef();
ref1.refNFe = "12345678901234567890123456789012345678901234";
ref1.Tipo = TipoRef.NFe;

notaFiscal.Identificacao.NFref.Add(ref1);

var ref2 = new NFRef();
ref2.Tipo = TipoRef.NF;
ref2.cUF = "35";
ref2.AAMM = "2308";
ref2.CNPJ = "55555555555556";
ref2.mod = "01";
ref2.Serie = "1";
ref2.nNF = "1";

notaFiscal.Identificacao.NFref.Add(ref2);

Adicionei um novo button com o seguinte código.

ACBrNFe.LimparLista();

NotaFiscal notaFiscal = AlimentarDados();
const string alimDados = "C:\\Users\\Diego\\Documents\\TKs\\4377\\AlimentarDados.ini";
const string obtNFe = "C:\\Users\\Diego\\Documents\\TKs\\4377\\ObterNFe.ini";
const string obtINI = "C:\\Users\\Diego\\Documents\\TKs\\4377\\ObterINI.ini";

File.WriteAllText(alimDados, notaFiscal.ToString());

ACBrNFe.CarregarNFe(notaFiscal);

var nNFe = ACBrNFe.ObterNFe(0);
File.WriteAllText(obtNFe, nNFe.ToString());

var nIni = ACBrNFe.ObterIni(0);

File.WriteAllText(obtINI, nIni);

ACBrNFe.LimparLista();

ACBrNFe.CarregarNFe(notaFiscal);

ACBrNFe.Assinar();

var obtXML = ACBrNFe.ObterXml(0);
rtbRespostas.AppendText(obtXML);

*O método CarregarNFe faz a mesma coisa que o método CarregarNota.

Em anexo os arquivos gerados. Note que o grupo NFref consta em todos eles. Como também no XML devolvido pelo ACBrNFe.ObterXML.
image.png

 

Importante!

  • Para gerar o elemento refNFe é preciso que o campo refNFe seja diferente de vazio.
  • Para gerar o grupo refNF é preciso que o campo nNF seja diferente de vazio.
  • Para gerar o grupo NFP é preciso que o campo nNF seja diferente de vazio.
  • Para gerar o elemento refCTe é preciso que o campo refCTe seja diferente de vazio.
  • Para gerar o elemento refECF é preciso que o campo nCOO seja diferente de vazio.

ObterINI.ini ObterNFe.ini AlimentarDados.ini

  • Like 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

1 hora atrás, Diego Foliene disse:

Bom dia!

Por favor, como você está preenchendo o a propriedade na classe alto nível?

Qual é a versão da Dll que você está usando?

Eu fiz um teste usando o programa exemplo em C#.

Alterei a rotina AlimentarDados para que me retornasse NotaFiscal ao invés de uma string.

private NotaFiscal AlimentarDados()

Adicionei o preenchimento da propriedade NFRef da seguinte forma:

var ref1 = new NFRef();
ref1.refNFe = "12345678901234567890123456789012345678901234";
ref1.Tipo = TipoRef.NFe;

notaFiscal.Identificacao.NFref.Add(ref1);

var ref2 = new NFRef();
ref2.Tipo = TipoRef.NF;
ref2.cUF = "35";
ref2.AAMM = "2308";
ref2.CNPJ = "55555555555556";
ref2.mod = "01";
ref2.Serie = "1";
ref2.nNF = "1";

notaFiscal.Identificacao.NFref.Add(ref2);

Adicionei um novo button com o seguinte código.

ACBrNFe.LimparLista();

NotaFiscal notaFiscal = AlimentarDados();
const string alimDados = "C:\\Users\\Diego\\Documents\\TKs\\4377\\AlimentarDados.ini";
const string obtNFe = "C:\\Users\\Diego\\Documents\\TKs\\4377\\ObterNFe.ini";
const string obtINI = "C:\\Users\\Diego\\Documents\\TKs\\4377\\ObterINI.ini";

File.WriteAllText(alimDados, notaFiscal.ToString());

ACBrNFe.CarregarNFe(notaFiscal);

var nNFe = ACBrNFe.ObterNFe(0);
File.WriteAllText(obtNFe, nNFe.ToString());

var nIni = ACBrNFe.ObterIni(0);

File.WriteAllText(obtINI, nIni);

ACBrNFe.LimparLista();

ACBrNFe.CarregarNFe(notaFiscal);

ACBrNFe.Assinar();

var obtXML = ACBrNFe.ObterXml(0);
rtbRespostas.AppendText(obtXML);

*O método CarregarNFe faz a mesma coisa que o método CarregarNota.

Em anexo os arquivos gerados. Note que o grupo NFref consta em todos eles. Como também no XML devolvido pelo ACBrNFe.ObterXML.
image.png

 

Importante!

  • Para gerar o elemento refNFe é preciso que o campo refNFe seja diferente de vazio.
  • Para gerar o grupo refNF é preciso que o campo nNF seja diferente de vazio.
  • Para gerar o grupo NFP é preciso que o campo nNF seja diferente de vazio.
  • Para gerar o elemento refCTe é preciso que o campo refCTe seja diferente de vazio.
  • Para gerar o elemento refECF é preciso que o campo nCOO seja diferente de vazio.

ObterINI.ini 3.54 kB · 0 downloads ObterNFe.ini 2.48 kB · 0 downloads AlimentarDados.ini 1.52 kB · 0 downloads



Faltou passarmos o TipoRef, no Delphi não tinha e no C# é necessário alimentar, não nos atentamos a esse parâmetro, alimentado ele gerou certo, só mais uma questão, notei que no TipoRef não tem para NF MODELO 1/1A, como proceder neste caso?

Neste caso, é só não alimentar o tipo e alimentar o campo mod corretamente?

Link to comment
Share on other sites

  • Consultores
43 minutos atrás, Lindomar S. Menezes disse:



Faltou passarmos o TipoRef, no Delphi não tinha e no C# é necessário alimentar, não nos atentamos a esse parâmetro, alimentado ele gerou certo, só mais uma questão, notei que no TipoRef não tem para NF MODELO 1/1A, como proceder neste caso?

Neste caso, é só não alimentar o tipo e alimentar o campo mod corretamente?

De acordo com o MOC, a NF Modelo 1/1A é preenchida no grupo refNF.

image.png

Você define o TipoRef como NF para ele.

Foi dessa forma que fiz no exemplo.

var ref2 = new NFRef();
ref2.Tipo = TipoRef.NF;
ref2.cUF = "35";
ref2.AAMM = "2308";
ref2.CNPJ = "55555555555556";
ref2.mod = "01";
ref2.Serie = "1";
ref2.nNF = "1";

notaFiscal.Identificacao.NFref.Add(ref2);

Para ele gerar desta forma:

<NFref>
	<refNF>
		<cUF>35</cUF>
		<AAMM>2308</AAMM>
		<CNPJ>55555555555556</CNPJ>
		<mod>01</mod>
		<serie>1</serie>
		<nNF>1</nNF>
	</refNF>
</NFref>

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Este tópico foi criado há 406 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.