Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Estou com seguinte problema:

Devido erros na impressora em alguns casos, o sistema esta gerando dados inconsistentes na base de dados. Gostaria de saber como vocês tem feito o controle para manter dados consistentes. 

 

Tenho seguinte estrutura ao finalizar cupom fiscal:

try
  try
     {executo comandos que efetua subtotalizacao, pagamento, fechacupom, etc}
  except
     on E:Exception do
     begin
       DMCupomFiscal.Transaction.RollbackRetaining;
       raise Exception.Create(e.Message);
     end;
  end;
  DMCupomFiscal.Transaction.Commit;
Except
  on e:Exception do
  begin
    dmCupomFiscal.Transaction.Rollback;	  	
    showmessage(e.message)
  end;
end;

Mas ja tive casos em que a impressora retornou erro ao executar FechaCupom, o qual eu não persisti na base de dados e na impressora fiscal ele finalizou. Vocês fazem algum outro tipo de controle?

 

Desde ja obrigado!

EL Soluções em Informática

Desenvolvimento  e Suporte (ERP, NF-e, CT-e, Sped Fiscal, EFD Contribuições, Emissor de Cupom Fiscal)
Ronda Alta - RS

(54)3364-1588
www.elinfo.com.br

 

Postado

No caso da impressora falhar eu trabalho com um loop que continua tentando contato com a mesma até que ela retorne ao estado normal.

 

A impressora voltando a normalidade basta consultar pra ver onde ela parou e enviar os comandos que faltam pra finalizar o cupom e ai sim gravar os dados da venda.

 

PS: A cada iteração do loop eu permito que o usuário possa abortar as tentativas com a impressora, até porque pode ser que realmente a impressora tenha um problema irrecuperável.

 

Eu pelo menos trato dessa maneira :)

 

Att.

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

Postado

Sim dentro do try faço processo normal de tentar imprimir e e gravar caso tudo de certo.

 

Caso caia no except entro em um loop que fica tentando consultar o totalPago da ecf e enquanto essa informação não retornar é porque a ecf não voltou ao estado normal, sendo assim continuo informando o usuário que a ecf não está ok e que o mesmo deve verificar.

 

A ecf voltando, ou seja, eu conseguindo consultar o total pago, basta verificar o que ainda falta ser enviado para a ecf, enviar e ai sim gravar.

 

Eu consulto o valorPago e não o estado pra enviar 2 consultas a ecf.

 

Como eu disse essa é a forma que eu faço e funciona legal :)

 

Att.

  • Curtir 1

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

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