Na tabela C100, por exemplo temos o campo IND_PGTO que aceita os valores abaixo:
Indicador do tipo de pagamento: 0- À vista; 1- A prazo; 9- Sem pagamento. Obs.: A partir de 01/07/2012 passará a ser: Indicador do tipo de pagamento: 0- À vista; 1- A prazo; 2 - Outros
Veja que a partir de 01/07/2012 o campo 9 não será mais aceito. E a função StrToIndPgto está fazendo a conversão para 9 sem analisar a data do documento.
function StrToIndPgto(AValue: string): TACBrIndPgto;
begin
if AValue = '9' then
Result := tpSemPagamento
else
if AValue = '' then
Result := tpNenhum
else
Result := TACBrIndPgto( StrToIntDef( AValue, 9) );
end;
Estou fazendo a reimportação de arquivos SPED antigos, de 2010 até hoje. Então em alguns casos o valor será 9 e outros será 2.
Está função precisa analisar a data do documento que está sendo gerado para saber qual valor gravar no arquivo txt.
Rodrigo.