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;