Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

No Sped Contribuições não esta sendo permitido deixar o campo em branco na Geração do TXT do Sped Contribuições, o LFill deve permitir inclusão de valor Null para o Mercado Externo

Arquivo: ACBrEPCBloco_0_Class.pas
 

Linha 710
procedure TBloco_0.WriteRegistro0150(Reg0140: TRegistro0140) ;
var
  intFor: integer;
begin
  if Assigned(Reg0140.Registro0150) then
  begin
     for intFor := 0 to Reg0140.Registro0150.Count - 1 do
     begin
        with Reg0140.Registro0150.Items[intFor] do
        begin
//          Check(funChecaPAISIBGE(COD_PAIS), '(0-0150) %s-%s, o código do país "%s" digitado é inválido!', [COD_PART, NOME, COD_PAIS]);
          if Length(CNPJ) > 0 then Check(funChecaCNPJ(CNPJ), '(0-0150) %s-%s, o CNPJ "%s" digitado é inválido!', [COD_PART, NOME, CNPJ]);
          if Length(CPF)  > 0 then Check(funChecaCPF(CPF), '(0-0150) %s-%s, o CPF "%s" digitado é inválido!', [COD_PART, NOME, CPF]);
//          Check(funChecaIE(IE, UF),         '(0-0150) %s-%s, a Inscrição Estadual "%s" digitada é inválida!', [COD_PART, NOME, IE]);
//          Check(funChecaMUN(COD_MUN),       '(0-0150) %s-%s, o código do município "%s" digitado é inválido!', [COD_PART, NOME, IntToStr(COD_MUN)]);
          Check(NOME <> '',                 '(0-0150) O nome do participante é obrigatório!');
          ///
          Add( LFill('0150') +
               LFill(COD_PART) +
               LFill(NOME) +
               LFill(COD_PAIS) +
               LFill(CNPJ) +
               LFill(CPF) +
               LFill(IE) +
               LFill(COD_MUN, 7, true, '0') +  // Alterado para Permitir Nulo para Mercado Externo
               LFill(SUFRAMA) +
               LFill(ENDERECO) +
               LFill(NUM) +
               LFill(COMPL) +
               LFill(BAIRRO) ) ;
        end;
        Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1;
     end;
     /// Variavél para armazenar a quantidade de registro do tipo.
     FRegistro0150Count := FRegistro0150Count + Reg0140.Registro0150.Count;
  end;
end;


Quando nulo no campo o TXT Gera com |0000000| no campo correspondente ao código da cidade
 

Editado por jheff_web

Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

Postado

Sim tentei informar somente null porem como o LFILL se encontra conforme abaixo ele preencheu com ZEROS no Campo.

LFill(COD_MUN, 7)

Reparei que existe um tratamento diferente sendo executado no Sped Fiscal, seria o caso de utilizar o mesmo tratamento no código fonte?

ACBR SPED FISCAL

procedure TBloco_0.WriteRegistro0150(Reg0001: TRegistro0001) ;
var
  intFor: integer;
  booExterior: Boolean;
begin
  if Assigned(Reg0001.Registro0150) then
  begin
     for intFor := 0 to Reg0001.Registro0150.Count - 1 do
     begin
        with Reg0001.Registro0150.Items[intFor] do
        begin
          booExterior := ((COD_PAIS <> '01058') and (COD_PAIS <> '1058'));

//          Check(funChecaPAISIBGE(COD_PAIS), '(0-0150) %s-%s, o código do país "%s" digitado é inválido!', [COD_PART, NOME, COD_PAIS]);
          if Length(CNPJ) > 0 then
             Check(funChecaCNPJ(CNPJ), '(0-0150) %s-%s, o CNPJ "%s" digitado é inválido!', [COD_PART, NOME, CNPJ]);
          if Length(CPF)  > 0 then
             Check(funChecaCPF(CPF),   '(0-0150) %s-%s, o CPF "%s" digitado é inválido!', [COD_PART, NOME, CPF]);
//          Check(funChecaIE(IE, UF),         '(0-0150) %s-%s, a Inscrição Estadual "%s" digitada é inválida!', [COD_PART, NOME, IE]);
//          Check(funChecaMUN(COD_MUN),       '(0-0150) %s-%s, o código do município "%s" digitado é inválido!', [COD_PART, NOME, IntToStr(COD_MUN)]);
          Check(NOME <> '',            '(0-0150) O nome do participante com CPF/CNPJ %s é obrigatório!', [CNPJ + CPF]);
          Check(ENDERECO <> EmptyStr,  '(0-150) O Endereço do participante "%s - %s - CPF/CNPJ %s" é obrigatório!', [COD_PART, NOME, CNPJ + CPF]);
          ///
          Add( LFill('0150') +
               LFill(COD_PART) +
               LFill(NOME) +
               LFill(COD_PAIS) +
               LFill(CNPJ) +
               LFill(CPF) +
               LFill(IE) +
               IfThen(booExterior, LFill(''), LFill(COD_MUN, 7)) +
               LFill(SUFRAMA) +
               LFill(ENDERECO) +
               LFill(NUM) +
               LFill(COMPL) +
               LFill(BAIRRO) ) ;
        end;
        /// Registros FILHOS
        WriteRegistro0175( Reg0001.Registro0150.Items[intFor] );

        Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1;
     end;
     /// Variavél para armazenar a quantidade de registro do tipo.
     FRegistro0150Count := FRegistro0150Count + Reg0001.Registro0150.Count;
  end;
end;

 

Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...