历史销售订单价格问题
This commit is contained in:
29
sf_mrs_connect/models/order_price.py
Normal file
29
sf_mrs_connect/models/order_price.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from odoo import fields, models, api
|
||||
|
||||
|
||||
class OrderPrice(models.Model):
|
||||
_name = 'order.price'
|
||||
_description = '订单价格对比'
|
||||
sale_order_id = fields.Many2one('sale.order', '销售订单')
|
||||
bfm_order_name = fields.Char(related="sale_order_id.default_code", string='bfm订单号')
|
||||
sale_order_name = fields.Char(related="sale_order_id.name", string='销售订单号')
|
||||
currency_id = fields.Many2one(
|
||||
related='sale_order_id.currency_id', string='货币', store=True)
|
||||
sale_order_amount_total = fields.Monetary(related="sale_order_id.amount_total", tracking=4, string='销售订单金额')
|
||||
bfm_amount_total = fields.Float(string='价格合计', compute='_compute_bfm_amount_total', store=True)
|
||||
|
||||
def is_float(self,value):
|
||||
try:
|
||||
float(value)
|
||||
return True
|
||||
except ValueError:
|
||||
return False
|
||||
@api.depends('sale_order_id.remark')
|
||||
def _compute_bfm_amount_total(self):
|
||||
for record in self:
|
||||
amount_total = 0
|
||||
for line in record.sale_order_id.order_line:
|
||||
# 判断remark是否存在并且是否是数字
|
||||
if line.remark and self.is_float(line.remark):
|
||||
amount_total += float(line.remark)
|
||||
record.bfm_amount_total = amount_total
|
||||
Reference in New Issue
Block a user