[Resolvido] Histórico de registros

Olá Pessoal.
Bom dia.

Gostaria de uma sugestão do que fazer nesta seguinte situação.
Tenho um sistema, em que se é cadastrado um documento chamado Standard.
Neste Standard, é cadastrado várias informações.

Na base de dados, algumas informações são gravadas em tabelas diferentes.

Esse Standard tem Status, basicamente “Em emissão”, “Aprovado” e “Não aprovado”

Ele Passa por um Admin que aprova o Standard ou não. Quando o Standard é aprovado, ou desaprovado, ele tem que ir pra histórico.

Só que ai tem um problema.

Os dados gravados no Standard, tem sua propria gestão, por exemplo uma tabela de Matéria prima.
Quando o standard vai pra histórico, os dados dele terão que ser sempre os mesmos, independente se houve ou não alteração na tabela de matéria prima. Só que como garantir isso se a gestão de matéria prima é em outra tabela a parte ?

Como vocês resolveriam ?

Bom dia Bruno,

bom eu faria o seguinte…

Criaria uma tabela de histórico e nessa tabela iria colocar todas as informações como se fosse um novo atributo da tabela (tipo copiava das outras tabelas e gravava nessa para não mudar mais), ou você pode replicar as tabelas, por exemplo criar uma cópia da tabela de materia prima só para conter o estado da materia prima quando o Standard for para o histórico.

Acho que é uma ideia … :lol:

Se os dados estão em tabelas diferentes você não precisa gerenciar nada, correto? A alteração em uma tabela não vai impactar na outra…

Acho que não Fabio, ele deve querer que quando o documento vai para o Histórico fique salvo as informações de outras tabelas, porém se alguém fizer o update de algum registro de outra tabela relacionada isso vai ser um problema.

Acho que não Fabio, ele deve querer que quando o documento vai para o Histórico fique salvo as informações de outras tabelas, porém se alguém fizer o update de algum registro de outra tabela relacionada isso vai ser um problema.[/quote]

Exato Rodrigo.

No momento em que o standard é aprovado, os dados da matéria prima deste, lá na gestão de matéria prima não podem ser alterados.
É um histórico afinal.
Imagine que hoje eu tenho um standard com uma matéria prima que tem uma propriedade de valor 20.
Depois desse standard ser aprovado, o valor dessa propriedade não pode ser alterado.

Já pensou, na época em que o standard foi aprovado, o valor da propriedade era 20. Mas hoje vale 50. É um problema.
A propriedade da matéria prima pode ser alterada, porém naquele standard aprovado, terá que se manter o valor 20 !

Então Bruno, creio que uma boa maneira (claro que deve haver melhores) seria colocar uma tabela de histórico com as informações recentes. Dai quando ao documento tem aquelas mudanças de status que você mencionou, ele alimenta aquela tabela com o documento e seus atributos.

Acho que assim funciona. :smiley:

Acho que seguiremos nessa linha de raciocínio mesmo cara.

Valeu Rodrigo.

De nada Bruno, que bom que ajudei.