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 :

Lancer une action report depuis une méthode [V11]


Sujet :

Odoo (ex-OpenERP)

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2020
    Messages : 17
    Points : 15
    Points
    15
    Par défaut Lancer une action report depuis une méthode
    Bonjour,

    J'ai une méthode que j'appelle depuis une action server en code python, pour lancer un rapport en appelant une action report ça donne :
    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     @api.multi
        def _print_brockers_report(self):
            _logger.info(msg=" launch report print : ")
            data = {
                'ids': self.ids,
                'model': self._name,
     
            }
            _logger.info(msg=" ids : "+str(self.ids))
            return self.env.ref('a_w_2.invoice_account_invoices').report_action(self, data=data)
    J'ai vérifié j'ai bien mes ids dans le dictionnaire data, mais le rapport ne se lance pas.
    Je pense que le rapport de se lance pas parce qu'il doit me manquer des paramètres cependant je ne trouve pas de doc la dessus ?
    Est ce qu'il y a une autre méthode ?

    cdt

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2020
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    D'après ce que j'ai compris, il semblerait que ce code doivent fonctionner uniquement sur la version odoo enterprise, et pas la version community...Reste à savoir si il y a une autre possibilité pour lancer un report?

  3. #3
    Membre régulier
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mars 2019
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 50
    Points : 72
    Points
    72
    Par défaut
    L'idéal est de toujours regarder ce qui est fait pour s'en inspirer.

    voici tout les endroits ou on utilise report_action dans le code de base (en v12 car pas de repo v11 sous la main).

    Cela te donnera déjà un indice. Et pour moi aucune raison que cela ne marche que en entreprise.

    server/addons/account/models/account_invoice.py: return self.env.ref('account.account_invoices').report_action(self)
    server/addons/account/models/account_invoice.py: return self.env.ref('account.account_invoices_without_payment').report_action(self)
    server/addons/account/wizard/account_report_print_journal.py: return self.env.ref('account.action_report_journal').with_context(landscape=True).report_action(self, data=data)
    server/addons/hr_holidays/tests/test_holidays_flow.py: test_reports.try_report_action(self.env.cr, self.env.uid, 'action_hr_holidays_summary_dept', wiz_data=data_dict, context=ctx, our_module='hr_holidays')
    server/addons/hr_holidays/tests/test_holidays_flow.py: test_reports.try_report_action(self.env.cr, self.env.uid, 'action_hr_holidays_summary_employee', wiz_data=data_dict, context=ctx, our_module='hr_holidays')
    server/addons/hr_holidays/wizard/hr_holidays_summary_department.py: return self.env.ref('hr_holidays.action_report_holidayssummary').with_context(from_transient_model=True).report_action(departments, data=datas)
    server/addons/hr_holidays/wizard/hr_holidays_summary_employees.py: return self.env.ref('hr_holidays.action_report_holidayssummary').report_action(employees, data=datas)
    server/addons/hr_payroll/tests/test_payslip_flow.py: test_reports.try_report_action(self.env.cr, self.env.uid, 'action_payslip_lines_contribution_register', context=context, our_module='hr_payroll')
    server/addons/hr_payroll/wizard/hr_payroll_contribution_register_report.py: return self.env.ref('hr_payroll.action_contribution_register').report_action([], data=datas)
    server/addons/l10n_ch/models/account_invoice.py: return self.env.ref('l10n_ch.l10n_ch_isr_report').report_action(self)
    server/addons/l10n_ch/models/account_invoice.py: return self.env.ref('l10n_ch.l10n_ch_qr_report').report_action(self)
    server/addons/l10n_in_hr_payroll/wizard/hr_salary_employee_bymonth.py: return self.env.ref('l10n_in_hr_payroll.action_report_hrsalarybymonth').report_action(self, data=data)
    server/addons/l10n_in_hr_payroll/wizard/hr_yearly_salary_detail.py: return self.env.ref('l10n_in_hr_payroll.action_report_hryearlysalary').report_action(self, data=data)
    server/addons/point_of_sale/wizard/pos_details.py: return self.env.ref('point_of_sale.sale_details_report').report_action([], data=data)
    server/addons/product/tests/test_product_pricelist.py: test_reports.try_report_action(self.cr, self.uid, 'action_product_price_list', wiz_data=data_dict, context=ctx, our_module='product')
    server/addons/product/wizard/product_price_list.py: return self.env.ref('product.action_report_pricelist').report_action([], data=datas)
    server/addons/purchase/models/purchase.py: return self.env.ref('purchase.report_purchase_quotation').report_action(self)
    server/addons/repair/models/repair.py: return self.env.ref('repair.action_report_repair_order').report_action(self)
    server/addons/sale/models/sale.py: .with_context(discard_logo_check=True).report_action(self)
    server/addons/stock/models/stock_picking.py: return self.env.ref('stock.action_report_picking').report_action(self)
    server/addons/stock/wizard/stock_rules_report.py: return self.env.ref('stock.action_report_stock_rule').report_action(None, data=data)
    server/addons/stock_picking_batch/models/stock_picking_batch.py: return self.env.ref('stock_picking_batch.action_report_picking_batch').report_action(self)
    server/odoo/addons/base/models/ir_actions_report.py: def report_action(self, docids, data=None, config=True):
    server/odoo/addons/base/models/res_company.py: .report_action(docids))


    Pour info j'ai eu ceci avec un git grep report_action | grep py

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2020
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Effectivement ça devrait marcher, cependant je pense qu'il manque une dépendance au module, (j'imagine que le contrôleur manque) je testerais lorsque j'aurais le temps....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer une méthode java script depuis un bouton
    Par Blunt dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/01/2012, 15h25
  2. [JFrame] lancer une méthode lors d'un clic sur la croix rouge
    Par Mushu74 dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 17/06/2008, 15h55
  3. Réponses: 3
    Dernier message: 19/03/2008, 09h38
  4. lancer une méthode de la page parente
    Par kastor_lapon dans le forum ASP.NET
    Réponses: 2
    Dernier message: 29/05/2007, 17h15
  5. Lancer une méthode d'une classe Owner
    Par akabane dans le forum Delphi
    Réponses: 4
    Dernier message: 19/05/2006, 00h17

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