Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Gostaria de saber porque é gerado automaticamente o registro C010 com CNPJ zerado, sendo que ao validar o arquivo diz que é inválido e duplicado.

Postado

Conteudo do codigo:

with Sped.Bloco_C do

begin

RegistroC001New.IND_MOV := imComDados;

RegistroC010New.CNPJ:= config.Cnpj;

// Participante(Entrada.Participante.ID);

if TConvertValuesBD.IndEscrNFeECF(config.Ind_ApuNfeEcf)=IndEscrConsolidado then

begin

RegistroC010New.IND_ESCRI := IndEscriConsolidado;

LancaBlocoC180Saida;

LancaBlocoC190Entrada;

end

else

begin

RegistroC010New.IND_ESCRI := IndEscriIndividualizado;

ListaEntradas;

end;

end;

==========================================================================

Conteudo do arquivo:

|C010|07518802000137|1|

|C010|00000000000000|1|

|C180|55|01012012|31012012|1|29051900||703.20|

|C181|01|5102|703.20|0.00|703.20|0.6500|||4.61||

|C185|01|5102|703.20|0.00|703.20|3.0000|||21.12||

|C180|55|01012012|31012012|2|15200010||237.68|

|C181|01|5102|237.68|0.00|237.68|0.6500|||1.59||

Postado

Era o que eu imaginava...

Tu estás instanciando um registro C010:

RegistroC010New.CNPJ:= config.Cnpj;
e depois instanciando outro:
RegistroC010New.IND_ESCRI := IndEscriConsolidado;
ou
RegistroC010New.IND_ESCRI := IndEscriIndividualizado;
Tente fazer assim:

with Sped.Bloco_C do

begin

  RegistroC001New.IND_MOV := imComDados;

  with RegistroC010New do

  begin

    CNPJ:= config.Cnpj;

    // Participante(Entrada.Participante.ID);

    if TConvertValuesBD.IndEscrNFeECF(config.Ind_ApuNfeEcf)=IndEscrConsolidado then

    begin

      IND_ESCRI := IndEscriConsolidado;

      LancaBlocoC180Saida;

      LancaBlocoC190Entrada;

    end

    else

    begin

      IND_ESCRI := IndEscriIndividualizado;

      ListaEntradas;

    end;

  end;

end;

Att,

Filipe Sortica
Santa Maria / RS
Analista de Sistemas

Postado

Funcionou, mas visualmente não vi muita diferença nos codigo, a unica diferença é que voce chama o metodo utilizando :

with RegistroC010New do

begin

CNPJ:= config.Cnpj;

e eu utilizei

RegistroC010New.CNPJ:= config.Cnpj;

Programação por programação o conceito é o mesmo, qual a finalidade de utilizar somente "with" para iniciar a classe?

Postado

Visualmente parece igual.

Porém, o "RegistroC010New" é uma função. Cada vez que chamamos ela, um novo registro C010 é instanciado.

Utilizando o "with", apenas uma chamada é feita à função, apenas um registro é instanciado. E, dentro do escopo do "with", acessamos este registro e inserimos todas suas informações.

Att,

Filipe Sortica
Santa Maria / RS
Analista de Sistemas

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