[firebase-br] Fw: Transações x NF - ItensNF x Produto x Ficha Estoque
Valdemir (gmail)
valdemirjs em gmail.com
Sex Set 4 09:47:40 -03 2009
Então rodrigo.. os dados que vc mostra pro usuario no form da nota... grid
dos itens da nota... vc usa CDS ? com campos DB ?
.. eu aqui não mencionei no inicio mas estou usando o IBO usando campo DB
--------------------------------------------------
From: "Rodrigo" <dominio em engeplus.com.br>
Sent: Friday, September 04, 2009 9:23 AM
To: "FireBase" <lista em firebase.com.br>
Subject: Re: [firebase-br]Fw: Transações x NF - ItensNF x Produto x Ficha
Estoque
> 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
>
>
>
> ______________________________________________
> 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
Mais detalhes sobre a lista de discussão lista