RES: [firebase-br] Problema para controlar saldo de produtos
Free
freeness em terra.com.br
Seg Dez 6 14:54:58 -03 2004
Mas e se o seu ponto de venda fica em outro prédio ? Teria o problema de
dois Clientes pedirem um item que só tem um e ai ?
----- Original Message -----
From: "Josauro S.J." <josauro em casasoft.inf.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, December 06, 2004 10:08 AM
Subject: Re: RES: [firebase-br] Problema para controlar saldo de produtos
Só uma curiosidade, atualmente não trabalho mais com sistema de estoques,
mas porque voces querem ter uma tabela com o saldo ? não é so computar as
entradas menos as saidas, assim voces não tem problemas com atualização de
saldos, eu sempre fiz isso quando trabalhava com sistemas de estoques, e
olha que não tinha todos os recursos que o FB oferece.(Tinha uma tabela que
chava de Kardex, onde tinha uma linha para cada operação de entrada e/ou
saida ou reserva (um campo status dizia o que hera), assim essa tabela de
itens hera inclusive a tabela de itens das notas ou seja tinha apenas uma
tabela de NF (podia ser outra coisa tambem não necessariamente NF), e os
seus itens, assim notas de entradas e saidas heram o mesmo arquivo com
status diferenciando e os itens o historico dos produtos.)
At.
Josauro S.J.
Diretor
josauro em casasoft.inf.br
----- Original Message -----
From: Marcelo Siqueira
To: FireBase
Sent: Monday, December 06, 2004 11:25 AM
Subject: Re: RES: [firebase-br] Problema para controlar saldo de produtos
Rildecy,
Obrigado pelas dicas. Mas ainda tenho algumas duvidas. Se eu entendi bem
o seu exemplo você apenas atualiza os saldos de produtos no final,
quando o usuario escolhe que tipo de operação ele quer realizar, certo?
No meu caso eu quero atualizar os saldos assim que o usuario escolher os
produtos, antes mesmo de fechar a venda. Mas caso o usuario cancele a
venda eu tenho que voltar os saldos para o valor correto.
Eu imagino assim:
Maquina A:
- Abro uma transação
- Saldo atual do produto X: 100
- Usuario escolhe para comprar 2 unidade do produto X
- Saldo do produto X agora é 98
- Transação ainda não foi completada
Em quanto isso na Maquina B:
- Abro uma transação
- O Saldo atual do produto X é 98
- O usuario compra 5 unidades do produto X
- Agora o saldo o produto X é 93
- Venda confirmada e transação comitada
Bom, ai na maquina A o usuario resolve cancelar tudo e eu dou um
Rollback. Como então vai ficar o saldo do produto X? Vai voltar para 100
ou ficar em 93? Essa é minha duvida, como o rollback do banco vai se
comportar nesse tipo de situação de atualização de saldos?
Marcelo
Rildecy de Queiroz Borba wrote:
> Vou tentar passsa como fiz o meu.
>
> Tenho duas tabelas uma com os dados do pedido e outra com os itens do
pedido
> Elas possuem o campo numero do pedido e tipo de saída.
> Quando inicio uma operação, chamo de operação pois ate o momento não sei
se
> o que o cliente quer é uma venda ou um orçamento, eu colocou um numero
> aleatório no numero do pedido com valor negativo,so para não aparecer nos
> outros terminais, e no campo tipo de saída marco como operação indefinida,
> aqui vc pode usar uma tabela de códigos de saída, ao final da operação eu
> pergunto se esta operação é uma venda ou se é uma reserva de mercadoria,
se
> é um orçamento , se é uma transferência, etc.
> E se for um pedido eu so mudo o campo numero do pedido para a seqüência
> correta e o campo tipo de saída como venda, daqui por diante é o
> procedimento normal, e estou gravando tudo na tabela de itens que possui
uma
> triger que atualiza o meu saldo de acordo com a entrada dos dados e comito
a
> cada item pois se houver falta de energia posso apagar os itens e o saldo
> fica correto.
>
> O bom é que vc tem uma relação de saída de mercadorias genérica que vc
pode
> adaptar da forma que quiser.
>
> Se quiser mais informações to aqui
> rildecy em msn.com
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em
> nome de Marcilio Soares
> Enviada em: sexta-feira, 3 de dezembro de 2004 18:20
> Para: FireBase
> Assunto: Re: [firebase-br] Problema para controlar saldo de produtos
>
> eu faco em trigger e ainda nao me apareceu problemas !
>
> ----- Original Message -----
> From: "Marcelo Siqueira" <marcelo em bredas.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Friday, December 03, 2004 4:38 PM
> Subject: [firebase-br] Problema para controlar saldo de produtos
>
>
> Boa tarde,
>
> Preciso controlar o saldo de produtos durante uma operação de venda e
> estou em duvida sobre qual a melhor maneira de fazer isso.
>
> Meu plano é fazer uma tela de vendas onde pego todas as informações do
> usuário e gravo tudo em estruturas de memória, para só no final abrir
> uma transação e gravar o pedido efetivamente no banco.
>
> Porém existe uma exceção nessa idéia de gravar toda venda em memória: o
> saldo do produto. Assim que o usuário escolhe um produto eu decremento o
> seu saldo da tabela para evitar que outro usuário faça um pedido do
> mesmo produto caso este tenha saldo zero.
>
> Por fim, se o usuário confirmar a venda, o saldo do estoque já vai estar
> certo, caso ele cancele o pedido eu incremento os saldos dos produtos
> para que eles fiquem com o valor original. Mas ai existe um problema. Se
> a maquina cliente travar antes do cliente confirmar ou cancelar o pedido
> eu perco os meus dados que estavam em memória e o banco vai ficar com
> informações inconsistentes.
>
> Enfim, gostaria de saber sobre a experiência de outros programadores no
> modo como controlam o saldo de produtos durante telas de venda. Alguém
> poderia me dar algumas dicas sobre como é maneira correta de se fazer
> isso dentro de um ambiente cliente/servidor?
>
> Marcelo
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Mais detalhes sobre a lista de discussão lista