Skip to Content
Menú
This question has been flagged
2 Respostes
3092 Vistes

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
Descartar
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
Descartar
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
Descartar
Related Posts Respostes Vistes Activitat
2
de gen. 23
3443
1
de març 21
3754
1
de des. 20
2241
6
de maig 19
7138
1
de març 15
7504