Bom dia pessoal.
Precisei fazer um pequeno ajuste no SmarAPD.Provider.
No retorno da consulta por lote, estava buscando a NFS-e/RPS carregada no componente pelo numero da NFS-e retornado do provedor. E essa informação eu não tenho ainda, logo ele não atualizava minha informação local.
Alterei para buscar pelo numero da RPS retornada.
Fonte: SmarAPD.Provider
Função: TratarRetornoConsultaLoteRps
Antes:
if AuxNode <> nil then
begin
NumNFSe := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('NumeroNota'), tcStr);
Response.NumeroNota := NumNFSe;
// NAO ENCONTRAVA
ANota := TACBrNFSeX(FAOwner).NotasFiscais.FindByNFSe(NumNFSe);
ANota := CarregarXmlNfse(ANota, ANode.OuterXml);
SalvarXmlNfse(ANota);
end;
Alterei para:
if AuxNode <> nil then
begin
NumNFSe := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('NumeroNota'), tcStr);
Response.NumeroNota := NumNFSe;
NumRPS := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('NumeroRps'), tcStr);
ANota := TACBrNFSeX(FAOwner).NotasFiscais.FindByRps(NumRPS);
ANota := CarregarXmlNfse(ANota, ANode.OuterXml);
SalvarXmlNfse(ANota);
end;
Segue em anexo o fonte alterado.
SmarAPD.Provider.pas