C'est une problématique qui a déjà été discutée sur Tryton.
La solution proposée est:
Pour la suppression d'enregistrement, on utilise la suppression
logique (champs active) qui simule la suppression de celui-ci tout
en le gardant dans la base de données pour les clés étrangères.
Pour la modification d'enregistrement après validation, on utilise
l'« historisation » des enregistrements. C'est à dire que Tryton
fait une copie dans une table '__history' des enregistrement avant
modification. Ensuite on peut aller lire avec l'API standard les
enregistrement à une date définie dans le context '_datetime'.
Le module "account_invoice_history" implémente cette technique pour
les factures.
Ces solutions ont l'avantage de limiter les copies et peuvent être
implémentées de façon modulaire sur n'importe quel modèle sans que
celui-ci ne doive être conçu pour.
--
Cédric Krier - B2CK SPRL
Email/Jabber:
cedric...@b2ck.com
Tel:
+32 472 54 46 59
Website:
http://www.b2ck.com/