ESTOQUE

DIONISIO 26/07/2012 09:36:11
#406619
BOM DIA PARA TODOS, POR FAVOR ALGUEM PODE ME AJUDAR?
TENHO UM SISTEMA DE AUTOMOÇÃO COMERCIAL
O BANCO E NO ACCESS, NESSE BANCO, TEM UMA TABELA DE CONTROLE DE SAIDA DE MERCADORIAS, TENHO 3 USUARIOS USANDO AO MESMO TEMPO, DA MANEIRA QUE VAI VENDENDO A MERCADORIA VAI NESSA TABELA E VAI DANDO BAIXA, EXEMPLO: PRODUTO CANETA, SE TEM 10, VENDEU UMA ENTAO FICARAM 9, E ASSIM VAI
ESTOU COM UMA DIFICULDADE NESSA SITUACAO DE 3 USUARIOS AO MESMO TEM VENDENDO AO MESMO TEMPO E DANDO BAIXA NESSA TABELA, ALGUEM PODE ME AJUDAR?
KERPLUNK 26/07/2012 09:42:33
#406620
Um sistema de estoque ideal, é o que trabalha por registro de entrada e saída. Ao vender um produto, cria-se um registro em uma tabela de movimentação contendo o código do produto e a quantidade vendida(se quiser, pode ter também dados do vendedor, da venda em si...) e a quantidade do estoque do produto, é a soma das quantidades movimentadas(tanto de entrada quanto de saída).
Este modelo, de ter um campo com a quantidade de ítens do produto na mesma tabela de cadastro do produto, é péssima idéia...
GOODSPEAKERS 26/07/2012 10:24:24
#406624
Voce tem que usar transacao no banco de dados.


[Ô]begin tran[Ô] e [Ô]commit tran[Ô]

assim enquanto nao terminar uma transacao, não se inicia a mesma e vc mantem a integridade da tabela.
ROBSON 26/07/2012 20:09:59
#406675

Eu faria de outra maneira, criaria um campo a mais tipo Quantidade_Disponivel.
Antes de iniciar qualquer pedido a quantidade disponivel seria o mesmo da quantidade total do produto, entretanto quanto alguma venda fosse iniciada seria dado baixa na quantidade disponivel. somente apos a finalizacao do pedido que seria dado baixa no estoque (quantidade total)
Tipo assim tem 10 canetas, o 1º vendedor iniciou um pedido temporário de 2 unidades, neste caso só tem disponivel 8 para ser vendida,
E caso o pedido seja cancelado a quantidade disponivel retorna para a quantidade total. desta maneira nao teria como o estoque ficar negativo ou seja vender uma mercadoria que não existe.
Tópico encerrado , respostas não são mais permitidas