Le jeudi 21 janvier 2016 11:10:05 UTC+1, Cédric Krier a écrit :
>
> On 2016-01-21 01:30, Fabien Castarède wrote: 
> > Bonjour, 
> > 
> > Je souhaitais avoir votre avis sur la nécessité ou pas que les données 
> d'un 
> > document soient indépendantes des relations de ce document, une fois que 
> ce 
> > document a été validé. Par exemple, une facture dont l'état est 
> "Validée", 
> > "Postée", ou "Payée". Ou une vente qui a été validée. Aujourd'hui je 
> > remarque que je n'ai pas la possibilité de supprimer une adresse d'un 
> tiers 
> > qui a été utilisée dans une vente ou une facture (normal puisqu'elle est 
> > liée à ces documents). Par contre, je peux la modifier et lorsque 
> j'ouvre 
> > une facture qui a utilisé cette adresse, l'adresse affichée comporte la 
> > modification (normal puisque c'est l'adresse liée). En revanche le 
> rapport 
> > qui a été généré avant la modification n'est pas altéré. 
> > 
> > Il me semble qu'un document, une fois validé, ne devrait plus pouvoir 
> être 
> > altéré. Cela permettrait également de supprimer ou modifier des 
> > informations qui ne sont plus à jour dans des entités d'origine liées à 
> ce 
> > document. Par exemple, une adresse qui n'est plus utilisée par un tiers, 
> on 
> > aurait la possibilité de la supprimer (ou de la modifier), au lieu d'en 
> > créer une nouvelle et de garder l'ancienne qui n'est plus valide, sans 
> > altérer les documents qui ont utilisé cette adresse (qui était valide à 
> ce 
> > moment là). 
> > 
> > Qu'en pensez-vous ? 
>
> 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.


Ok, donc on n'utilise pas la fonction de suppression d'un enregistrement, 
mais on le rend "inactif" en décochant le champ "Actif". Ça marche
 

>
>     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. 


Merci pour ta réponse. Excellent.

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
tryton-fr.
Cette discussion peut être lue sur le Web à l'adresse 
https://groups.google.com/d/msgid/tryton-fr/70f3cd79-71f7-4a94-8632-46f78e65c0e0%40googlegroups.com.

Répondre à