Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

  • 2 semanas depois ...
Postado

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.

  • 1 mês depois ...
  • Consultores
Postado

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.
  • 9 meses depois ...
Postado

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.

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