Fórum Produto Composto #415780
23/04/2012
0
Fiz varias pesquisas na net e não achei algo que me ajudasse por completo.
Estou desenvolvendo um sistema ontem faço o controle de estoque com 3 trigges (after insert, after delete, after update). Para um produto normal funciona perfeitamente.
Agora estou precisando informar dentro do sistema que um produto é composto por outros produtos.
Como faço para dar baixa neles depois atraves de procedure ou triggers?
Willian Amor
Curtir tópico
+ 0Posts
23/04/2012
Joel Rodrigues
Vamos a alguns detalhes:
1) Que banco você usa?
2) Você quer dar baixa nos produtos que compõe ou no que é composto?
3) Qual está sendo sua real dificuldade?
Gostei + 0
24/04/2012
Willian Amor
Vamos a alguns detalhes:
1) Que banco você usa?
2) Você quer dar baixa nos produtos que compõe ou no que é composto?
3) Qual está sendo sua real dificuldade?
ola bom dia,
Em relação as suas perguntas:
1 - uso delphi 7 com banco de dados firebird 2.1.
2 - Entao ies o processo. No caso acho q teria q dar baixa no produto e nos produtos que o compoem.
Exemplo.
Se tenho um Prato Feito, o mesmo contera 200g de arroz, 200g de feijão, 1 bife, etc.
Acho eu que teria q baixar todos, não?
3 - Como vou gravar via delhi no cadastro do produto e na hora da baixa fazer ele entender que os itens fazer parte de um determinado produto?
no meu banco tenho uma tabela produtos e uma tabela produtos_itens. Vou fazer o mestre detalhe guardar na tabela produtos_itens os itens de um produto.
ideias e sugestões são bem vindas. :)
Gostei + 0
24/04/2012
Joel Rodrigues
Você precisará usar um CURSOR para ler cada composto do produto que está sendo vendido. A rotina será a seguinte:
PARA cada registro na tabela de compostos do produto vendido FAÇA ATUALIZE a tabela de compostos, reduzindo a quantidade de acordo com a quantidade que compõe o produto vendido
Isso pode ser feito no momento em que você dá baixa no produto vendido.
Pesquise sobre cursores e siga esse raciocínio.
Infelizmente não posso nem te mostrar um código pronto, devido ao que expliquei, mas no que eu puder ajudar, conte comigo.
Boa sorte em seus projetos.
Gostei + 0
24/04/2012
Joel Rodrigues
Você precisará usar um CURSOR para ler cada composto do produto que está sendo vendido. A rotina será a seguinte:
PARA cada registro na tabela de compostos do produto vendido FAÇA ATUALIZE a tabela de compostos, reduzindo a quantidade de acordo com a quantidade que compõe o produto vendido
Isso pode ser feito no momento em que você dá baixa no produto vendido.
Pesquise sobre cursores e siga esse raciocínio.
Infelizmente não posso nem te mostrar um código pronto, devido ao que expliquei, mas no que eu puder ajudar, conte comigo.
Boa sorte em seus projetos.
Gostei + 0
24/04/2012
Willian Amor
Você precisará usar um CURSOR para ler cada composto do produto que está sendo vendido. A rotina será a seguinte:
PARA cada registro na tabela de compostos do produto vendido FAÇA ATUALIZE a tabela de compostos, reduzindo a quantidade de acordo com a quantidade que compõe o produto vendido
Isso pode ser feito no momento em que você dá baixa no produto vendido.
Pesquise sobre cursores e siga esse raciocínio.
Infelizmente não posso nem te mostrar um código pronto, devido ao que expliquei, mas no que eu puder ajudar, conte comigo.
Boa sorte em seus projetos.
ola amigo,
obrigado por se prontificar.
Na verdade eu tinha pesquisado e acho algo relacionado usando o For Select.
O que eu não sei realmente é montar o codigo dentro do banco e jogar na procedure.
Tava atraz de um exemplo.
Gostei + 0
24/04/2012
Joel Rodrigues
CREATE OR ALTER PROCEDURE NEW_PROCEDURE
as
begin
/* Procedure Text */
for
select
campo1,
campo2,
campo3
from tabela
where condicao
into :vinto1,dados do campo1
:vinto2,dados do campo2
:vinto3;dados do campo3
begin
--Exemplo de insert para o for
insert into tabela values (:vinto1, :vinto2, :vinto3);
end
suspend;
end
Gostei + 0
24/04/2012
Francisco Macário
Como esta estruturado seu controle de estoque?
Quais tabelas estão envolvidas?
O ideal para trabalhar com produto (composto ou semi-acabado) é:
Tabela de produtos
Tabela de composição
Tabela de estoque
Ao vender um produto você baixa a quantidade dele na tabela estoque, lista a tabela de composição e baixa na tabela de estoque.
Nem sempre fazer uso de trigger é aplicavel para todos os eventos, pense nisso.
Gostei + 0
24/04/2012
Willian Amor
Como esta estruturado seu controle de estoque?
Quais tabelas estão envolvidas?
O ideal para trabalhar com produto (composto ou semi-acabado) é:
Tabela de produtos
Tabela de composição
Tabela de estoque
Ao vender um produto você baixa a quantidade dele na tabela estoque, lista a tabela de composição e baixa na tabela de estoque.
Nem sempre fazer uso de trigger é aplicavel para todos os eventos, pense nisso.
Tenho somente a tabela produtos (a qual faço tambem o controle de estoque) e a tabela composição.
#Código
CREATE OR ALTER PROCEDURE NEW_PROCEDURE
as
begin
/* Procedure Text */
for
select
campo1,
campo2,
campo3
from tabela
where condicao
into :vinto1,dados do campo1
:vinto2,dados do campo2
:vinto3;dados do campo3
begin
--Exemplo de insert para o for
insert into tabela values (:vinto1, :vinto2, :vinto3);
end
suspend;
end
vlw pela ajuda, to tentando montar baseando no codigo que voce me passou mais ainda nao obtive sucesso.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)