Přejít na obsah
Menu
This question has been flagged
2 Odpovědi
3103 Zobrazení

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
Zrušit
Nejlepší odpověď

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
Zrušit
Nejlepší odpověď

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
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
2
led 23
3450
1
bře 21
3760
1
pro 20
2247
6
kvě 19
7147
1
bře 15
7511