Ir para conteúdo
  • Cadastre-se

dev botao

Registro C181 - Campos deveriam estar vazio e estão 0


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

Recommended Posts

Boa tarde

Quando não é passado nada para a o campo VL_UNIT_ICMS_ST_CONV_COMPL o mesmo retorna o valor "0,00".

Segundo o guia prático da EFD e não pode ser "0" e sim vazio.

Fiz a modificação a seguir.

procedure TBloco_C.WriteRegistroC181(RegC100: TRegistroC100; RegC170: TRegistroC170);
var
  intFor: integer;
begin
  if Assigned( RegC170.RegistroC181 ) then
  begin
     if RegC170.RegistroC181.Count > 0 then
     begin
        if (RegC100.IND_OPER = tpSaidaPrestacao) or (FBloco_0.Registro0000.IND_PERFIL in [pfPerfilC]) then
           Check(False, 'O RegistroC181, não deve ser gerado em movimentações de saída ou %s, conforme ATO COTEPE 09/08', ['PerfilC']);
     end;
     for intFor := 0 to RegC170.RegistroC181.Count - 1 do
     begin
        with RegC170.RegistroC181.Items[intFor] do
        begin
          Add( LFill('C181') +
               LFill( COD_MOT_REST_COMPL ) +
               LFill( QUANT_CONV,0,6 ) +
               LFill( UNID) +
               LFill( COD_MOD_SAIDA) +
               LFill( SERIE_SAIDA) +
               LFill( ECF_FAB_SAIDA) +
               LFill( NUM_DOC_SAIDA) +
               LFill( CHV_DFE_SAIDA) +
               LFill( DT_DOC_SAIDA, 'ddmmyyyy' ) +
               LFill( NUM_ITEM_SAIDA) +
               DFill( VL_UNIT_CONV_SAIDA,0,True ) +
               DFill( VL_UNIT_ICMS_OP_ESTOQUE_CONV_SAIDA,0,True ) +
               DFill( VL_UNIT_ICMS_ST_ESTOQUE_CONV_SAIDA,0,True ) +
               DFill( VL_UNIT_FCP_ICMS_ST_ESTOQUE_CONV_SAIDA,0,True ) +
               DFill( VL_UNIT_ICMS_NA_OPERACAO_CONV_SAIDA,0,True ) +
               DFill( VL_UNIT_ICMS_OP_CONV_SAIDA,0,True ) +
               DFill( VL_UNIT_ICMS_ST_CONV_REST,0,True ) +
               DFill( VL_UNIT_FCP_ST_CONV_REST,0,True ) +
               DFill( VL_UNIT_ICMS_ST_CONV_COMPL,0,True ) +
               DFill( VL_UNIT_FCP_ST_CONV_COMPL,0,True )
);
        end;
        RegistroC990.QTD_LIN_C := RegistroC990.QTD_LIN_C + 1;
     end;
     /// Variavél para armazenar a quantidade de registro do tipo.
     FRegistroC181Count := FRegistroC181Count + RegC170.RegistroC181.Count;

  end;

 

ACBrEFDBloco_C_Class.pas

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1129 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.