Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
3106 Vistas

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
Mejor respuesta

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
Mejor respuesta

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
Publicaciones relacionadas Respuestas Vistas Actividad
2
ene 23
3455
1
mar 21
3788
1
dic 20
2248
6
may 19
7160
1
mar 15
7519