Devolução de itens de um venda
04/03/2004
0
Como deve ser o relacionamento entre as entidades: vendas, itens da venda e devolução?
Obrigado.
Emanoel
Posts
09/03/2004
Liliamcas
Caso alguém tenha resposta pra essa pergunta, eu gostaria de saber tbm!!!!
Liliam
10/03/2004
Gilson_our
Esse sistema gerencia o que? Qual o objetivo dele?
Um exemplo é que na entidade vendas, pode-se ter atributos como:
nota_fiscal_saida (PK), codcliente, data_saida, data_pagamento, valor_total.
E na entidade itens da venda, que se relaciona com a entidade vendas (1-N), pode-se ter nota_fiscal_saida (FK e PK), codproduto (PK), valor_unitario, quantidade.
Agora a entidade devolução, talvez ela possa se relacionar com a entidade itens da venda, já que na devolução deve-se saber a nota fiscal e o codproduto.
Ah!! Mas acho que seria preciso então uma entidade itens da devolução. Vc pensou nisso?
Lembrando que não sou especialista nessa área, apenas estou dando uma opinião.
10/03/2004
Emanoel
O sistema que estou desenvolvendo é para controle de vendas. E eu estou fazendo da seguinte forma:
VENDAS (CODVENDA, DATAVENDA, VALORVENDA, VALORFRETE, VALORDESCONTO, CODCLIENTE, CODVENDEDOR)
ITENS_VENDA (CODVENDA (FK), CODPRODUTO (FK), QTDE, VALUNITARIO)
PRODUTO (CODPRODUTO, DESCRICAO, UNIDADE, GRUPO, VALOR)
DEVOLUCAO (CODVENDA (FK), CODPROUTO (FK), DATADEVOLUCAO, QUANTIDADE)
A entidade ITENS_VENDA se relaciona com DEVOLUCAO (1-N).
Não sei se essa é a forma correta de fazer.
O que você acha?
(Obs: não coloquei todos atributos)
Obrigado.
11/03/2004
Gilson_our
E da tabela DEVOLUCAO?
Porque se a tabela ITENS_VENDA tiver como chaves primárias os campos CODVENDA e CODPRODUTO e a tabela DEVOLUCAO tiver como chaves primárias os campos CODVENDA e CODPRODUTO, então nesse caso o relacionamento seria 1-1 entre ITENS_VENDA e DEVOLUCAO.
Agora se a chave primária de DEVOLUÇÃO for CODDEVOLUCAO por exemplo, ai não daria para ocorrer o relacionamento que vc disse.
Se não estiver dando certo com essas tabelas que vc disse, veja se não é o caso de ter uma tabela ITENS_DEVOLUCAO.
11/03/2004
Emanoel
Devo, na entidade DEVOLUCAO, exibir apenas os itens da venda referentes a CODVENDA certo?
(Pq eu deveria colocar uma PK em ITENS_VENDA? As FK não servem como PK?)
Agradeço a ajuda.
12/03/2004
Gilson_our
Eu relacionei a tabela ITENS_VENDA com ITENS_DEVOLUCAO, e esta com DEVOLUCAO.
Em ITENS_VENDA, eu deixei codvenda e codproduto como sendo a chave primária dupla, sim as FK servem como PK.
Agora eu não sei te dizer se o que eu fiz aqui foi a melhor maneira de implementar a solução em termos de performance, se algum analista de sistemas estiver lendo este tópico, poderia postar aqui, e dizer por exemplo se é recomendável utilizar uma tabela com chave primária tripla.
Bom, fiz um teste aqui do meu jeito, criando as tabelas e os relacionamentos com integridade referencial no Access 2000, a princípio não notei erros.
Se quiser ver como ficou o MER e os relacionamentos que fiz aqui, acesse os links:
http://www.angelfire.com/hero/euourinhos/mer.jpg
http://www.angelfire.com/hero/euourinhos/mer2.jpg
12/03/2004
Emanoel
Na sua opinião, como devo proceder no caso de devolução de algum produto:
Digamos que o sistema gerou três contas a receber de uma determinada venda. Quando o cliente devolve um produto, o que o sistema deve fazer com as contas a receber? E com a nota de venda?
O sistema deve diminuir o total da devolução do total da venda?
Obrigado.
13/03/2004
Gilson_our
Se vc deixar assim, por exemplo, em uma Venda que teve mais de 2 ou mais tipos de produtos comprados e o cliente resolve devolver 2 ou mais produtos diferentes, em cada linha da tabela DEVOLUCAO, vc terá que repetir a mesma data da devolução, armazenando bytes desnecessários, não é?
Por isso que acho melhor deixar como fiz, criando uma tabela Devolucao, com a data e relacionando ela com os itens da devolução.
Quando o cliente devolve um produto, o sistema deve registrar a data de devolução, o código da venda relacionado e o código do produto. O contas a receber vai ter que diminuir claro, talvez alterando o registro, assim como a nota da venda.
É o sistema vai ter que diminuir a quantidade de cada produto devolvido relacionado com sua respectiva venda.
Clique aqui para fazer login e interagir na Comunidade :)