Parfois, nos utilisateurs d'Openerp veulent effectuer une petite modification dans un champ dans un module Core Openerp. Par exemple, ils veulent que le rack, la rangée et les champs de cas d'écran du produit soit plus de 16 caractères. P>
Puis-je modifier un champ existant sans modifier le module qui l'a déclaré? Je préfère faire les modifications à l'aide de notre propre module personnalisé, au lieu d'éditer le module code> du produit code> lui-même. P>
3 Réponses :
J'ai ce travail, mais j'espère que quelqu'un d'autre connaît une manière plus propre.
Vous pouvez hériter de la classe du module de base dans votre module personnalisé, puis déclarez simplement un nouveau champ avec le même nom que celui que vous voulez changer. Essentiellement, copiez simplement la déclaration de champ à partir du module principal, collez-la dans votre module personnalisé, puis apportez les modifications souhaitées. Par exemple, notre la raison i N'aime pas que ceci est que vous avez maintenant une duplication pour tous les autres attributs du champ. Si vous modifiez la longueur de champ, puis le module de base change le texte d'aide, vous aurez toujours l'ancien texte d'aide. J'espérais qu'il y aurait une manière que les modules se chargent d'entrer et d'ajuster les attributs de champ de votre parent, mais je n'ai pas pu trouver de crochets au bon moment. P> Un changement que vous peut faire plus facilement la valeur par défaut d'un champ. Il suffit de déclarer une valeur par défaut pour le champ du module principal dans votre module personnalisé et remplacera la valeur par défaut d'origine. Par exemple, nous avons modifié les valeurs par défaut pour produit_notes code> Module élargie les champs de rack, de rangée et de cas à 255 de le produit code> du module 16. p> Sale_Delay code> et de ceux dans Le produit code> Module code> . p> produit_delay code>
Pour autant que je sache, c'est la seule façon de le faire. J'utilise ces "surcharges sur le terrain" dans les modules personnalisés pour changer les noms de champs et aider les textes, mais je le fais sans réfléchir deux fois. Quant aux valeurs par défaut, je pense que la plupart du temps la fonctionnalité "Définir par défaut" est plus adéquate.
@Danielreis connaissez-vous une autre solution autre solution cette simple surcharge?
Dans Odoo, nous pouvons modifier tout attribut d'un champ utilisant XML. mais un cas comme étendre la taille d'un champ est a échoué. p> p>
Vous devez hériter du formulaire de produit.
Vous allez ici. p> en mots simples, il vous suffit de remplacer le champ et d'appliquer vos modifications d'attribut qu'il va réfléchir. p> p>