Ir para conteúdo
  • Cadastre-se

dev botao

Correção tratamento RPS método TACBrNFSeProviderABRASFv1.PreencherNotaRespostaConsultaNFSe


Ver Solução Respondido por Rodrigo - Digibyte,
  • Este tópico foi criado há 743 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Adicionado "IF" pois o node IdentificacaoRps pode ser null ocasionando AV

    if Node <> nil then
    begin
      NumRps := ObterConteudoTag(Node.Childrens.FindAnyNs('Numero'), tcStr);
      SerieRps := ObterConteudoTag(Node.Childrens.FindAnyNs('Serie'), tcStr);
    end;

function TACBrNFSeProviderABRASFv1.PreencherNotaRespostaConsultaNFSe(Node,
  parentNode: TACBrXmlNode; Response: TNFSeConsultaNFSeResponse): Boolean;
var
  NumNFSe, CodVerif, NumRps, SerieRps: String;
  ANota: TNotaFiscal;
  AResumo: TNFSeResumoCollectionItem;
begin
  Result := False;

  if Node <> nil then
  begin
    Node := Node.Childrens.FindAnyNs('InfNfse');
    NumNFSe := ObterConteudoTag(Node.Childrens.FindAnyNs('Numero'), tcStr);
    CodVerif := ObterConteudoTag(Node.Childrens.FindAnyNs('CodigoVerificacao'), tcStr);
    Node := Node.Childrens.FindAnyNs('IdentificacaoRps');
    if Node <> nil then
    begin
      NumRps := ObterConteudoTag(Node.Childrens.FindAnyNs('Numero'), tcStr);
      SerieRps := ObterConteudoTag(Node.Childrens.FindAnyNs('Serie'), tcStr);
    end;

    AResumo := Response.Resumos.New;
    AResumo.NumeroNota := NumNFSe;
    AResumo.CodigoVerificacao := CodVerif;
    AResumo.NumeroRps := NumRps;
    AResumo.SerieRps := SerieRps;

    ANota := TACBrNFSeX(FAOwner).NotasFiscais.FindByRps(NumRps);

    ANota := CarregarXmlNfse(ANota, parentNode.OuterXml);
    SalvarXmlNfse(ANota);
    Result := True; // Processado com sucesso pois retornou a nota
  end;
end;

 

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.