[firebase-br] (sem assunto)
Leandro Guilen
leuniabc em yahoo.com.br
Qui Jun 16 09:36:23 -03 2005
Bom dia pessoal
Tenho a seguinte situação:
Uma tabela de entrada de produtos (tab_entrada) e outra de ítens da entrada (tab_itens_entrada).
Uma tabela de requisicao (tab_requisicao) por parte dos usuarios ao almoxarifado e outra com os produtos desta requisicao (tab_itens_requisicao).
Utilizo o método PEPS, primeiro de entra primeiro que sai, por uma questão de preços.
Posso ter duas entradas, como a seguir:
ENTRADA Nº COD PRODUTO QTDE PRECO
1 199 ALCOOL 5 1,50
2 199 ALCOOL 3 1,75
Sempre que um usuario solicitar ALCOOL ao almoxarifado, varro a tabela de ítens de entrada, pegando sempre o primeiro que entrou e vou compondo a qtde e preco da requisicao.
Neste mesmo exemplo, se um usuario solicitar 6 litros de ALCOOL, é inserido dois registros de ALCOOL numa única requisicao:
REQUISICAO ENTRADA Nº COD_PROD QTDE PRECO
1000 1 199 5 1,50
1000 2 199 1 1,75
Faço isso atraves de uma SP, o problema é somente a apresentação ao usuário, que não precisa saber como foi feita a montagem da requisicao.
A consulta deve retornar o registro abaixo:
REQUISICAO COD_PROD QTDE
1000 199 6
Note que o preco não precisa aparecer, mas preciso guardá-lo para um eventual cancelamento da requisicao.
O select que tenho no momento é este, e ele insiste em retornar 2 registros:
SELECT
FIN40_DESCRICAO, // descricao da unidade de medida. ex: caixa
FIN5_NMPRODUTO, // descricao do produto
FIN41_IDPRODUTO, // codigo do produto
FIN41_IDREQUISICAO, // codigo da requisicao
FIN41_QTDE // qtde solicitada
FROM
FIN041, FIN040, FIN005
WHERE
FIN40_IDUNMED = FIN5_UMEDIDA AND
FIN5_IDPRODUTO = FIN41_IDPRODUTO AND
FIN41_IDREQUISICAO = :FIN22_IDREQUISICAO
GROUP BY
FIN40_DESCRICAO,
FIN5_NMPRODUTO,
FIN41_IDPRODUTO,
FIN41_IDREQUISICAO
Se alguém puder dar uma força, agradeço
Leandro
__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger
http://br.download.yahoo.com/messenger/
Mais detalhes sobre a lista de discussão lista