SISTEMA DE PDV
Pesssoal gostaria de saber se alguem tem alguma funcao que ao fechar a venda, com todos os itens dentro de um listview, ele crie um laco pra ir dando baixa no estoque...
Ja pesquisei na net e nao achei nada..Tenho todo o PDV montado, mais gostaria de somente da a baixa no estoque dos produtos da lista de venda...
ALGUEM TEM ALGUMA COISA PRONTA, nao tenho nada pronto nesse sentido por isso estou recorrendo aqui, se alguem tiver como me passar uma funcao que faca o select e update e ir atualizando o campo quantidade agradeceria muito...
ULTILIZO BANCO MYSQL...
Ja pesquisei na net e nao achei nada..Tenho todo o PDV montado, mais gostaria de somente da a baixa no estoque dos produtos da lista de venda...
ALGUEM TEM ALGUMA COISA PRONTA, nao tenho nada pronto nesse sentido por isso estou recorrendo aqui, se alguem tiver como me passar uma funcao que faca o select e update e ir atualizando o campo quantidade agradeceria muito...
ULTILIZO BANCO MYSQL...
Eu estou montando algo parecido, O que estou fazendo para dar baixa: no lugar do Listview estou usando Datagridview, a cada item add na DGV automaticamente ele puxa a quantidade, e antes de add, pergunta se é realmente o item, se sim, ja add na DGV e ja da baixa -1 no estoque.
Vou montar um código hoje, mas é mais ou menos isso:
strQuery = Select cod, Produto, Estoque ...
... [ô] Aonde joga os valores pesquisados em variaveis
if estoq = 0 then
msgbox ([Ô]Produto sem estoque[Ô])
Else
... [ô]Nesta parte onde você joga no ListView
End If
Vou montar um código hoje, mas é mais ou menos isso:
strQuery = Select cod, Produto, Estoque ...
... [ô] Aonde joga os valores pesquisados em variaveis
if estoq = 0 then
msgbox ([Ô]Produto sem estoque[Ô])
Else
... [ô]Nesta parte onde você joga no ListView
End If
Amigos,
Vamos ter em mente que o estoque do produto nada mais é que a soma das entradas menos a soma das saÃdas.
Portanto, não vejo praticidade em fazer atualização num campo que deve ser calculado.
O ideal é ter uma tabela de movimentação de produtos e nela constar o tipo de movimento e a quantidade do produto.
Dessa forma, creio exisitir duas maneiras básicas de fazer isso.
1ª A tabela ter um campo [ô]Movimento[ô] onde será armazenada E ou S e o campo quantidade: Dessa forma o sql ficaria.
2ª Usar a quantidade positiva para entradas e negativas para saida: Dessa foram o sql ficaria.
Eu particularmente, utilizo a primeira opção e ainda uso um campo operacao para definir por exemplo, se é uma venda, devolução, estorno, etc
Vamos ter em mente que o estoque do produto nada mais é que a soma das entradas menos a soma das saÃdas.
Portanto, não vejo praticidade em fazer atualização num campo que deve ser calculado.
O ideal é ter uma tabela de movimentação de produtos e nela constar o tipo de movimento e a quantidade do produto.
Dessa forma, creio exisitir duas maneiras básicas de fazer isso.
1ª A tabela ter um campo [ô]Movimento[ô] onde será armazenada E ou S e o campo quantidade: Dessa forma o sql ficaria.
SELECT (SELECT SUM(quantidade) FROM movto WHERE (movimento = [ô]E[ô]) - SELECT SUM(quantidade) FROM movto WHERE (movimento = [ô]S[ô])) AS estoque_atual;
2ª Usar a quantidade positiva para entradas e negativas para saida: Dessa foram o sql ficaria.
SELECT SUM(quantidade) AS estoque_atual FROM movto;
Eu particularmente, utilizo a primeira opção e ainda uso um campo operacao para definir por exemplo, se é uma venda, devolução, estorno, etc
Fabiano, vamos supor so pra eu enteder mesmo, crio uma tabela aonde irei ter os produtos de saida mais da mesma forma nao irei ter que da um update para diminuir a quantidade do produto?
Fabiano ve se eu entendi voce da um insert dos produtos nessa tabela e depois faz um select com count seria isso?
KURTGU,
A sua última resposta chegou quase perto. No lugar do Count seria o SUM para somar as quantidades.
Vamos ao raciocÃnio:
1. Você terá uma tabela que se chamará, por exemplo, mov_estoque com os campos id, id_pedido, id_produto, qtde, movimento, e outros que forem necessários para seu sistema.
2. Ao fazer a venda você fará um loop dos seus produtos e fará um INSERT. Lembre-se o campo id é auto-numerado. Ex.:
3. Quando você compra seus produtos você também fará uma entrada da mesma forma. Ex:
4. Para você ter o estoque do produto (no caso aqui de código 1000) bastar executar o select que passei acima.
Veja que você terá o estoque atual igual a 100 que é a diferença entre as somas de entradas e saÃdas.
Espero que tenha compreendido
A sua última resposta chegou quase perto. No lugar do Count seria o SUM para somar as quantidades.
Vamos ao raciocÃnio:
1. Você terá uma tabela que se chamará, por exemplo, mov_estoque com os campos id, id_pedido, id_produto, qtde, movimento, e outros que forem necessários para seu sistema.
2. Ao fazer a venda você fará um loop dos seus produtos e fará um INSERT. Lembre-se o campo id é auto-numerado. Ex.:
INSERT INTO mov_estoque (id_pedido, id_produto, qtde, movimento) VALUES (10, 1000, 50, [ô]S[ô])
.3. Quando você compra seus produtos você também fará uma entrada da mesma forma. Ex:
INSERT INTO mov_estoque (id_pedido, id_produto, qtde, movimento) VALUES (5, 1000, 150, [ô]E[ô]);
4. Para você ter o estoque do produto (no caso aqui de código 1000) bastar executar o select que passei acima.
SELECT (SELECT SUM(quantidade) FROM movto WHERE (movimento = [ô]E[ô]) AND (id_produto = 1000) - SELECT SUM(quantidade) FROM movto WHERE (movimento = [ô]S[ô]) AND (id_produto = 1000)) AS estoque_atual.
Veja que você terá o estoque atual igual a 100 que é a diferença entre as somas de entradas e saÃdas.
Espero que tenha compreendido
Fabiano Couto vlw cara entendi sim vou ver o que consigo fazer aqui...
Tópico encerrado , respostas não são mais permitidas