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á 1708 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...
The popup will be closed in 10 segundos...