BAIXAR ESTOQUE DE PRODUTO COMPOSTO

SANROMAN 08/11/2015 22:19:16
#453622
Boa noite, amigos

Uso o seguinte código para dar baixa no estoque:

[code]
Private Sub baixaEstoque()

Dim con As New SqlConnection(strCmd)
Dim cmd As SqlCommand

con.Open()

Try
For Each ListItem As ListViewItem In listProdBalcao.Items
If ListItem.Checked Then
Dim sql As String = [Ô][Ô]
Dim codProduto As Int64 = Int64.Parse(ListItem.SubItems(0).Text).ToString
Dim qtdeVendida As Integer = Val(ListItem.SubItems(3).Text)

sql = [Ô]UPDATE TB_produtos SET EstoqueAtual = EstoqueAtual - [ô][Ô] & qtdeVendida & [Ô][ô] WHERE idProdutos = [Ô] & codProduto & [Ô] OR CodigoBarra = [Ô] & codProduto & [Ô][Ô]
cmd = New SqlCommand(sql, con)
cmd.ExecuteNonQuery()
End If
Next
Catch ex As Exception
MsgBox(ex.ToString)
Finally
con.Close()
cmd = Nothing
End Try

End Sub
[/ code]

Consigo dar baixa em 1 (um) x-salada

Mas como fazer para dar baixa em todos os produtos que compõem um x-salada - pão, queijo, mostarda, alface, e etc.

Não faço ideia de como dar baixa nos produtos que o compõem.

Desde já agradeço a valiosa ajuda de todos.


KERPLUNK 08/11/2015 22:40:14
#453624
O que você precisa é adaptar seu sistema de estoque para trabalhar com romaneios.
NICKOSOFT 09/11/2015 07:01:58
#453625
logica....
vc baixa um produto q esta cadastrado em algum lugar, so q vc precisa ter os itens e qnt q compõe esse produto cadastrados em algum lugar tmb....

fiz algo parecido anos luz pra uma indústria de bancos de carros, cada banco tinha vários sub itens.....as notas de entrada eram os itens q iam ao estoque e nas notas de saída iam os bancos q tinham cadastrados os itens usados...
PERCIFILHO 09/11/2015 08:16:47
#453627
é o que chamamos aqui de Ficha Técnica de um produto, ou seja, um produto final ou acabado utiliza vários sub produtos que o compõe, então você precisaria criar uma [Ô]ficha técnica[Ô] do produto, onde constaria todos os sub produtos e a quantidade que é utilizada de cada um desses sub produtos para compor o produto final. Aí, ao dar a saída no produto final do seu estoque, é verificado nesta [Ô]ficha técnica[Ô] todos os sub produtos dele e dado baixa nas quantidades cadastradas.
Entendeu?
SANROMAN 09/11/2015 10:23:56
#453631
Bom dia, rapaziada

Bem , se entendi o que foi colocado acima, devo ter um campo em meu formulário de cadastro de produtos onde informo se o produto é único ou composto, se for único faço a baixa dele individualmente, se for composto dou baixa no produto e acesso uma [Ô]ficha[Ô] com os produtos que o compõem e também faço a baixa.

é extremamente gratificante dividir dúvidas com vocês, muito obrigado.

Postarei, neste tópico, o código que pretendo criar para executar tal tarefa. E continuo contando com a ajuda de vocês.




NICKOSOFT 09/11/2015 14:32:33
#453647
na verdade com esse seu comentário abre-se um leque pra ir além.....
no cadastro dos produtos finais, vc pode por um campo q determina U ou C, e armazena isso no BD tmb, fora q qnd for C te abre campo pra descrever os itens q o compõe....qnd der a saída, verifica esse campo e toma acao conforme cada tipo.....se baixa único, ou se busca os itens na outra tabela...
COQUITO 10/11/2015 11:40:50
#453681
Citação:

:
Boa noite, amigos

Uso o seguinte código para dar baixa no estoque:

[code]
Private Sub baixaEstoque()

Dim con As New SqlConnection(strCmd)
Dim cmd As SqlCommand

con.Open()

Try
For Each ListItem As ListViewItem In listProdBalcao.Items
If ListItem.Checked Then
Dim sql As String = [Ô][Ô]
Dim codProduto As Int64 = Int64.Parse(ListItem.SubItems(0).Text).ToString
Dim qtdeVendida As Integer = Val(ListItem.SubItems(3).Text)

sql = [Ô]UPDATE TB_produtos SET EstoqueAtual = EstoqueAtual - [ô][Ô] & qtdeVendida & [Ô][ô] WHERE idProdutos = [Ô] & codProduto & [Ô] OR CodigoBarra = [Ô] & codProduto & [Ô][Ô]
cmd = New SqlCommand(sql, con)
cmd.ExecuteNonQuery()
End If
Next
Catch ex As Exception
MsgBox(ex.ToString)
Finally
con.Close()
cmd = Nothing
End Try

End Sub
[/ code]

Consigo dar baixa em 1 (um) x-salada

Mas como fazer para dar baixa em todos os produtos que compõem um x-salada - pão, queijo, mostarda, alface, e etc.

Não faço ideia de como dar baixa nos produtos que o compõem.

Desde já agradeço a valiosa ajuda de todos.





Cara, não entendi o que você que fazer... o que você está tentando dizer é zerar estoque conforme ao pedido?
veja isto se ajuda. Eu fiz isso no meu está rodando até por enquanto trankis


Dim sqlProduto As String = [Ô]Update produtos Set estoq_atual=? Where cod_barProd=[Ô] & (CInt(txt_CodigoProduto.Text))
Dim cmdProduto As OleDbCommand = New OleDbCommand(sqlProduto, cn)

intEstoq_Saldo = Val(lbl_EstoqueAtual.Text) - Val(txt_Qtde.Text)

cmdProduto.Parameters.Add(New OleDbParameter([Ô]@estoq_atual[Ô], intEstoq_Saldo))
cmdProduto.ExecuteNonQuery()
dgvListaPedidos.Rows.Add(txt_CodigoProduto.Text, lbl_NomeProduto.Text, lbl_PrecoUnit.Text, txt_Qtde.Text, lbl_Subtotal.Text)
SANROMAN 16/11/2015 12:12:50
#453970
Boa tarde Arimuya

O código que postei faz a baixa dos produtos que estão na tabela produto. O faz individualmente, produto por produto.

Estou trabalhando, no momento, para que esse código continue baixando os produtos quando forem produtos únicos e também quando compostos.

Ou seja, 1 (um) X-Salada é um produto único, mas composto de vários outros produtos. Preciso dar baixa no X-Salada (isso o código postado já faz, já que é um produto único) e também nos produtos que o compõem.

Até mais.
COQUITO 08/02/2016 11:54:55
#457360
Citação:

:
Boa tarde Arimuya

O código que postei faz a baixa dos produtos que estão na tabela produto. O faz individualmente, produto por produto.

Estou trabalhando, no momento, para que esse código continue baixando os produtos quando forem produtos únicos e também quando compostos.

Ou seja, 1 (um) X-Salada é um produto único, mas composto de vários outros produtos. Preciso dar baixa no X-Salada (isso o código postado já faz, já que é um produto único) e também nos produtos que o compõem.

Até mais.



Amigao sera que seu problema foi solucionado?
Tópico encerrado , respostas não são mais permitidas