Jump to content

dev botao

Acrescentar o Bloco P


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

Recommended Posts

  • Consultores

Baixei e fiz algumas alterações para ficar com o código atual. Mas não subi pro SVN pois o PVA 1.0.7 não está validando para o guia prático 1.0.5 onde mencionam os novos registros.

Deve-se levar em conta que o Bloco P não precisa nem ser informado caso a empresa não gere pelo menos um registro 0145 no Bloco 0. Isso mesmo, nem mesmo os registros de abertura e fechamento devem ser gerados. Então vamos precisar fazer um tratamento sobre isso, conforme trecho abaixo extraído do Guia Prático 1.0.5, página 248, parágrafo 3:

O bloco “P” só deve ser exigido na EFD-PIS/Cofins da pessoa jurídica, caso tenha sido gerado no mínimo 01

(um) registro “0145”, indicando a sujeição da pessoa jurídica à nova contribuição, no período da escrituração. A

inexistência de registro “0145” no Bloco “0”, deve dispensar a necessidade de gerar o Bloco “P”, inclusive em relação a

registros de abertura e de encerramento deste.

Ainda falta alguma coisa, em especial os métodos WriteRegistroPXXX, mas anexo os arquivos já parcialmente modificados...

ACBrSPEDPisCofins_BlocoP.rar

[]'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.
Link to comment
Share on other sites

  • Consultores

Blz. Qualquer coisa você posta aí.

[]'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.
Link to comment
Share on other sites

  • Consultores

O bloco P ainda não faz parte do SVN. Se quiser fazer o download dos arquivos que anexei anteriormente e terminar a implementação fiquem a vontade.

Talvez o Eisenheim que iniciou a implementação pode ajudar ou eu mesmo poderemos ajudar em alguma dúvida.

[]'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.
Link to comment
Share on other sites

  • 5 weeks later...

Pessoal, baixei os arquivos e já adiantei o que dava, mas ainda estão faltando alguns registros, e tbm não está saindo na impressão do arquivo txt os dados do bloco P. por favor, postem os arquivos mais atualizados para que eu possa continuar adiantando o serviço enquanto ainda não está totalmente pronto.

Lembrando que o prazo é só até semana que vem, eu tenho que enviar de 2 clientes até o dia 10 de Maio.

Desde já agradeço.

Link to comment
Share on other sites

  • Consultores

Olá carlessoflu,

Não acho que esteja sendo chato. Acho que você não entendeu o espírito do funcionamento do projeto ACBr...

Ele é um projeto OpenSource que depende da ajuda dos usuários. Se você está precisando com tanta urgência, você tem a opção de implementar você mesmo. Nesse caso, não começaria do zero já que poderia ser usar o código que foi bondosamente postado pelo Eisenhein e parcialmente corrigido por mim. Outra opção seria uma recompensa para a finalização do bloco P e assim incentivar algum programador a pegar o trabalho para você. Finalmente, se mais usuários fizerem parte do ACBrSAC quem sabe talvez tenhamos um desenvolvedor por conta dessa parte do projeto.

Eu, assim como boa parte dos outros moderadores e desenvolvedores do ACBr não recebo pelas implementações, correções e mesmo atuação aqui no fórum. Então só posso atuar nos meus horários de folga, ou no meu horário de serviço mas de acordo com o que é me é permitido levando em conta as necessidades da empresa pra qual trabalho.

Espero que entenda que não é má vontade ou má resposta. Apenas que temos que escolher.

[]'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.
Link to comment
Share on other sites

Tudo bem, eu entendo que não é facil. Estou tentando continuar o desenvolvimento, mas infelizmente não tenho muito conhecimento a respeito. Se alguém que já conseguiu implementar alguma coisa além do que já foi postado e puder postar aqui para baixar já será uma boa ajuda.

Qualquer coisa entrem em contato pelo email [email protected], estarei disposto a ajudar.

Link to comment
Share on other sites

  • Consultores

A menos que o Eisenhein ou outro usuário tenha feito alguma modificação, o mais atual foi o que eu já deixei anexado. Você pode partir de lá. Qualquer coisa, estou a disposição.

[]'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.
Link to comment
Share on other sites

  • Consultores

Tente verificar com o PVA 2.0 que foi lançado essa semana.

EDIT: Você conseguiu fazer o componente não imprimir o bloco P?

[]'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.
Link to comment
Share on other sites

  • Membros Pro

Eu não estava conseguindo validar no PVA 2.0 com os os blocoP disponibilidado pelo colega acima , então alterei duas linhas nas units que e ele forneceu :

