Ir para conteúdo
  • Cadastre-se

dev botao

Provedor ISSDSF Nova Iguacu/RJ NFSe.Numero = '' vazia


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

Recommended Posts

  • Membros Pro
Postado

Boa noite,

Ao usar o método ACBrNFSeX1.ConsultarLoteRps(Protocolo,Lote) a consulta é realizada com sucesso porem esse provedor não retorna todos os dados da NFSe ele retorna somente um resumo, porem nesse resumo tem a tag <NumeroNFe>51183</NumeroNFe> a qual o compnente não esta carregando na propriedade ACBrNFSeX1.NotasFiscais.Items[0].NFSe.Numero,  segue os XMLs em anexo.

 

4968937-con-lot.xml 4968937-con-lot-soap.xml 4968937-lista-nfse-con-lot.xml 4968937-lista-nfse-con-lot-soap.xml

  • Consultores
Postado

Boa tarde,

Como o provedor ISSDSF ao consultar o lote retorna somente um resumo da nota, não faz sentido popular a lista de notas com apenas meia dúzia de informações.

Para esse provedor o componente esta alimentando os seguintes campos de retorno.

ACBrNFSeX1.WebService.ConsultaLoteRps.Lote
ACBrNFSeX1.WebService.ConsultaLoteRps.Protocolo
ACBrNFSeX1.WebService.ConsultaLoteRps.Sucesso
ACBrNFSeX1.WebService.ConsultaLoteRps.NumeroNota
ACBrNFSeX1.WebService.ConsultaLoteRps.CodVerificacao
ACBrNFSeX1.WebService.ConsultaLoteRps.NumeroRps
ACBrNFSeX1.WebService.ConsultaLoteRps.SerieRps

Os valores retornados nesses campos é o resultado da consulta.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

Boa tarde,

Para os demais provedores em que ao consultar o lote retorna o XML completo essas propriedades acima citadas por você são preenchidas também pelo componente?

  • Membros Pro
Postado

Pois é então,

Sei que essa questão de emissão de NFSe é um caos devido a quantidade de provedores/prefeituras em nosso pais, esses dias o @Daniel Simoes disse no video em que falava do mais novo ultimo projeto piloto para NFSe nacional que é uma bagunça e é mesmo sem duvida por diversos, varios, muitos motivos que nem vamos gastar nosso tempo para descrever aqui.

Pois bem, tem algumas mazelas desse caos que o componente pode ajudar muito, um exemplo é esse caso de agora, o ideal é padronizar o comportamento do componente para situações exatamente iguais independente do provedor.

No caso especifico desse topico poderia deixar padrão para todos os provedores que ao consultar o lote, ele sempre carregue as propriedades acima menciondas por voce, mesmo que o provedor X retorne a NFSe completa nessa consulta e claro se retornar a NFSe completa dai popular a lista de notas normalmente como ja ocorre hoje.

Padronizando esse comportamento no componente para todos os provedores, podemos comparar e automatizar nosso codigo para comparar e fazer as ações necessarias conforme o retorno.

Mas ai @Italo Giurizzato Junior voce pode ver o que é melhor fazer, sempre carrega ou não carrega as propriedades acima descritas por voce, o que precisamos é padrão comportamento igual do componente.

  • Consultores
  • Solution
Postado

Boa tarde,

Iniciei um trabalha para padronizar os retornos.

Para o provedor ISSDSF fiz uma alteração visando retornar as informações do resumo ao consultar o lote.

O problema é se nesse retorno tivermos uma ou mais resumos de notas, neste caso o correto seria termos uma lista de resumos.

Pensando nisso criei a lista de resumos, podemos obter ela da seguinte forma:

with ACBrNFSeX1.WebService.ConsultaLoteRps do
begin
  if Resumos.Count > 0 then
  begin
    memoLog.Lines.Add(' ');
    memoLog.Lines.Add('Resumo(s):');
    for i := 0 to Resumos.Count -1 do
    begin
      memoLog.Lines.Add('Numero Nota       : ' + Resumos[i].NumeroNota);
      memoLog.Lines.Add('Código Verificação: ' + Resumos[i].CodigoVerificacao);
      memoLog.Lines.Add('Numero Rps        : ' + Resumos[i].NumeroRps);
      memoLog.Lines.Add('Série Rps         : ' + Resumos[i].SerieRps);
      memoLog.Lines.Add('---------');
    end;
  end;
end;

Código extraído do programa exemplo.

O provedor ISSDSF já esta apto a gerar essa lista.

Fiz uma alteração na Unit base utilizada pelos provedores que seguem a versão 1 da ABRASF, mas somente na consulta do lote.

Caso você tenha algum cliente cuja cidade se utiliza de um provedor que segue a versão 1 da ABRASF e puder testar ficarei grato.

Com base nos seus testes e retornos poderemos avançar nessa padronização.

Desde já muito obrigado pelos testes.

Se faz necessário atualizar os fontes, reinstalar o ACBr para realizar os testes.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado
Em 29/06/2022 at 15:44, Italo Giurizzato Junior disse:

Boa tarde,

Como o provedor ISSDSF ao consultar o lote retorna somente um resumo da nota, não faz sentido popular a lista de notas com apenas meia dúzia de informações.

Para esse provedor o componente esta alimentando os seguintes campos de retorno.

ACBrNFSeX1.WebService.ConsultaLoteRps.Lote
ACBrNFSeX1.WebService.ConsultaLoteRps.Protocolo
ACBrNFSeX1.WebService.ConsultaLoteRps.Sucesso
ACBrNFSeX1.WebService.ConsultaLoteRps.NumeroNota
ACBrNFSeX1.WebService.ConsultaLoteRps.CodVerificacao
ACBrNFSeX1.WebService.ConsultaLoteRps.NumeroRps
ACBrNFSeX1.WebService.ConsultaLoteRps.SerieRps

Os valores retornados nesses campos é o resultado da consulta.

Bom dia,

Vou começar a realizar os testes com esse provedor nesse novo padrão, mas antes tenho uma pergunta simples, essas propriedades do post citado também estão sendo carregadas normalmente por exemplo com os dados do primeiro resumo caso exista mais de um resumo retornado pelo método ConsultarLoteRps?

Seria importante elas serem carregadas sempre com os dados do primeiro resumo retornado caso exista, pois assim não quebra o codigo de quem ja usa dessas propriedades para conferir as informações retornadas.

Tambem para quem sempre envia um unico RPS no lote por padrão (quase todo mundo eu acho) essas novas propriedades de resumo não vai impactar no codigo dos nossos sistemas.

E por fim seria muito bom que assim fosse feito em todos os provedores que retornam resumo ao ConsultarLoteRps, voce alimenta as propriedades citadas com o primeiro resumo e tambem a lista de resumos fica disponivel para quem envia mais de um RPS no lote, dessa forma vai ficar perfeito @Italo Giurizzato Junior

  • 3 semanas depois ...
×
×
  • 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.