Fórum Cores e tamanhos #15677

13/02/2010

0

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

Irenildo Carvalho

Responder

Posts

17/02/2010

Wesley Yamazack


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
   
Responder

Gostei + 0

22/02/2010

Wesley Yamazack

Olá amigo, e ai consegui implementa o código ?

Um abraço

Wesley Y
Responder

Gostei + 0

23/02/2010

Irenildo Carvalho

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
Responder

Gostei + 0

24/02/2010

Wesley Yamazack

Olá amigo, fico no aguardo então para fecharmos o chamado, estou a disposição.

Um abraço

Wesley Y
Responder

Gostei + 0

03/03/2010

Wesley Yamazack

Olá amigo, coloquei o chamado como concluido, mas se tiver alguma dúvida reabrimos ele.

Um abraço

Wesley Y
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar