Skip to Content
Menu
This question has been flagged
2 Replies
2335 Views

hello odoo developers,

when i code like this line

fields.Many2one('stock.warehouse', string='My ware houses', store=True)

i got just  my  company  warehouses  and  i  want  all  warehouses  even  warehouses  of  other  branches



Avatar
Discard
Best Answer

Hi,

your code is correct except for the check_company=False option.

you can try in another way:

from odoo import api, models, fields
import logging
_logger = logging.getLogger(__name__)
def _get_all_company(self):
  company_search_id = self.env['stock.warehouse'].search([], order = 'id desc')
for lines in company_search_id:
if lines.id:
_logger.info('lines: ' + str(lines.name))

the lines. name is the company name.

When you can get all the company names, you can use it as a var to process your logic.

Hope it helps.

Avatar
Discard
Best Answer

Hi,

I have tried your code and, I am getting the warehouses of all companies.
If you have company_id in the form, try this:

warehouse_id = fields.Many2one('stock.warehouse', string='My ware houses', check_company=False, store=True)
If you don't have the company_id in the model and form, just add it.

company_id = fields.Many2one('res.company', 'Company', required=True, default=lambda self: self.env.company.id)
XML:
< field name="warehouse_id" />
< field name="company_id" invisible="1"/>
*Ignore the space(' ') after <

Hope it helps

Avatar
Discard
Related Posts Replies Views Activity
2
Jan 23
1722
1
Mar 21
1864
1
Dec 20
1229
6
May 19
5661
1
Mar 15
5859