在销售应用程序中,在创建新报价时,我为特定客户添加了价格表,在添加产品时,单价会根据所选的价格表自动更新。我想在手动更改价格时,如果单价低于价格表定义的单价,我想请求管理员批准。我怎么在odoo 15里做到这一点?
首先,假设我们有一个名为product_id
的字段,它将包含用户选择的产品。
假设您已经为您的手动价格定义了字段(我们称之为manual_price),您稍后可以定义self.env[]
来调用您定义的价格表模型。从这个self.env
中,您可以执行.search
来访问该模型中的所有记录,以根据输入的product_id
找到您的价格。
之后,您可以定义@api.onchange function
来监督用户的更改。从这个函数中,您可以定义"比较"。用我们之前获取的self.env
结果替换manual_price
。
这可能不完全工作,但我希望你得到的想法:
product_id = fields.Many2one("Product Name")
the_pricelist = self.env['product.pricelist.item'].search([('product_id', '=', product_id.id)
manual_price = fields.String("Sales Price")
@api.onchange('manual_price')
def check_the_changes(self):
if self.manual_price < the_pricelist.fixed_price:
raise UserError('The selected price is less than defined in
pricelist. please contact admin.')