Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
1 Відповісти
4387 Переглядів

How can  i assign a vendor a certain warehouse to deliver to  in odoo 13?

Аватар
Відмінити
Найкраща відповідь

Hi Yash,

There is no default option to do the mentioned process. But we can do a modification in both the vendor model and purchase module to set a default warehouse for a vendor.

First, let's inherit the 'res.partner' to add a new field to select the warehouse operation

class DefaultWarehouse(models.Model):
_inherit = 'res.partner'

default_warehouse_id = fields.Many2one('stock.picking.type',                         string="DefaultWarehouse",domain=[('code', '=', 'incoming')])


Then let's add this in the view 

<record id="default_warehouse" model="ir.ui.view">
  <field name="name">default.warehouse</field>
  <field name="model">res.partner</field>
  <field name="inherit_id" ref="base.view_partner_form"/>
  <field name="arch" type="xml">
  <xpath expr="//group[@name='purchase']" position="inside">
  <field name="default_warehouse_id"/>
  </xpath>
  </field>
</record>

Next, we can inherit the purchase.order model so that when we select a vendor the delivery location will get assigned automatically

class PurchaseOrder(models.Model):
  _inherit = 'purchase.order'

    @api.onchange('partner_id')
    def get_warehouse(self):
        if self.partner_id.default_warehouse_id:
            self.picking_type_id = self.partner_id.default_warehouse_id

Like this, we can assign a default warehouse for a vendor. Hope this helps. Thank you.

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
1
черв. 21
2996
1
квіт. 21
2080
7
бер. 24
35143
2
вер. 25
317
1
серп. 25
377