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


from odoo import models, fields, api, _


class ProductRejection(models.Model):

_name = 'product.rejection'

pr_type_of_order = fields.Selection([('SO', 'Sale Order'), ('PO', 'Purchase Order')], string="Order Type")
pr_customer_name = fields.Many2one('sale.order',string="Vendor/Customer")
pr_order_no = fields.Many2one('sale.order',string="PO/SO No.")
pr_rejection_date = fields.Date("Date Of Rejection")
pr_product_name = fields.Many2one('product.product',string='Product Name')
pr_presentation = fields.Char("Presentation")
pr_reason = fields.Text("Reason Of Rejection")
pr_notes = fields.Text("Receiving Notes")
pr_status = fields.Selection([('new','New'),('confirm','Confirmed')],string="Status")

@api.onchange('pr_type_of_order')
def update_customer(self):
result = {}
if self.pr_type_of_order == 'SO':
sale_customer_obj = self.env['sale.order']
sale_customer_ids = sale_customer_obj.search(['partner_id'])
for record in sale_customer_ids:
cust_name = []
cust_name.append(record.id)
result = {'domain': {'pr_customer_name': [('id', 'in', cust_name)]}}
return result
else:
if self.pr_type_of_order == 'PO':
sale_customer_obj = self.env['purchase.order']
sale_customer_ids = sale_customer_obj.search(['partner_id'])
for record in sale_customer_ids:
cust_name1 = []
cust_name1.append(record.id)
result = {'domain': {'pr_customer_name': [('id', 'in', cust_name1)]}}
return result






形象
丢弃
最佳答案

Hi Ashutosh,

You cannot show the records of the different objects in a single m2o field. Like you cannot show purchase.orders in the sale.order m2o field.

For that, you need to create two m2o fields (sale.order, purchase.order) for each object. Now, based on the selection field's value, you can hide those fields using attrs in the XML file.


形象
丢弃
最佳答案

@api.multi

形象
丢弃
编写者 最佳答案

I want to work it on onchange function. Please can you check my onchange function code. I think I'm missing something in that.

形象
丢弃
相关帖文 回复 查看 活动
2
4月 20
4614
1
4月 20
3580
2
9月 19
9177
2
6月 19
5631
0
6月 21
3388