This question has been flagged
3 Replies
6441 Views

Hi,


I am trying to print invoices into an excel sheet report. When a user has selected more than one company, I would like to print out all the records from these companies.
This is the code I am using to the active company:

active_company = self.env.company
This always returns one company even when more than one company is selected. How can I get a list of all the selected companies in odoo 13 to use that for filtering invoices

Thanks in advance for you assistance.


How can I list the currently selected companies

Avatar
Discard
Author Best Answer

I figured a way to get a list of allowed companies in a multi-company setup

view_context = self.env.context

allowed_companies = view_context.get('allowed_company_ids', False)


The allowed companies should return a list/array of ids of the currently active companies. eg [1,2]

Avatar
Discard
Best Answer

Hi, 

You can see following for this:

https://youtu.be/GkNgc-fZO-I

Hope it helps,

Thanks

Avatar
Discard
Best Answer

Hi,

active_company = self.env.company

active_company value gives you the details of the company that you as a user have logged in.That is why its returning only one companies details.
You can get the list of companies from the many2many field that you use for selecting the companies.

Regards

Avatar
Discard