Como evitar duplicidade de Numero de nota fiscal?
Estou com uma duvida, como evitar ter o numero da nota fiscal com falhas?
Delphi+Firebird.
Sei que tenho que ter o numero em um generator
se na aplicação colocar
numero=generator
gravar nota fiscal
gravar produtos
gravar duplicata
gravar boleto
gravar livros fiscais
gravar contabilidade
funciona mas se a transação for cancelada se perde o numero.
Se passar o numero para o Trigger o numero não se perde mas não terei o numero pra gravar em
gravar duplicata
gravar boleto
gravar livros fiscais
gravar contabilidade
como fazer?
Delphi+Firebird.
Sei que tenho que ter o numero em um generator
se na aplicação colocar
numero=generator
gravar nota fiscal
gravar produtos
gravar duplicata
gravar boleto
gravar livros fiscais
gravar contabilidade
funciona mas se a transação for cancelada se perde o numero.
Se passar o numero para o Trigger o numero não se perde mas não terei o numero pra gravar em
gravar duplicata
gravar boleto
gravar livros fiscais
gravar contabilidade
como fazer?
Edmarfrazao
Curtidas 0
Respostas
Marcosrocha
26/05/2009
Por qual motivo a rotina falharia?
GOSTEI 0
Edmarfrazao
26/05/2009
poderia falhar por N motivos.
uma queda de energia antes do commit
uma quebra de regras do BD.
uma queda de energia antes do commit
uma quebra de regras do BD.
GOSTEI 0
Marcosrocha
26/05/2009
Em caso de queda de energia o seu banco de dados tem que ser inteligente o suficiente para apenas efetivar os dados após um commit. No caso do Firebird, ao cair a rede (energia) e ligar o servidor, todas as transações em aberto são descartadas, mantendo apenas os dados efetivamente incluídos (comitados) no banco.
O método correto é pegar o Generator antes de gravar em qualquer tabela, portanto seu sistema tem que estar preparado para evitar de acontecer o cancelamento de uma transação ao salvar a nota fiscal.
O método correto é pegar o Generator antes de gravar em qualquer tabela, portanto seu sistema tem que estar preparado para evitar de acontecer o cancelamento de uma transação ao salvar a nota fiscal.
GOSTEI 0