Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2307 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado
8 minutos atrás, Ralph Waldo Rangel disse:

Olá, essa é minha pra NFE e está dando erro ao validar (função .validar), antes aparecia as mensagens de erros e fui tratando cada uma, agora só dá a mensagem que não foi possível validar. Segue o arquivo XML porque não consegui encontrar o erro

52180715653548000108550010000000121000000128-nfe.xml

Acho que estão faltando informações no xml, esta definindo como versão 4.0 ?

Postado
3 horas atrás, Ralph Waldo Rangel disse:

Olá, essa é minha pra NFE e está dando erro ao validar (função .validar), antes aparecia as mensagens de erros e fui tratando cada uma, agora só dá a mensagem que não foi possível validar. Segue o arquivo XML porque não consegui encontrar o erro

52180715653548000108550010000000121000000128-nfe.xml

Boa noite

Acho q faltou configurar corretamente o componente pois esta na versão antiga...

versao="2.00"

Att

Ricardo

  • Curtir 1
Postado
17 horas atrás, Dercide Alvarez disse:

Acho que estão faltando informações no xml, esta definindo como versão 4.0 ?

sim em configurações / geral / versaoDF está informado ver400

14 horas atrás, RicardoVoigt disse:

Boa noite

Acho q faltou configurar corretamente o componente pois esta na versão antiga...

versao="2.00"

Att

Ricardo

Em configurações / geral / versaoDF está informado ver400

17 horas atrás, Dercide Alvarez disse:

Acho que estão faltando informações no xml, esta definindo como versão 4.0 ?

sim em configurações / geral / versaoDF está informado ver400

Postado
3 horas atrás, Dercide Alvarez disse:

@Ralph Waldo Rangel

Esse XML que você anexou, não esta como versão 4.0, e sim 2.0.

De uma revisada na tua rotina.

Dercide.

Bom, acabei de revisar e você tem toda razão, por algum motivo coloquei

  cbxVersaoDF.Items[0]  := 've400' ;
  cbxVersaoDF.ItemIndex := 0 ;

Esse itemindex que era todo problema.

Vou continuar testando e qualquer coisa posto aqui a conclusão ou outras dúvidas


 

 

  • Curtir 1
Postado (editado)
6 minutos atrás, Dercide Alvarez disse:

Qual foi a mensagem de erro ??

Então, não dá erro pelo ".alertas" na rotina abaixo é verificado a assinatura com sucesso, e na hora do ".validar" ele entra no except NÃO entra o if do "[0].alertas"

 

O NOMEARQ fica em branco também

