Cores e tamanhos
Colegas,
O Wesley me mostrou como fazer um cadastro de cores e tamanho de produtos...
Mas como posso controlar a qtde existente, dar entrada e saída, por cores e ou tamanho?
Ou seja, se tenho um produto com várias, como determino a cor no momento de dar entrada, ou em uma consulta, e na hora da venda?
Aguardo
um abraço
Irenildo Carvalho
Irenildo Carvalho
Curtidas 0
Respostas
Wesley Yamazack
13/02/2010
Olá meu amigo, tudo bem ?
Bom vamos a sua dúvida, você quer saber como fazer as entradas em estoque e as saídas nas vendas certo ?
Entrada : Da uma olhada na Unit uFrmProduto_Tamanho que te mandei da outra vez ( Link : http://www.4shared.com/file/190397019/aa450efb/Produto_-_Tamanho.html) , nela você pode fazer o lançamento em Estoque.
Saída : Na sua tela de "Vendas", você tem pode criar uma procedure para alterar a quantidade de um determinado produto utilizando 3 fatores ( IDProduto, IDCor, IDTamanho) Veja o exemplo :
procedure TFrmProdutoTamanho.AtualizarEstoque(IDProduto, IDCor, IDTamanho, QTD : Integer; Lancamento: Boolean); Var xQry : TSQLQuery; xQtdeAtual : Integer; begin xQtdeAtual := 0; xQry := TSQLQuery.Create(Self); xQry.SQLConnection := SQLConnection1; with xQry do begin {Fazemos um Select para pegar a quantidade atual do produto} SQL.Add('SELECT QTDE FROM CORTAMANHOPRODUTO '); SQL.Add(' WHERE IDPRODUTO = ' + IntToStr(IDProduto)); SQL.Add(' AND IDCOR = ' + IntToStr(IDCor)); SQL.Add(' AND IDTAMANHO = ' + IntToStr(IDTamanho)); Open; {Verificamos se retornou algum valor pois pode ter produto que não tem uma determinada cor ou tamanho, dai você terá que fazer um lançamento novo!} if not IsEmpty then xQtdeAtual := FieldByName('QTDE').AsInteger else begin ShowMessage('Produto não localizado'); Exit; end; {Fechamos e limpamos a query para não pegar lixo da query acima} Close; SQL.Clear; {Agora aqui faremos a atualização do Estoque} if Lancamento = False then xQtdeAtual := xQtdeAtual * (-1);
SQL.Add('UPDATE CORTAMANHOPRODUTO '); SQL.Add(' SET QTDE = ' + IntToStr(xQtdeAtual+QTD)); { Caso seja baixa em estoque a formula será subtraida caso contrario acrescentamos o valor } SQL.Add(' WHERE IDPRODUTO = ' + IntToStr(IDProduto)); SQL.Add(' AND IDCOR = ' + IntToStr(IDCor)); SQL.Add(' AND IDTAMANHO = ' + IntToStr(IDTamanho)); ExecSQL; //Executa o comando direto para o banco end; end; Agora meu amigo, basta você fazer as adaptações e terá seu estoque atualizado, qualquer coisa estamos a disposição.
Um abraço
Wesley Y
GOSTEI 0
Wesley Yamazack
13/02/2010
Olá amigo, e ai consegui implementa o código ?
Um abraço
Wesley Y
Um abraço
Wesley Y
GOSTEI 0
Irenildo Carvalho
13/02/2010
Cara,
não consegui ainda, mas entendi a lógica, o problema é que minha baixa de estoque é meio complicado, então tô vendo aqui como posso fazer...
Mas fico agradecido
Valeu mesmo
Uma abraço
Irenildo
GOSTEI 0
Wesley Yamazack
13/02/2010
Olá amigo, fico no aguardo então para fecharmos o chamado, estou a disposição.
Um abraço
Wesley Y
Um abraço
Wesley Y
GOSTEI 0
Wesley Yamazack
13/02/2010
Olá amigo, coloquei o chamado como concluido, mas se tiver alguma dúvida reabrimos ele.
Um abraço
Wesley Y
Um abraço
Wesley Y
GOSTEI 0