Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André Freitas

Relacionamento Vendas - Contas - Lançamento

Recommended Posts

Pessoal, boa noite

 

Tenho a seguinte situaçao:

Uma venda, compra ou serviço gera 1 ou mais prestaçoes. Cada prestação é um registro na tabela de Contas a Pagar/Receber.

Cada registro na tabela de contas que é feito o pagamento vai para a tabela de Lançamentos.

 

Como é feito este relacionamento de forma que eu saiba que determinado Lançamento é de Venda, Compra ou Serviços?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei o foco do Sistema mas acho estranho uma só tabela para compra e vendas, pois os tratamentos contábeis, fiscais e gerenciais são totalmente diversos.

 

Mas, o que poderia ser feito é um campo que indicasse a situação (Compra/Venda/Serviço) na tabela mãe, e um relacionamento com a tabela de Lançamentos.

 

Mas se quer um conselho procure ler algum material sobre modelagem de dados/classes (ER ou até UML).

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho q expliquei mal, é justamente o contrário... tenho 3 tabelas distintas (Vendas, Compras e Serviços).

 

O problema é: Vendas e Serviços geram Contas a Receber.

 

Suponhamos que exista a Venda numero 10 , e o Serviço Numero 10 e os dois geraram contas a receber.

Como vou identificar na tabela Contas a Receber qual a parcela da Venda e qual a parcela do Serviço, ja q os dois sao o mesmo número?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vejo duas soluções possíveis

 

a) 2 fk em contas a receber , mutualmente exclusivas que apontem para vendas ou serviços, uma check constraint pode validar esta exclusividade.

B) duas colunas uma indicadora da origem (vendas/serviços) e outra para a respectiva chave

Eu faria a a.

 

Talvez outras soluções melhores existam.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi

Estou pensando em usar a opção B... na opção A quando for Venda,o ID_SERVICO ficaria em branco e vice-versa. Isto nao geraria problemas?

 

A integridade teria de ser garantida por trigger ou via código, pois um FK neste caso não funcionaria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia utilizar a opção A que o colega sugeriu, e deixar as duas FK da tabela aceitando nulo.

Eu fiz uma aplicação em .net dessa maneira, aí no caso você tem que fazer algumas verificações na hora de incluir um cadastro... não tem problema algum!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.