跳至内容
菜单
此问题已终结
1 回复
4103 查看

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.

形象
丢弃
相关帖文 回复 查看 活动
1
6月 21
2809
1
4月 21
1926
7
3月 24
34381
0
7月 25
353
2
6月 25
488