Ir para conteúdo
  • Cadastre-se

dev botao

Erro Sped Pis/cofins Com Mais De 2 Empresas


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

Recommended Posts

Oi bom dia a todos, atualizei meu ACBR semana passada, e me deparei com uma situação,
quando se gera o sped pis cofins com mais de 2 empresas, o componente do Sped Contribuições, não estava
criando a linha: |C010|cnpj...|2| da terceira empresa, que deve aparecer sempre antes do bloco |c100| (notas fiscais da empresa),
ai debugando, consegui identificar na unit "ACBrEPCBloco_C_Class" a lina 775 tem um incremento da variavel
"FRegistroC010Count" que somava o total de blocos C010 ja criados no arquivo, mas isso não dava certo,
so funcionava quando tinda apenas 2 empresas, mais de duas empresas a linha |C010|cnpj...|2| da empresa 3 não era criada,
e ao importar para o validador dava erros de estrutura dos blocos. Para corrigir, comentei esta linha e criei a linha abaixo(776)

para criar o arquivo corretamente por enquanto, mas não sei se foi a maneira mais correta, por enquanto esta funcionando, so estou postando para

analizar e fazer uma possivel correção.
 

 

unit "ACBrEPCBloco_C_Class"

774      // Variavél para armazenar a quantidade de registro do tipo.
775      //FRegistroC010Count := FRegistroC010Count + RegC001.RegistroC010.Count;
776      FRegistroC010Count := FRegistroC010Count + 1;
 

 

 

att

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde!

posso estar falando besteira mas acho que o problema está na linha 746!

pois o count está correto retornando uma vez a contagem do registro!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

oi boa tarde Juliomar, bom na verdade debugando, o erro ainda procede da atribuição a varialvel "FRegistroC010Count" mesmo, pois na linha 775 esta sendo atribuido o total de registros gerados com a varialvel "RegC001.RegistroC010.Count" (//FRegistroC010Count := FRegistroC010Count + RegC001.RegistroC010.Count;)  a qual eu comentei para ferar com mais de 2 empresas.

 

a atribuição que eu comentei fazia isso:

FRegistroC010Count := FRegistroC010Count + RegC001.RegistroC010.Count;

1ª vez   0 := 0 + 1;

2ª vez   1 := 1 + 2;

3ª vez   2:=  2 + 3;

...

 

ate que não entra mais no if da linha 744

    if (FRegistroC010Count<RegC001.RegistroC010.Count) then // Algum C010 ainda nao gravado?

e não escreve mais o registro C010 no arquivo

 

acho que a linha do

for intFor := FRegistroC010Count to RegC001.RegistroC010.Count - 1 do

deve pegar sempre de onde esta parado.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Consultores

Olá Gleidson,

 

  Só agora tive tempo para analisar esse problema. Será que você consegue alterar o programa de exemplo para reproduzir o erro?

[]'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 para o comentário
Compartilhar em outros sites

  • 9 meses depois ...

oi boa tarde EMBarbosa, Como é necessário mais de duas empresas para acontecer o erro, precisamos colocar um for no exemplo na linha 517, segue codigo:

         //C010 - Identificação do Estabelecimento
         with RegistroC010New do
         begin
           CNPJ := '11111111000191';
           IND_ESCRI := IndEscriConsolidado;

 

 

ficando assim:

         //criar a varialvel i: integer

        for i:= 1 to 5 do

        begin       

             //C010 - Identificação do Estabelecimento
             with RegistroC010New do
             begin
                CNPJ := '11111111000191';
                IND_ESCRI := IndEscriConsolidado;

             .....

             .....

          end; 

      end;

 

quando vc compilar, irá perceber que o registro C010 - Identificação do Estabelecimento so cria duas vezes, na terceira vez em diante não aparece mais, ai e so acompanhar o processamento de criação do C010 dentro da Unit ACBrEPCBloco_C_Class como informado no primeiro post meu, a linha

775      //FRegistroC010Count := FRegistroC010Count + RegC001.RegistroC010.Count; não e mais alimentada a partir da terceira vez ok.

 

Obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

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