summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/purchase_order.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2024-09-12 14:17:36 +0700
committerstephanchrst <stephanchrst@gmail.com>2024-09-12 14:17:36 +0700
commita37bc839612b5162b4446182ac23c1dfd1c3253e (patch)
tree6dc7020025cf6eeaea6bc86ce591fd269f34d0de /indoteknik_custom/models/purchase_order.py
parenta8e539c92236453ce7aad06d23cf117f4b7239fc (diff)
calculate margin after purchase delivery deduction
Diffstat (limited to 'indoteknik_custom/models/purchase_order.py')
-rwxr-xr-xindoteknik_custom/models/purchase_order.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py
index edcbbb19..afa67cf2 100755
--- a/indoteknik_custom/models/purchase_order.py
+++ b/indoteknik_custom/models/purchase_order.py
@@ -69,6 +69,17 @@ class PurchaseOrder(models.Model):
date_done_picking = fields.Datetime(string='Date Done Picking', compute='get_date_done')
bills_dp_id = fields.Many2one('account.move', string='Bills DP')
grand_total = fields.Monetary(string='Grand Total', help='Amount total + amount delivery', compute='_compute_grand_total')
+ total_margin_match = fields.Float(string='Total Margin Match', compute='_compute_total_margin_match')
+
+ def _compute_total_margin_match(self):
+ for purchase in self:
+ match = self.env['purchase.order.sales.match']
+ result = match.read_group(
+ [('purchase_order_id.id', '=', purchase.id)],
+ ['margin_item'],
+ []
+ )
+ purchase.total_margin_match = result[0].get('margin_item', 0.0)
def _compute_grand_total(self):
for order in self: