Saudações amigos,
Encontrei alguns erros nos arquivos do AcbrSPED e estou postando aqui tanto
o erro quanto a solução para uma possível alteração nos arquivos do componente.
-ERRO 1-----------------------
Na unit:
ACBrEFDBloco_C_Class;
procedimento:
procedure TBloco_C.WriteRegistroC112(RegC110: TRegistroC110) ;
Ao inves de:
Add( LFill('C112') +
LFill( Integer(COD_DA), 0 ) +
LFill( UF ) +
LFill( NUM_DA ) +
LFill( COD_AUT ) +
LFill( VL_DA,0,2 ) ) ;
Usar:
Add( LFill('C112') +
LFill( Integer(COD_DA), 0 ) +
LFill( UF ) +
LFill( NUM_DA ) +
LFill( COD_AUT ) +
LFill( VL_DA,0,2 )+
LFill(DT_VCTO) +
LFill(DT_PGTO) ) ;
Justificativa:
Estava faltando os campos DT_VCTO E DT_PGTO
-ERRO 2-----------------------
Na unit:
ACBrEFDBloco_E_Class;
procedimento:
procedure TBloco_E.WriteRegistroE113(RegE111: TRegistroE111) ;
Ao inves de:
Add( LFill('E113') +
LFill( COD_PART ) +
LFill( COD_MOD ) +
LFill( SER ) +
LFill( SUB ) +
LFill( NUM_DOC ) +
LFill( DT_DOC ) +
LFill( CHV_NFE ) +
LFill( COD_ITEM ) +
LFill( VL_AJ_ITEM,0 )) ;
Usar:
Add( LFill('E113') +
LFill( COD_PART ) +
LFill( COD_MOD ) +
LFill( SER ) +
LFill( SUB ) +
LFill( NUM_DOC ) +
LFill( DT_DOC ) +
LFill( COD_ITEM ) +
LFill( VL_AJ_ITEM,0 )) ;
Justificativa:
O campo CHV_NFE não existe mais, nem na versão 102 (que já está em vigor) nem na 103 que entrará em janeiro/2011
-ERRO 3-----------------------
Na unit:
ACBrEFDBloco_0_Class;
procedimento:
procedure TBloco_0.WriteRegistro0300(Reg0001: TRegistro0001) ;
Ao inves de:
Add( LFill('0300') +
LFill( COD_IND_BEM ) +
LFill( IDENT_MERC ) +
LFill( DESCR_ITEM ) +
LFill( COD_PRNC ) +
LFill( COD_CTA ) +
DFill( NR_PARC, 0 ) ) ;
Usar:
Add( LFill('0300') +
LFill( COD_IND_BEM ) +
LFill( IDENT_MERC,0 ) +
LFill( DESCR_ITEM ) +
LFill( COD_PRNC ) +
LFill( COD_CTA ) +
DFill( NR_PARC, 0 ) ) ;
Justificativa
O campo IDENT_MERC estava sendo intepretado e gravado como data, quando o correto é valor inteiro.
-ERRO 4-----------------------
Na unit:
ACBrEFDBlocos;
Ao invez de:
TACBrVersaoLeiaute = (vlVersao100, // Código 001 - Versão 100 Ato COTEPE 01/01/2008
vlVersao101, // Código 002 - Versão 101 Ato COTEPE 01/01/2009
vlVersao102 // Código 003 - Versão 102 Ato COTEPE 01/01/2010
);
Usar:
TACBrVersaoLeiaute = (vlVersao100, // Código 001 - Versão 100 Ato COTEPE 01/01/2008
vlVersao101, // Código 002 - Versão 101 Ato COTEPE 01/01/2009
vlVersao102, // Código 003 - Versão 102 Ato COTEPE 01/01/2010
vlVersao103 // Código 004 - Versão 103 Ato COTEPE 01/01/2011
);
e na unit:
ACBrEFDBloco_0_Class;
ao invez de:
case COD_VER of
vlVersao100: strCOD_VER := '001';
vlVersao101: strCOD_VER := '002';
vlVersao102: strCOD_VER := '003';
end;
usar:
case COD_VER of
vlVersao100: strCOD_VER := '001';
vlVersao101: strCOD_VER := '002';
vlVersao102: strCOD_VER := '003';
vlVersao103: strCOD_VER := '004';
end;
Justificativa:com estas alterações daremos o primeiro passo p/ começarmos a trabalhar na versão 103 que entra em vigor em janeiro de 2011
Vlw.