...

 ACBrNFe1.NotasFiscais.Items[0].GravarXML();

  if not ACBrNFe1.NotasFiscais.VerificarAssinatura( MsgErro ) then
     begin
       ShowMessage( 'Falha na validação da assinatura, verifique o certificado : ' + #13 + MsgErro );

       Exit;
     end;


  try
    ACBrNFe1.NotasFiscais.Validar;
  except
    if ACBrNFe1.NotasFiscais.Items[0].Alertas <> '' then
      ShowMessage(ACBrNFe1.NotasFiscais.Items[0].Alertas);

    // se der erro, salvo o conteudo em um arquivo xml
    NomeArq := ACBrNFe1.NotasFiscais.Items[0].NomeArq;
    ShowMessage('Erro ao validar a NFE : ' + NumeroNota + #13 + 'Arquivo: ' + NomeArq ) ;

    Abort;
  end;
 

 

Editado por Ralph Waldo Rangel
Postado
49 minutos atrás, André Ferreira de Moraes disse:

Vc não deve informar a literal ISENTO no campo IE do destinatário e vc não informou os pagamentos da NFe.

deve ser essas duas coisas mesmos. já que estava isento e sem .pag, vou testar, valeu.

Postado
12 horas atrás, Antonio Carlos L disse:

Oi Ralph, olhando seu xml vi que vc informa a Tag <ICMSSN102> que deveria ter CSOSN = 102 como 400

image.png.ae82f1a03aa5de9e8171c93c3b66f798.png

 

 

olha que estranho, na unite pcnConversao da ACBR está retornando a tag 102 quando o csosn é 400:

function CSOSNToStrTagPos(const t: TpcnCSOSNIcms): string;

begin
  case  t of
    csosn101                               : result := '101';
    csosn102, csosn103, csosn300, csosn400 : result := '102';
    csosn201                               : result := '201';
    csosn202,csosn203                      : result := '202';
    csosn500                               : result := '500';
    csosn900                               : result := '900';
  end;
end;

9 horas atrás, Daniel Simoes disse:

Use essa página, para validar o seu XML

https://www.sefaz.rs.gov.br/nfe/nfe-val.aspx

valeu, não sabia disso, muito obrigado.

Postado
3 minutos atrás, André Ferreira de Moraes disse:

Não tem nada de estranho, é oq o manual orienta.

image.png

é porque o colega anterior me disse que está tag 102 com csosn 400

 

Olha o que está acontecendo: a sefaz retorna código 103 e 104 mas dá erro ao enviar... e não aparece qual erro...

o comando que usei foi:

  try
    ACBrNFe1.Enviar(NumeroNota,true);
  except
    NomeArq := ACBrNFe1.NotasFiscais.Items[0].NomeArq;
    ShowMessage('Falha ao enviar a NFe: ' + NumeroNota + #13 + 'Arquivo: ' + NomeArq ) ;

    Abort;
  end;

  if IntToStr(ACBrNFe1.WebServices.Retorno.cStat) = '100' then

WhatsApp Image 2018-08-01 at 09.45.58.jpeg

52180815653548000108550010000000011000000012-nfe.xml

WhatsApp Image 2018-08-01 at 09.45.31.jpeg

WhatsApp Image 2018-08-01 at 09.45.16.jpeg

  • Moderadores
Postado
46 minutos atrás, Ralph Waldo Rangel disse:

dúvida de quem nunca rodou uma nfe, como pode retornar um recibo e dar erro na procedure de enviar? pode ser o número da nfe? neste caso não teria que dar o erro de numero duplicado ou descrever o erro?

Se você está usando o envio assíncrono, é gerado um número de recibo no envio de lote, o que é usado automaticamente pelo componente para fazer a consulta do recibo, havendo rejeição o componente dispara uma exceção com a mensagem de retorno, que você está ignorando no seu try..except.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
5 minutos atrás, BigWings disse:

Se você está usando o envio assíncrono, é gerado um número de recibo no envio de lote, o que é usado automaticamente pelo componente para fazer a consulta do recibo, havendo rejeição o componente dispara uma exceção com a mensagem de retorno, que você está ignorando no seu try..except.

fiz a consulta do recibo/lote e me retornou que o valor do produto difere do valor do valor de comercialização 

 

<?xml version="1.0" encoding="UTF-8" ?> 
  <?xml version="1.0" encoding="UTF-8" ?> 
- <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
  <env:Header /> 
- <env:Body>
- <nfeRetAutorizacaoLoteResult xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetAutorizacao">
- <retConsReciNFe versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">
  <tpAmb>1</tpAmb> 
  <verAplic>GO4.0</verAplic> 
  <nRec>52xxxxxxxxxxxx</nRec> 
  <cStat>104</cStat> 
  <xMotivo>Lote processado</xMotivo> 
  <cUF>52</cUF> 
  <dhRecbto>2018-08-01T10:42:10-03:00</dhRecbto> 
- <protNFe versao="3.10">
- <infProt Id="NFe00">
  <tpAmb>1</tpAmb> 
  <verAplic>GO4.0</verAplic> 
  <chNFe>52180815653548000108550010000000011000000012</chNFe> 
  <dhRecbto>2018-08-01T10:42:10-03:00</dhRecbto> 
  <digVal /> 
  <cStat>629</cStat> 
  <xMotivo>Rejeição: Valor do Produto difere do produto Valor Unitário de Comercialização e Quantidade Comercial</xMotivo> 
  </infProt>
  </protNFe>
  </retConsReciNFe>
  </nfeRetAutorizacaoLoteResult>
  </env:Body>
  </env:Envelope>

Postado
1 hora atrás, Ralph Waldo Rangel disse:

olha que estranho, na unite pcnConversao da ACBR está retornando a tag 102 quando o csosn é 400:

function CSOSNToStrTagPos(const t: TpcnCSOSNIcms): string;

begin
  case  t of
    csosn101                               : result := '101';
    csosn102, csosn103, csosn300, csosn400 : result := '102';
    csosn201                               : result := '201';
    csosn202,csosn203                      : result := '202';
    csosn500                               : result := '500';
    csosn900                               : result := '900';
  end;
end;

valeu, não sabia disso, muito obrigado.

Oi, então veja que o seu caso é inverso, pelo trecho do código diz que se for csosn102,103,300,440 o result vai ser 102 e no seu xml na Tag <ICMSSN102> que deveria ter CSOSN = 102 esta retornando 400 ou seja o codigo que vc mostrou não pode ter gerado o 400 

  • Moderadores
Postado
5 minutos atrás, Antonio Carlos L disse:

Oi, então veja que o seu caso é inverso, pelo trecho do código diz que se for csosn102,103,300,440 o result vai ser 102 e no seu xml na Tag <ICMSSN102> que deveria ter CSOSN = 102 esta retornando 400 ou seja o codigo que vc mostrou não pode ter gerado o 400 

O grupo ICMSSN102 no XML pode conter os CSOSN 102, 103, 300 e 400.

 

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado (editado)

Sim @BigWings você esta correto,  e confesso que não tinha esse entendimento, sempre achei que naquele ponto do manual as regras ali eram validas para aquele grupo de valores e não que se fosse informasse qualquer um deles seria gerado esse grupo, não havia reparado.

 

Editado por Antonio Carlos L
  • Este tópico foi criado há 2307 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.