IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Odoo (ex-OpenERP) Discussion :

Script pour la mise à jour d'une sequence


Sujet :

Odoo (ex-OpenERP)

  1. #1
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2013
    Messages : 121
    Points : 87
    Points
    87
    Par défaut Script pour la mise à jour d'une sequence
    Bonjour,

    Pour mes produits, j'ai créé une fonction permettant la création d'une sequence pour chaque produits créés.

    Maintenant, j'aimerai pouvoir mettre à jour mes produits déjà existants à l'aide d'un script afin que, pour les prochains qui seront créés, ma fonction parte du bon numéro.

    Quelqu'un a-t-il une idée ?

    D'avance un grand merci.

    JMB

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Bonjour,

    Tu peux mettre un init() dans ton module. Il sera exécuté à l'installation ou à la mise à jour du module.
    Il ne faut pas oublier de le passer en commentaire ensuite pour pas qu'il s'exécute à chaque MAJ du module

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    from openerp import SUPERUSER_ID
     
    def init(self, cr):
        obj_product = self.pool.get('product.product')
        product_ids = obj_product.search(self, cr, SUPERUSER_ID, [])
     
        i = 1
        for pid in product_ids:
            obj_product.write(cr, SUPERUSER_ID, [pid], {'sequence' : i})
            i += 1
     
        # MAJ de la séquence
        obj_sequence = self.pool.get('ir.sequence')
        sequence_ids = obj_sequence.search(self, cr, SUPERUSER_ID, [('name', '=', 'Nom de la sequence')])
     
        if sequence_ids:
            obj_sequence.write(cr, SUPERUSER_ID, sequence_ids[0], {'number_next' : i})

    Je n'ai pas testé, j'ai fait de tête, donc il faut vérifier l'indentation et le code, mais ça devrait fonctionner.
    Il faut utiliser l'ID de l'admin avec SUPERUSER_ID

    Tu rajoutes ce code dans ton module (.py) et tu le mets à jour. Fais une sauvegarde avant

  3. #3
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2013
    Messages : 121
    Points : 87
    Points
    87
    Par défaut
    Merci pour ta réponse.

    Je vais tester mais, étant donné que ma modif vient d'un patch et que je n'ai pas créé de module en héritage, je ne sais pas si ça marchera.

    A priori j'imaginais plutôt une requête SQL...

    Feedback après tests !

  4. #4
    Membre éprouvé
    Avatar de Gandalf24
    Homme Profil pro
    Integrateur Odoo
    Inscrit en
    Mai 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Integrateur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 481
    Points : 1 013
    Points
    1 013
    Par défaut
    Salut,

    Pour une mise a jour SQL, un petit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update ir_sequence set number_text = 'ta_nouvelle_valeur' where name = 'nom de la sequence'
    devrait fonctionner

    a+

  5. #5
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Ce n'est pas la bonne requête SQL.

    Il faut enregistrer la valeur de la séquence dans les produits en partant de 1 et en incrémentant de 1 à chaque row puis ensuite seulement mettre ir.sequence à jour

  6. #6
    Membre éprouvé
    Avatar de Gandalf24
    Homme Profil pro
    Integrateur Odoo
    Inscrit en
    Mai 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Integrateur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 481
    Points : 1 013
    Points
    1 013
    Par défaut
    Ouiap,

    Autant pour moi, pas bien lu le sujet.



    a+

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/08/2014, 13h12
  2. Script pour la mise à jour automatique de Nagios
    Par Spoutnik49 dans le forum Programmation et administration système
    Réponses: 3
    Dernier message: 27/01/2014, 22h52
  3. Requête pour la mise à jour d'une table
    Par pharminticien dans le forum SQL
    Réponses: 16
    Dernier message: 14/10/2013, 11h18
  4. Réponses: 6
    Dernier message: 25/01/2012, 21h11
  5. Réponses: 2
    Dernier message: 24/11/2006, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo