Jump to content

dev botao

Registro D100 e documento cancelado


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

Recommended Posts

Ao gerar os registros D100 os quais eram originados de documentos cancelados, estava dando erro na

validação no PVA.

A mensagem de erro era referente aos campos que devem ser preenchidos qdo for documento cancelado ,

dei uma olhada no GUIA_PRATICO_DA_EFD_Versao_2_0_4:

Para documentos com código de situação (campo COD_SIT) cancelado (código “02”) ou cancelado

extemporâneo (código “03”), Conhecimento de Transporte Eletrônico (CT-e) denegado (código “04”) ou numeração

inutilizada (código “05”) preencher somente os campos REG, IND_OPER, IND_EMIT, COD_MOD, COD_SIT, SER,

SUB e NUM_DOC. Demais campos deverão ser apresentados com conteúdo VAZIO “||”. Não deverão ser informados

registros filhos. A partir de janeiro de 2011, no caso de CT-e de emissão própria com código de situação (campo

COD_SIT) cancelado (código “02”) e cancelado extemporâneo (código “03”) deverão ser informados os campos acima

citados incluindo ainda a chave do CT-e.

Os campos VL_DOC, VL_DESC, VL_SERV, VL_BC_ICMS, VL_ICMS, VL_NT, estavam sendo formatados com 0,00

Alterei a procedure TBloco_D.WriteRegistroD100(RegD001: TRegistroD001) ;

para verificar o código de situação

if StrToInt(strCOD_SIT) in [2..5] then
procedure TBloco_D.WriteRegistroD100(RegD001: TRegistroD001) ;

var

.

.

.

          if StrToInt(strCOD_SIT) in [2..5] then

            Add( LFill('D100') +

                 LFill( Integer(IND_OPER), 0 ) +

                 LFill( Integer(IND_EMIT), 0 ) +

                 LFill( COD_PART ) +

                 LFill( COD_MOD ) +

                 LFill( strCOD_SIT ) +

                 LFill( SER ) +

                 LFill( SUB ) +

                 LFill( NUM_DOC ) +

                 LFill( CHV_CTE ) +

                 LFill( DT_DOC ) +

                 LFill( DT_A_P ) +

                 LFill( TP_CT_e ) +

                 LFill( CHV_CTE_REF ) +

                 LFill( VL_DOC ) +

                 LFill( VL_DESC ) +

                 LFill( strIND_FRT ) +

                 LFill( VL_SERV ) +

                 LFill( VL_BC_ICMS ) +

                 LFill( VL_ICMS ) +

                 LFill( VL_NT ) +

                 LFill( COD_INF ) +

                 LFill( COD_CTA ) )

          else

            Add( LFill('D100') +

                 LFill( Integer(IND_OPER), 0 ) +

                 LFill( Integer(IND_EMIT), 0 ) +

                 LFill( COD_PART ) +

                 LFill( COD_MOD ) +

                 LFill( strCOD_SIT ) +

                 LFill( SER ) +

                 LFill( SUB ) +

                 LFill( NUM_DOC ) +

                 LFill( CHV_CTE ) +

                 LFill( DT_DOC ) +

                 LFill( DT_A_P ) +

                 LFill( TP_CT_e ) +

                 LFill( CHV_CTE_REF ) +

                 LFill( VL_DOC,0,2 ) +

                 LFill( VL_DESC,0,2 ) +

                 LFill( strIND_FRT ) +

                 LFill( VL_SERV,0,2 ) +

                 LFill( VL_BC_ICMS,0,2 ) +

                 LFill( VL_ICMS,0,2 ) +

                 LFill( VL_NT,0,2 ) +

                 LFill( COD_INF ) +

                 LFill( COD_CTA ) ) ;

        end;

.

.

.

o registro ficou assim

|D100|1|0|1|08|02|B||233183|||||||||||||||

Deixo a dica, pode ser que seja útil para mais alguem.

Abraços.

Alexandre Krepe

Link to comment
Share on other sites

  • Este tópico foi criado há 4925 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.