Jump to content

dev botao

Erro Acbrsintegra Registro 54


Go to solution Solved by Roney Melo,
  • Este tópico foi criado há 4013 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Posted

Boa noite pessoal, estou implementando em meu sistema a rotina para geração de arquivo sintegra, porém estou enfrentando um problema no registro 54, bom oque acontece é o seguinte, os registros são passados para o componente sem problemas, porém quando manda a função ACBrSintegra.GeraArquivo, ele me retorna um erro "Invalid Pointer Operation", fui a busca desse erro, percebi que no arquivo "ACBrSintegra.pas" na linha 2445 dentro da procedure "LimparRegistros" o erro ocorre no seguinte trecho:

 

 

FRegistros50.Clear;
FRegistros51.Clear;
FRegistros53.Clear;
FRegistros54.Clear;>>>>>>>>> Quando chega aqui é que ocorre o erro.
FRegistros55.Clear;
FRegistros56.Clear;
FRegistros60M.Clear;
 
 
minha rotina de geração do arquivo:
var wregistro54:= TRegistro54;
wregistro54:= TRegistro54.Create;
 
wregistro54.CPFCNPJ:= wregistro50.CPFCNPJ;
wregistro54.Modelo:= wregistro50.Modelo;
wregistro54.Serie:= wregistro50.Serie;
wregistro54.Numero:= wregistro50.Numero;
wregistro54.Cfop:= Trim(qryS54EID_CFOP.AsString);
wregistro54.CST:= Trim(qryS54ECST.AsString);
wregistro54.NumeroItem:= SeqItem;
wregistro54.Codigo:= Trim(qryS54EID_PRODUTO.AsString);
wregistro54.Descricao:= '';
wregistro54.Quantidade:= qryS54EQUANTIDADE.AsFloat;
wregistro54.Valor:= qryS54EVALOR_TOTAL_BRUTO.AsFloat;
wregistro54.ValorDescontoDespesa:= qryS54EDESCONTO_VALOR.AsFloat;
wregistro54.BasedeCalculo:= qryS54EBC_ICMS.AsFloat;
wregistro54.BaseST:= qryS54EBC_ICMS_ST.AsFloat;
wregistro54.ValorIpi:= qryS54EVALOR_IPI.AsFloat;
wregistro54.Aliquota:= qryS54EALIQUOTA_ICMS.AsFloat;
ACBrSintegra.Registros54.Add(wregistro54);
 
Alguém já passou por situação parecida ?
 

 

  • Solution
Posted

Pessoal desconsiderem, o problema é que eu estou usando um laço While e estava dando o create na variavel somente uma vez, o create tem que ocorrer a cada nova passada no laço tipo estava:

 

wregistro54:= TRegistro54.Create;

while not qryitemnota.eof do

begin

   comandos......

end;

 

o correto é

while not qryitemnota.eof do

begin

  wregistro54:= TRegistro54.Create;

  comandos......

end;

 

coloquei dessa forma funcionou perfeitamente........

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

The popup will be closed in 10 seconds...