Ola
Gustavo se possível gostaria de orientação para o problema abaixo:
Minha tabela de produtos contem 4(quatro) Tipos de produtos
1 ??? Venda
2 ??? Consumo
3 ??? Indústria
4 ??? Produtos Industrializados
Solicito orientação para a seguinte situação.
Gerar uma grade de produção.
Informações.
Vendo um produto e preciso gerar uma determinada grade para indústria fabricar.
Ex. a peça a1 do meu estoque de venda é composta de produtos industrializados e quero gerar uma tabela da grade que contem o seguinte formato abaixo:
GRADEPRO ??? TABELA DE GRADE
ECF_NUMERO ??? Numero da venda quem vem da capa do lote da venda.
CPPRO_CODIGO ??? Codigo do produto a ser industrializado
QUANTPROD ??? Quantidade a ser produzida
Portanto esse é o resultado que quero ter mas dependo de algumas informações abaixo.
ITVENDA ??? TABELA DE ITENS DE VENDAS
ECF_NUMERO ??? Numero da venda campo chave
IEC_SEQUENCIA Sequencia do item da venda campo chave
PRO_CODIGO ??? Produto vendido ??? Busca na tabela produtos o código.
PRO_QUANTIDADE ??? Quantidade Vendida
PRO_VENDA ??? Valor do Item
IEC_TOTAL ??? Total do Item em moeda
COMPPROD ??? TABELA DE COMPOSI????O DO PRODUTO ??? Capa do lote de composição do produto
PRO_CODIGO ??? Código do produto a ser industrializado ??? busca na tabela de produtos campo chave
ITECOMPPROD ??? TABELA DE ITENS DE COMPOSI????O DOS PRODUTOS
PRO_CODIGO ??? Código do produto = ao pai COMPPROD campo chave
CP_ITEM ??? Item seqüencial de auto incremento ??? campo chave
CPPRO_CODIGO ??? produtos que compoen o produto da venda
CP_QUANT ??? Quantidade que se deve fabricar para uma peça do produto
Preciso montar uma rotina em que quando vendo um produto ela leia a composição do mesmo localize o item que o compõem e monte a tabela GRADEPRO
Então tenho que na inclusão efetuar um lançamento no GRADEPRO caso ele não exista sendo que tenho que mandar os itens ECF_NUMERO da tabela ITVENDA ??? TABELA DE ITENS DE VENDAS e o CP_ITEM da tabela ITECOMPPROD ??? TABELA DE ITENS DE COMPOSI????O DOS PRODUTOS sei que tenho que pegar o item da tabela ITVENDA encontrá-lo na tabela COMPPROD e efetuar uma leitura no ITECOMPPROD para atualizar a GRADEPRO mas estou com dificuldades para montar, gostaria de uma orientação ou se existe uma forma de montar essa atualização por triggers, so for possível, aguardo respostas.
Tenho a versão anterior do Xmaker 6.0 e utilizo a versão do Delphi 6.0
Sou usuário desde 2005 e o xmaker me ajuda muito e parabéns pela nova versão
grato
Francisco Mendonça
Ajuda em rotina de atualização
-
- Mensagens: 244
- Registrado em: Dezembro 22nd, 2010, 1:05 am [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Ajuda em rotina de atualização
Olá,
você pode fazer isso criando lançamento avulso.
Você deverá criar um filtro para tabela ITECOMPPROD.
TabGlobal.DITECOMPPROD.filtro.Clear;
tabGlobal.DITECOMPPROD.filtro.Add('ITECOMPPROD.PRO_CODIGO ='+floattostr(tabGlobal.DITECOMPPROD.PRO_CODIGO));
TabGlobal.DITECOMPPROD.AtualizaSql;
tabglobal.DITECOMPPROD.First;
E abaixo deve-se criar um Ptabela que irá pesquisar os itens na tabela de produtos e que compõe a tabela ITECOMPPROD.
Para cada item da tabela ITVENDA você deve fazer a programação abaixo(efetuar um loop).
try
while not tabglobal.DITECOMPPROD.Eof do
begin
if Ptabela(TabGlobal.DPRODUTO, ['PRO_CODIGO'], [tabglobal.DITECOMPPROD.PRO_CODIGO.Conteudo], ['CPPRO_CODIGO', 'CP_QUANT'],CamposResultado) then
begin
TabGlobal.DGRADEPRO.ECF_NUMERO.Conteudo:= Numero da venda quem vem da capa do lote da venda;
TabGlobal.DGRADEPRO.CPPRO_CODIGO.Conteudo:= CamposResultado[0];
TabGlobal.DGRADEPRO.QUANTPROD.Conteudo:= CamposResultado[1] * Quantidade Vendida (Tabela ITVENDA);
TabGlobal.DGRADEPRO.salva;
Screen.Cursor := crHourGlass;
end;
TabGlobal.DITECOMPPROD.next;
end;
except
showmessage('Erro de Leitura...');
end;
Ao meu ver acho que era isso que você quer fazer, qualquer dúvida volte a postar.
você pode fazer isso criando lançamento avulso.
Você deverá criar um filtro para tabela ITECOMPPROD.
TabGlobal.DITECOMPPROD.filtro.Clear;
tabGlobal.DITECOMPPROD.filtro.Add('ITECOMPPROD.PRO_CODIGO ='+floattostr(tabGlobal.DITECOMPPROD.PRO_CODIGO));
TabGlobal.DITECOMPPROD.AtualizaSql;
tabglobal.DITECOMPPROD.First;
E abaixo deve-se criar um Ptabela que irá pesquisar os itens na tabela de produtos e que compõe a tabela ITECOMPPROD.
Para cada item da tabela ITVENDA você deve fazer a programação abaixo(efetuar um loop).
try
while not tabglobal.DITECOMPPROD.Eof do
begin
if Ptabela(TabGlobal.DPRODUTO, ['PRO_CODIGO'], [tabglobal.DITECOMPPROD.PRO_CODIGO.Conteudo], ['CPPRO_CODIGO', 'CP_QUANT'],CamposResultado) then
begin
TabGlobal.DGRADEPRO.ECF_NUMERO.Conteudo:= Numero da venda quem vem da capa do lote da venda;
TabGlobal.DGRADEPRO.CPPRO_CODIGO.Conteudo:= CamposResultado[0];
TabGlobal.DGRADEPRO.QUANTPROD.Conteudo:= CamposResultado[1] * Quantidade Vendida (Tabela ITVENDA);
TabGlobal.DGRADEPRO.salva;
Screen.Cursor := crHourGlass;
end;
TabGlobal.DITECOMPPROD.next;
end;
except
showmessage('Erro de Leitura...');
end;
Ao meu ver acho que era isso que você quer fazer, qualquer dúvida volte a postar.
Att,
Gustavo Barreto
Gustavo Barreto
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 77 visitantes