Boa tarde Pessoal.
Hoje na procedure TPAF_C.WriteRegistroC2 ele faz os seguintes testes para inserir no arquivo dos registros do PAF-ECF os dados dos abastecimentos C2.
IfThen(STATUS_ABASTECIMENTO = 'EMITIDO CF', RFill(NRO_SERIE_ECF, 20), RFill('',20)) +
IfThen(STATUS_ABASTECIMENTO = 'EMITIDO CF', LFill(DATA, 'yyyymmdd'), RFill('',8)) +
IfThen(STATUS_ABASTECIMENTO = 'EMITIDO CF', LFill(HORA, 'hhmmss'), RFill('',6)) +
A questão é que na nova ER 02.04 essas descrições de status_abastecimento mudaram para EMITIDO CFN, EMITIDO CFM , EMITIDO CFA, EMITIDO CFC , conforme requisito XXXVII, e dessa forma com os testes acima essas informações nunca irão, pelo fato de não existir mais esse status 'emitido CF'. Olhando no layout do arquivo o campo status do abastecimento possui apenas 10 casas mais como da para ver as descrições 'EMITIDO CFN' possui 11, dessa forma o homologador nos sugeriu tirar o espaço em branco, tratando assim como 'EMITIDOCFN', 'EMITIDOCFM' , 'EMITIDOCFA', 'EMITIDOCFC'. Fiz a correção das linhas acima fazendo com que as informações de data, hora e série sempre irão quando os status de abastecimentos são
IfThen(((STATUS_ABASTECIMENTO = 'EMITIDOCFN') OR (STATUS_ABASTECIMENTO = 'EMITIDOCFM') OR (STATUS_ABASTECIMENTO = 'EMITIDOCFA') OR (STATUS_ABASTECIMENTO = 'EMITIDOCFC')), RFill(NRO_SERIE_ECF, 20), RFill('',20)) +
IfThen(((STATUS_ABASTECIMENTO = 'EMITIDOCFN') OR (STATUS_ABASTECIMENTO = 'EMITIDOCFM') OR (STATUS_ABASTECIMENTO = 'EMITIDOCFA') OR (STATUS_ABASTECIMENTO = 'EMITIDOCFC')), LFill(DATA, 'yyyymmdd'), LFill(0,8)) +
IfThen(((STATUS_ABASTECIMENTO = 'EMITIDOCFN') OR (STATUS_ABASTECIMENTO = 'EMITIDOCFM') OR (STATUS_ABASTECIMENTO = 'EMITIDOCFA') OR (STATUS_ABASTECIMENTO = 'EMITIDOCFC')), LFill(HORA, 'hhmmss'), LFill(0,6)) +
Outra questão é que quando não tiver valor para data e hora ao invés de ficar vazio deve ser preencher com zeros o conteudo.
Não sei se ficou claro, também não sei como faríamos para manter a compatibilidade com as versões compiladas para outras ERs, mais ajustei o fonte e estou anexando como sugestão.
ACBrPAF_C_Class.pas