Ir para conteúdo
  • Cadastre-se

dev botao

Curitiba: erro ao consultar notas? Na resposta estão todas as notas mas em ACBrNFSe.NotasFiscais.Count só tem uma.


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

Recommended Posts

  • Membros Pro

Investigando um pouco, na procedure TACBrNFSeProviderABRASFv1.TratarRetornoConsultaNFSe(Response: TNFSeConsultaNFSeResponse) temos:

      ANodeArray := ANode.Childrens.FindAllAnyNs('CompNfse');
      if ANodeArray = nil then
        ANodeArray := ANode.Childrens.FindAllAnyNs('ComplNfse');

      if not Assigned(ANodeArray) then
      begin
        AErro := Response.Erros.New;
        AErro.Codigo := Cod203;
        AErro.Descricao := Desc203;
        Exit;
      end;

      for I := Low(ANodeArray) to High(ANodeArray) do
      begin
        ANode := ANodeArray[I];

Pelo que entendi vai percorrer uma lista de tags CompNfse porém as notas estão dentro de tcCompNfse então o código só faz uma interação.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <ConsultarNfseResponse xmlns="http://www.e-governeapps2.com.br/">
            <ConsultarNfseResult>
                <ListaNfse>
                    <CompNfse>
                        <tcCompNfse>
                            <Nfse>
                                <InfNfse>
                                    <Numero>13943</Numero>
								</InfNfse>
							</Nfse>
						</tcCompNfse>
						<tcCompNfse>
							<Nfse>
								<InfNfse>
									<Numero>13944</Numero>

 

Editado por Digibyte
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

No meu entendimento não é bem isso que ocorre.

Primeiramente o TratarRetornoConsultaNFSe verifica se existe o grupo: ListaNfse:

      ANode := Document.Root.Childrens.FindAnyNs('ListaNfse');

Depois verifica se existe o grupo CompNfse ou ComplNfse, como esse grupo pode ocorrer mais de uma vez a leitura do grupo é feita através do FindAllAnyNs:

      ANodeArray := ANode.Childrens.FindAllAnyNs('CompNfse');
      if ANodeArray = nil then
        ANodeArray := ANode.Childrens.FindAllAnyNs('ComplNfse');

Em seguida temos um loop que vai ler todas as ocorrências do grupo CompNfse ou ComplNfse

      for I := Low(ANodeArray) to High(ANodeArray) do
      begin
        ANode := ANodeArray[I];

Na variável ANode temos o nó de cada ocorrência.

Por fim ele verifica se existe ou não o grupo tcCompNfse para em seguida ler o grupo Nfse.

        AuxNode := ANode.Childrens.FindAnyNs('tcCompNfse');

        if AuxNode = nil then
          AuxNode := ANode.Childrens.FindAnyNs('Nfse')
        else
          AuxNode := AuxNode.Childrens.FindAnyNs('Nfse');

Você consegue debugar para ver o que pode esta ocorrendo?

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia,

Por favor anexa o XML e não o colo como parte da postagem.

Fico no aguardo.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Já inclui na minha lista de tarefas para encontrar uma solução para o problema. TK-3202

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Favor atualizar os fontes, reinstale o ACBr e faça novos testes.

  • Obrigado 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

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

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 551 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.