Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia Pessoal,

   Estou com um problema na geração do SPED PIS COFINS na geração do Bloco P.

   Na Unit ACBrSpedPisCofins.pas ele verifica se o count do registro 145 é igual a 0 e da um exit, no entanto segundo o manual do SPED na sua ultima versão diz o seguinte:

REGISTRO 0145: REGIME DE APURAÇÃO DA CONTRIBUIÇÃO PREVIDENCIÁRIA SOBRE A RECEITA BRUTA
Este registro servirá para identificar a obrigatoriedade de escrituração da Contribuição Previdenciária sobre Receitas, no Bloco
“P”. O Registro “0145” tem natureza meramente informativa, não transferindo nem recebendo valores de quaisquer outro
registro da escrituração.
Deve escriturar o Registro “0145” a pessoa jurídica que tenha auferido receita das atividades de serviços ou da fabricação de
produtos, relacionados nos art. 7º e 8º da Lei nº 12.546/2011, respectivamente.

   Como no caso nosso cliente não presta serviço e não fabrica produto, não geramos esse registro, no entanto a não geração dele acaba impedindo a geração do bloco P por completo devido ao seguinte código:

procedure TACBrSPEDPisCofins.WriteBloco_P;
begin
   if (Bloco_P.Gravado) or (Bloco_0.Registro0145Count = 0) then exit ;

   if not Bloco_M.Gravado then
      WriteBloco_M;

   /// BLOCO P
   WriteRegistroP001;
   WriteRegistroP990;
   Bloco_P.WriteBuffer;
   Bloco_P.Conteudo.Clear;
   Bloco_P.Gravado := True ;
end;

Removi o OR dessa unit e o arquivo foi gerado e validado normalmente.

Segue abaixo Unit alterada para caso eu esteja correto subirem ao SVN.

 

ACBrSpedPisCofins.pas

  • Consultores
Postado

Essa remoção não pode ser feita pois você está pensando só no caso de um cliente e a partir desse momento o bloco P seria gerado sempre.

Um outro usuário já reportou o mesmo problema. A solução proposta é a seguinte,

Poderia tentar alterar o método TACBrSPEDPisCofins.WriteBloco_P para o seguinte código e testar aí se resolve seu problema? Aqui parece que funcionou...

procedure TACBrSPEDPisCofins.WriteBloco_P;
begin
   if not Bloco_M.Gravado then
      WriteBloco_M;

   if (Bloco_P.Gravado) or (Bloco_0.Registro0145Count = 0) then exit ;

   /// BLOCO P
   WriteRegistroP001;
   WriteRegistroP990;
   Bloco_P.WriteBuffer;
   Bloco_P.Conteudo.Clear;
   Bloco_P.Gravado := True ;
end;

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Consultores
Postado

Essa remoção não pode ser feita pois você está pensando só no caso de um cliente e a partir desse momento o bloco P seria gerado sempre.

Um outro usuário já reportou o mesmo problema. A solução proposta é a seguinte,

Poderia tentar alterar o método TACBrSPEDPisCofins.WriteBloco_P para o seguinte código e testar aí se resolve seu problema? Aqui parece que funcionou...

procedure TACBrSPEDPisCofins.WriteBloco_P;
begin
   if not Bloco_M.Gravado then
      WriteBloco_M;

   if (Bloco_P.Gravado) or (Bloco_0.Registro0145Count = 0) then exit ;

   /// BLOCO P
   WriteRegistroP001;
   WriteRegistroP990;
   Bloco_P.WriteBuffer;
   Bloco_P.Conteudo.Clear;
   Bloco_P.Gravado := True ;
end;

Código já está no SVN. Favor testar e reportar qualquer problema.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Desculpe, esse resto de semana foi meio corrido, estou atualizando os fontes e vou realizar o teste da geração na segunda feira pela manhã.

Mais vendo o código postado acima já resolve o problema, pois o entrave estava com o bloqueio da geração do Bloco M.

 

Obrigado.

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