Ir para conteúdo
  • Cadastre-se

dev botao

NFSe SystemPro Assinatura Invalida na tag InfDeclaracaoPrestacaoServico


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

Recommended Posts

Postado

Fontes atualizados. 

Tenho uma alteração no ACBRNFSeWebServices, pois a tag de consulta do provedor SystemPro é <ConsultarNfseFaixaEnvio>.

Segue implementação abaixo que peço seja colocada em produção.

procedure TNFSeConsultarNfse.DefinirDadosMsg;
begin
  FCabecalhoStr := FPConfiguracoesNFSe.Geral.ConfigEnvelope.ConsNFSe.CabecalhoStr;
  FDadosStr     := FPConfiguracoesNFSe.Geral.ConfigEnvelope.ConsNFSe.DadosStr;
  FTagGrupo     := FPConfiguracoesNFSe.Geral.ConfigEnvelope.ConsNFSe.TagGrupo;
  FTagElemento  := FPConfiguracoesNFSe.Geral.ConfigEnvelope.ConsNFSe.TagElemento;
  FDocElemento  := FPConfiguracoesNFSe.Geral.ConfigEnvelope.ConsNFSe.DocElemento;
  FInfElemento  := FPConfiguracoesNFSe.Geral.ConfigEnvelope.ConsNFSe.InfElemento;

  FxsdServico := FPConfiguracoesNFSe.Geral.ConfigSchemas.ServicoConNfse;

  InicializarDadosMsg(FPConfiguracoesNFSe.Geral.ConfigEnvelope.ConsNFSe.IncluiEncodingCab);

  if (FProvedor = proSP) and (TNFSeConsultarNfse(Self).DataInicial > 0) and
     (TNFSeConsultarNfse(Self).DataFinal > 0) then
    FTagGrupo := 'PedidoConsultaNFePeriodo'
  { odair - SystemPro - 17/06/2020 - início }
  else if (FProvedor = proSystemPro) then
    FTagGrupo := 'ConsultarNfseFaixaEnvio';
  { SDS - SystemPro - 17/06/2020 - fim }

  GerarDadosMsg := TNFSeG.Create;
  try
    if FProvedor = proGoverna then
      FTagGrupo := FPrefixo4 + FTagGrupo
    else
    begin
      if FTagGrupo <> '' then
        FTagGrupo := FPrefixo3 + FTagGrupo;
    end;

    InicializarTagITagF;

    InicializarGerarDadosMsg;

    with GerarDadosMsg do
    begin
      DataInicial := TNFSeConsultarNfse(Self).DataInicial;
      DataFinal   := TNFSeConsultarNfse(Self).DataFinal;
      NumeroNFSe  := TNFSeConsultarNfse(Self).NumeroNFSe;
      Pagina      := TNFSeConsultarNfse(Self).FPagina;
      CNPJTomador := TNFSeConsultarNfse(Self).FCNPJTomador;
      IMTomador   := TNFSeConsultarNfse(Self).FIMTomador;
      NomeInter   := TNFSeConsultarNfse(Self).FNomeInter;
      CNPJInter   := TNFSeConsultarNfse(Self).FCNPJInter;
      IMInter     := TNFSeConsultarNfse(Self).FIMInter;

      // Necessario para o provedor Infisc
      SerieNFSe := TNFSeConsultarNfse(Self).Serie;
    end;

    AjustarOpcoes( GerarDadosMsg.Gerador.Opcoes );

    FPDadosMsg := FTagI + GerarDadosMsg.Gera_DadosMsgConsNFSe + FTagF;

    FIDLote := GerarDadosMsg.IdLote;
  finally
    GerarDadosMsg.Free;
  end;

  if (FProvedor = proNFSeBrasil)
    then FPDadosMsg := NumeroNFSe;

  // O procedimento recebe como parametro o XML a ser assinado e retorna o
  // mesmo assinado da propriedade FPDadosMsg
  if (FPConfiguracoesNFSe.Geral.ConfigAssinar.ConsNFSe) and (FPDadosMsg <> '') then
    AssinarXML(FPDadosMsg, FTagGrupo, FinfElemento, 'Falha ao Assinar - Consultar NFSe: ');
    
  IncluirEncoding(FPConfiguracoesNFSe.Geral.ConfigEnvelope.ConsNFSe.IncluiEncodingDados);

  FDadosEnvelope := FPConfiguracoesNFSe.Geral.ConfigEnvelope.ConsNFSe.Envelope;

  case FProvedor of
    proTinus:
      begin
        FPDadosMsg := StringReplace(FPDadosMsg, 'ConsultarNfseEnvio', 'Arg', [rfReplaceAll]);

        if FPConfiguracoesNFSe.WebServices.Ambiente = taHomologacao then
          FPDadosMsg := StringReplace(FPDadosMsg, 'www.tinus', 'www2.tinus', [rfReplaceAll])
      end;

    // Italo 10/09/2019
    proDSFSJC:
      FPDadosMsg := StringReplace(FPDadosMsg, 'http://www.abrasf.org.br/nfse.xsd', 'http:/www.abrasf.org.br/nfse.xsd', [rfReplaceAll]);
  end;

  if (FPDadosMsg = '') or (FDadosEnvelope = '') then
    GerarException(ACBrStr('A funcionalidade [Consultar NFSe] não foi disponibilizada pelo provedor: ' +
     FPConfiguracoesNFSe.Geral.xProvedor));
end;
 

  • Consultores
  • Solution
Postado

Odair,

Ao confrontar o seu arquivo SystemPro.ini com o que se encontra no repositório notei o seguinte:

1. a linha que você acrescentou ela já foi incluída.

2. o seu arquivo ini esta muito desatualizado.

Quando nós pedimos para que seja feita a atualização dos fones, não é só da pasta que contem os fontes e sim tudo, da pasta que tem as DLL, da pasta que tem os programas exemplos, etc.

Se você estivesse com o arquivo SystemPro.ini atualizado não teria tido esse problema.

  • Curtir 1
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

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

The popup will be closed in 10 segundos...