Jump to content

dev botao

Erros do componente ACBR SPED para correções


alfadesign
  • Este tópico foi criado há 5045 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

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.

Link to comment
Share on other sites

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 ) ) ;[/code] Usar:
[code] 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 )) ;[/code] Usar:
[code] 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 ) ) ;[/code] Usar:
[code] 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
);[/code] Usar:
[code] 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;[/code] usar:
[code] 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.

Temos que ajustar, para que atenda as mudanças, mas que continue atendendo as versões anteriaores.

Terei que fazer com tempo, se alguem se dispuser, agradeço, senão teremos que esperar eu terminar o ACBrPisCofins

Desde já agradeço

Abs

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

Isaque,

Mas as alterações sugeridas não atrapalham layouts anteriores, a inclusão da versão mais nova do layout é somente um item que será acrescentado, e nada será removido. A única duvida que tenho é quanto ao E113 - Chave NFE que deverá ser retirada, mas eu peguei o manual da versão 2.0.2 (Set/2010) então nao sei em versoes anteriores. Me disponho a ajudar nas alterações, mas como?

Abraço.

Adriano N.

Link to comment
Share on other sites

Isaque,

Mas as alterações sugeridas não atrapalham layouts anteriores, a inclusão da versão mais nova do layout é somente um item que será acrescentado, e nada será removido. A única duvida que tenho é quanto ao E113 - Chave NFE que deverá ser retirada, mas eu peguei o manual da versão 2.0.2 (Set/2010) então nao sei em versoes anteriores. Me disponho a ajudar nas alterações, mas como?

Abraço.

Adriano N.

Ola Adriano, na unit ACBrEFDBlocos.pas tem o tipo TACBrVersaoLeiaute, onde podemos add, mais versões, o que temos que fazer é saber a diferença, do que já tem hoje para a nova versão e fazer um IF.

vamos pegar o E113, como base então:


/// Versão do leiaute do arquivo.
if FBloco_0.Registro0000.COD_VER = vlVersao102 then
begin
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 )) ;
end
else
if FBloco_0.Registro0000.COD_VER = vlVersao103 then
begin
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 )) ;
end;
end;
[/code]

Fiz um IF, completo, mas se alguem tiver uma idéia que de para simplificar a escrita, validando as versões, será bem vinda.

Faça os ajusates e anexe as units, já com as modificações, que eu pego e subo para o SVN.

Grande abraço

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

  • Este tópico foi criado há 5045 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.