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 :

Job pour calcul quotidien


Sujet :

Odoo (ex-OpenERP)

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Job pour calcul quotidien
    Bonjour,

    Je cherche à mettre à jour mes enregistrement de manièer quotidienne. J'ai crée un cron qui execute une méthode "_compute_fs_stock_dates" dans le modèle "fs.stock" mais même on le programmant toutes les minutes il ne se lance pas. J'ai certainnemet raté quelquechose !?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class fs_stock(osv.Model):
        _name = "fs.stock" 
        _columns = {  # describe my data
            'expirein3months': fields.integer('Expire dans 3 mois', readonly=True),
    
    .....
      @api.one
        @api.depends('stockentry_ids', 'stockentry_ids.unitprice', 'stockentry_ids.quantity' )
        def _compute_fs_stock_dates(self, cr, uid, context=None):
            print "starting of my cron"
           ....
    Code : 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
    18
    19
    <openerp>
        <data>
          ...ici j'ai déclaré mes menus, actions, etc...
            <!-- Cron job  -->
            <record forcecreate="True" id="ir_cron_stock_compute_dates" model="ir.cron">
                <field name="name">Stock Compute dates cron</field>
                <field eval="True" name="active" />
                <field name="user_id" ref="base.user_root" />
                <field name="interval_number">1</field>
                <field name="interval_type">minutes</field>
                <field name="numbercall">-1</field>
                <field eval="False" name="doall" />
                <field eval="'fs.stock'" name="model" />
                <field eval="'_compute_fs_stock_dates'" name="function" />
                <field eval="'()'" name="args" />
            </record>
        
        </data>
    </openerp>
    Merci pour votre aide.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    En fait j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dooDB openerp.addons.base.ir.ir_cron: Call of self.pool.get('fs.stock')._compute_fs_stock_dates(cr, uid, *()) failed in Job 14
    Traceback (most recent call last):
      File "C:\Program Files (x86)\Odoo 8.0-20150318\server\openerp\addons\base\ir\ir_cron.py", line 138, in _callback
      File "C:\Program Files (x86)\Odoo 8.0-20150318\server\.\openerp\api.py", line 241, in wrapper
    TypeError: old_api() takes at least 4 arguments (3 given)
    Ma méthode prend uniquement self:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        @api.one
        @api.depends('stockentry_ids', 'stockentry_ids.quantity' )
        def _compute_fs_stock_dates(self):
            print "starting of my cron"
    ....
    C'est une méthode qui est aussi utiliser ailleurs 'mauvaise idée peut être ?)

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 100
    Points : 114
    Points
    114
    Par défaut
    Bonjour,
    J'ai l'impression que la fonction est pas contente au niveau du nombre d'arguments reçu. Elle en reçoit 3 et elle en veut 4. Je pense qu'il manque le context à lui passer.

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