procedure TBloco_0.WriteRegistro0145(Reg0140: TRegistro0140);

begin

if Assigned(Reg0140.Registro0145) and (Reg0140.Registro0145.COD_INC_TRIB > '') then // coloquei o a validação para nao gerar o registro 145

begin

with Reg0140.Registro0145 do

begin

Add( LFill('0145') +

LFill(COD_INC_TRIB) +

LFill(VL_REC_TOT,0,2) +

LFill(VL_REC_ATIV,0,2) +

LFill(VL_REC_DEMAIS_ATIV,0,2) +

LFill(INFO_COMPL));

end;

Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1;

/// Variavél para armazenar a quantidade de registro do tipo.

FRegistro0145Count := FRegistro0145Count + 1;

end;

end;

procedure TACBrSPEDPisCofins.WriteBloco_P;

begin

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

// coloquei a verificação se existir o registro 0145 ai sim gerar o bloco P

if not Bloco_M.Gravado then

WriteBloco_M;

/// BLOCO P

WriteRegistroP001;

WriteRegistroP990;

Bloco_P.WriteBuffer;

Bloco_P.Conteudo.Clear;

Bloco_P.Gravado := True ;

end;

Ai consegui validar normalmente como era antes , claro que essa não deve ser a maneira correta de resolver o problema , pois ainda estou testando , mas ja da pelo menos já nao gera o BLOCO P junto com o PIS/COFINS ...

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

Eu não estava conseguindo validar no PVA 2.0 com os os blocoP disponibilidado pelo colega acima , então alterei duas linhas nas units que e ele forneceu :

procedure TBloco_0.WriteRegistro0145(Reg0140: TRegistro0140);

begin

if Assigned(Reg0140.Registro0145) and (Reg0140.Registro0145.COD_INC_TRIB > '') then // coloquei o a validação para nao gerar o registro 145

begin

with Reg0140.Registro0145 do

begin

Add( LFill('0145') +

LFill(COD_INC_TRIB) +

LFill(VL_REC_TOT,0,2) +

LFill(VL_REC_ATIV,0,2) +

LFill(VL_REC_DEMAIS_ATIV,0,2) +

LFill(INFO_COMPL));

end;

Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1;

/// Variavél para armazenar a quantidade de registro do tipo.

FRegistro0145Count := FRegistro0145Count + 1;

end;

end;

procedure TACBrSPEDPisCofins.WriteBloco_P;

begin

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

// coloquei a verificação se existir o registro 0145 ai sim gerar o bloco P

if not Bloco_M.Gravado then

WriteBloco_M;

/// BLOCO P

WriteRegistroP001;

WriteRegistroP990;

Bloco_P.WriteBuffer;

Bloco_P.Conteudo.Clear;

Bloco_P.Gravado := True ;

end;

Ai consegui validar normalmente como era antes , claro que essa não deve ser a maneira correta de resolver o problema , pois ainda estou testando , mas ja da pelo menos já nao gera o BLOCO P junto com o PIS/COFINS ...

Bom dia, subi o Bloco P e sua implementação, se falou que esta funcional, depois analisamos com mais calma se exite uma maneira mais adequada.

--
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

Boa tarde pessoal,

Eu fiz a implementação com o Bloca P e esta validando normal.

O único detalhe que encontrei é que não zera o contador fRegistroP200Count, se gerar o arquivo sem sair do programa ele continua somando sem zerar. Fiz a seguinte mudança para resolver isso.


ACBrEPCBloco_P_Class;

...

procedure TBloco_P.CriaRegistros;

  ...

  fRegistroP200Count      := 0;

  ...

end;

Abraço a todos.

Wandarlei Michelon

Link to comment
Share on other sites

Boa tarde pessoal,

Eu fiz a implementação com o Bloca P e esta validando normal.

O único detalhe que encontrei é que não zera o contador fRegistroP200Count, se gerar o arquivo sem sair do programa ele continua somando sem zerar. Fiz a seguinte mudança para resolver isso.


ACBrEPCBloco_P_Class;
...
procedure TBloco_P.CriaRegistros;
...
fRegistroP200Count := 0;
...
end;
[/code]

Abraço a todos.

Corrigido, obrigado.

--
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

  • 4 weeks later...
  • Consultores

Olá analista.edilson,

Esse é só um dos problemas de postar a mesma coisa em vários lugares diferentes. Ainda estou esperando sua resposta nesse tópico que você mesmo criou:

[]'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.
Link to comment
Share on other sites

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