[firebase-br] Fw: Transações x NF - ItensNF x Produto x Ficha Estoque

Rodrigo dominio em engeplus.com.br
Sex Set 4 09:23:07 -03 2009


Bom dia Valdenir.

O ideal é vc manter a transação aberta o menos tempo possivel.

No meu caso preferi fazer o seguinte. Carregar todos os dados da NF no Form 
NF. Entao quando o cliente toma a decisão
do que fazer com a nota, Imprimir ou Guardar como Nao impressa por exemplo, 
no botao que ela escolher eu inicio a transação,
 atualiza os dados e da um commit ou rollback em caso de erro. Dessa forma o 
tempo que a transação fica aberta é minimo. Para atualizar o estoque uso uma 
trigger tb. Da mais trabalho mas acho que é a melhor forma.

Rodrigo


----- Original Message ----- 
From: "Valdemir (gmail)" <valdemirjs em gmail.com>
To: <lista em firebase.com.br>
Sent: Friday, September 04, 2009 8:12 AM
Subject: [firebase-br] Fw: Transações x NF - ItensNF x Produto x Ficha 
Estoque


Correção, este erro da ao vender em duas maquinas diferentes o mesmo produto
Ex..
maquina 1
inicio a transação
incluo a nf
incluo o produto 1  ... ainda não terminei de lanaçar a nota e a maquina 2 
abre uma nova nota, e inclui o mesmo produto na maquina 2 da erro de 
conflito
..........................................
ao eu usar commitretaining ao gravar o item, o erro desaparece... mas se eu 
cancelar a operação na maquina 1 com o rollback a nota é cancelada, os itens 
tb, mas a atualização que a trigger de inclusão que o item fez na tabela de 
produtos não é descartada e ai o estoque fica errado

From: Valdemir (gmail)
Sent: Thursday, September 03, 2009 10:34 PM
To: lista em firebase.com.br
Subject: Transações x NF - ItensNF x Produto x Ficha Estoque


Pessoal tenho a seguinte estrutura no banco

Produtos
Codigo
Nome
QTde

NF (cabecalho da nota)
NF-Itens (itens da nota)

Ficha Estoque (toda movimentação de produtos vem aqui e atualiza a qtde) na 
tabela de produtos
...
ao incluir um item de NF... por trigger incluo um registro na ficha de 
estoque.... e na trigger da ficha de estoque altero o saldo do produto no 
cadastro do produto
....

ao lançar a NF inicio a transação desligado o auto comit, configurada como 
read comited

incluo qtos itens desejar


no final dou comit, ou rolback
...
funciona 100% desde que seja em apenas uma maquina ...

esta dando erro de conflito se eu na maquina 1, vender o produto 1, e na 
maquina 2 alterar o produto 2, ao mandar gravar o produto 2 da erro de 
conflito, isso pq a transação da nota ainda esta aberta
...
pensei se eu dar comit ao incluir um item a nf ainda não fechou e pode ser 
que ainda não grave por causa de alguma validação
...
outro detalhe é que eu posso dar um rollback no final e tudo volta como era 
antes, se eu der comit no meio de tudo, vai dar um trampo danado sair 
cancelando tudo ... isso pensando que se esta incluindo pq se estiver 
alterando... voltar a nota como estava antes vai ser pior ainda
.........
.
este tipo de situação acho que é comum acontecer pq já vi varios sistemas 
com esta mesma estrutura, li algumas coisas sobre o commitretaining, mas não 
sei se ele se encaixaria neste caso
...
eu tenho até a revista do cantu edição 42 mas mesmo assim não achei uma 
solução ou melhor "não enxerguei", pois acho que ela existe sim
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

__________ NOD32 4394 (20090904) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com






Mais detalhes sobre a lista de discussão lista