Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia pessoal

Estou com uma situação esquisita em um cliente com Daruma FS600.

Meu sistema funciona normalmente a maior parte do tempo, mas algumas vezes, retorna o erro "Aliquota não encontrada: 17".

Obviamente, a alíquota 17% está correta no ECF. Inclusive com vendas efetuadas.

Na função "vendeItem", passo uma string com a alíquota, com duas casas decimais. exemplo: "17,00"

E acredito que esteja certo, porque funciona em outros clientes, e também funciona a maior parte do tempo nesse cliente.

Enfim, alguém pode me dar uma luz?

Pois estou meio perdido, até porque não consigo simular o erro, não acontece sempre.

Abraços

Fabio Schunig

Postado

Boa tarde Régys

Felizmente (ou infelizmente) o problema ainda não ocorreu novamente.

Verifiquei, e só existe 1 alíquota de 17%, mas vou testar sua outra dica assim que possível.

Qualquer novidade retorno ao fórum.

Obrigado!

Abraços

Fabio Schunig

Postado

Tente ao invés de passar "17,00" para rotina vende item. tente passar somente "17.00", ou seja, substitua a virgula pelo ponto. A dica anterior do outro colega vai funcionar tabém, mas se você precisar de uma aliquota com casas decimais ex. 2,5% você terá que usar o ponto e não virgula na hora que chamar a função que vendeItem. Sei que não é comum aliquota de icms com casas decimais mas se forma uma aliquota de serviço talves tenha.

Espero ter ajudado.

  • Consultores
Postado

Pela mensagem de erro eu suspeitaria que é a falta dos zeros: "Aliquota não encontrada: 17".

É diferente de "Aliquota não encontrada: 17,00" ou "Aliquota não encontrada: 17.00".

Mas não tenho aqui um ECF Daruma para testar no momento.

[]'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.
Postado

Boa tarde pessoal

Passaram-se vários dias, mas o erro não ocorreu mais, sendo que naquela semana estava ocorrendo várias vezes ao dia.

É um caso muito estranho, provavelmente deve ser alguma falha no ECF, cabos danificados ou alguma coisa assim. Pois não mexi qualquer coisa no sistema, e arrumou "sozinho". hehe :mrgreen:

Por enquanto, agradeço a ajuda e as dicas. Ficarei monitorando o cliente, e retorno se aparecerem novidades.

Abraços!

Fabio Schunig

  • 3 anos depois...
Postado

Encontrei o problema, no debug identifique que quando usa alíquota  de valor, em determinadas ecf's a variável fpAliquotas da classe TACBrECFClass fica vazia e a função (function TACBrECFClass.GetAliquotas: TACBrECFAliquotas;) está vazendo uma validação (if not Assigned( fpAliquotas ) then), contudo o objeto não é nulo(foi criado) mas está vazio (sem dados), diante dessa condição o sistema acbr não executa a função ECF.CarregaAliquotas; e apresenta a falha. 

Antes 

function TACBrECFClass.GetAliquotas: TACBrECFAliquotas;
var
  ECF: TACBrECF;
begin
  if not Assigned( fpAliquotas ) then
  begin
     ECF := GetECFComponente(Self);
     ECF.CarregaAliquotas ;
  end;

  result := fpAliquotas ;
end;

Depois (**Nota não coloquei como ( or ) a condição fpAliquotas.Count = 0, pois quando usa-se o ( or ) o if testa as duas condições e iria apresentar um falha quando a variável (fpAliquotas for nula) **)

function TACBrECFClass.GetAliquotas: TACBrECFAliquotas;
var
  ECF: TACBrECF;
begin
  if not Assigned( fpAliquotas ) then
  begin
     ECF := GetECFComponente(Self);
     ECF.CarregaAliquotas ;
  end
  else if  fpAliquotas.Count = 0 then
  begin
     ECF := GetECFComponente(Self);
     ECF.CarregaAliquotas ;
  end;

  result := fpAliquotas ;
end;

 

  • Consultores
Postado

Olá Edmar,

Dois pontos:

1) Você falou que alterou o ACBrECF mas anexou o arquivo ACBrBALClass.pas.

2) Você não mencionou em que circunstância a variável fpAliquotas retorna true para Assigned() mas está com count igual a 0 (zero). Quando isso acontece?

O ponto dois é válido pois o único modo normal disso acontecer seria não haver cadastradas alíquotas, e aí o erro de alíquota não encontrada estaria certo. Então é preciso melhor explicações.

[]'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.
  • Este tópico foi criado há 3433 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.