Saudações
Problema encontrado:
A SEFAZ, em alguns casos retorna '********' para os campos DATA DA SITUAÇÃO CADASTRAL e/ou DATA DA SITUAÇÃO ESPECIAL e isso gera uma mensagem de erro.
Sugestão:
Substituir...
FDataSituacao := StringToDateTimeDef(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO CADASTRAL')), 0);
FDataSituacaoEspecial := StringToDateTimeDef(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO ESPECIAL')), 0);
por...
var
cData:string;
.....
cData := trim(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO CADASTRAL')));
if (cData + '*')[1] <> '*' then
FDataSituacao := StringToDateTimeDef(cData, 0);
cData := trim(LerCampo(Resposta, ACBrStr('DATA DA SITUAÇÃO ESPECIAL')));
if (cData + '*')[1] <> '*' then
FDataSituacaoEspecial := StringToDateTimeDef(cdata, 0);