Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde.

 

Utilizo o componente ACBR NFSe para o provedor Vitória-ES e nessa última versão do componente, na hora de imprimir a nota, o componente dá um erro de Stack Overflow.

 

Utilizo Delphi 7 e o componente para o Quick Report.

 

Gostaria de saber o que pode estar acontecendo. O envio acontece normalmente.

 

Voltei a versão para uma versão do mês 09/2013 e voltou a funcionar.

 

O que pode ser?

 

Um abraço

 

Rodrigo

Postado

Italo, boa tarde.

 

Verifiquei que a diferença entre os dois fontes é a adição de dois novos parâmetros na impressão:

    FNFSeCancelada  : Boolean;
    FImprimeCanhoto : Boolean;

 

Mas mesmo tirando essa alteração, a impressão não funciona. Continua dando o tal stack overflow.

 

Testando aqui, percebi que o problema pode não estar no código, mas sim no próprio QuickReport. Se eu retirar as Bandas e deixar só 2, quaisquer duas, ele imprime. Ao adicionar a 3ª banda, dá erro. Será problema com a herança?

 

Espero que essa informação ajude na solução.

 

um abraço,

 

Rodrigo

  • 9 meses depois ...
  • Membros Pro
Postado

RESOLVIDO

 

Este erro ocorre devido a função criada roundto5, o Delphi 7 não aceita,

basta usar raundTo(valor-2) e tudo voltará ao normal. 

 

abraço

Fábio Cavol Suhs

  • 2 meses depois ...
Postado

Caro Fábio Cavol Suhs,

 

 

Estou com o mesmo problema em um cliente...Stack Overflow no momento da impressão....

 

Em qual form ajusto essa opção ?

 

roundto5, o Delphi 7 não aceita,

para usar roundTo(valor-2) e tudo voltará ao normal.

 

Qual linha do form ?

 

Qual instrução troco ?

 

Grato,

Rogério

E-mail: [email protected]

Fone: (41) 3327-4904    9926-7295

  • 6 meses depois ...
Postado

Eu estava tendo este mesmo problema com a função RoundTo5.

O problema ocorria quando era feito o calculo do "ValorIss", isso quando dava mais de de duas casas decimais no resultado.

No meu caso eu criei um DoAcbrNFSeUnit.pas, que fiz com base no DEMO, onde executo os comando processados. A função correspondente a minha no DEMO é a: 

"procedure TfrmDemo_ACBrNFSe.AlimentaComponente(NumNFSe: String);"

Troquei a linha:

Servico.Valores.ValorIss := roundTo(ValorISS, -2);

Por estas:

ValorISS := StrToFloat(FormatFloat('0.00',ValorISS));
Servico.Valores.ValorIss := ValorISS;
         

Onde, ao invés de arredondar o valor, eu trunco com duas casas decimais.

 

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