summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2023-09-26 16:41:03 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2023-09-26 16:41:03 +0700
commit41d40976a4400d973a5d3b627196a303cfd0d712 (patch)
treedbf604d34c0290ab9a13078818a8e0b061c10a30
parentc86979fd504ee06dc19c69797159a13295b0c809 (diff)
fix compute margin total
-rwxr-xr-xindoteknik_custom/models/purchase_order.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py
index 6654bfd2..8ad25228 100755
--- a/indoteknik_custom/models/purchase_order.py
+++ b/indoteknik_custom/models/purchase_order.py
@@ -344,9 +344,13 @@ class PurchaseOrder(models.Model):
def compute_total_margin(self):
sum_so_margin = sum_sales_price = sum_margin = 0
for line in self.order_line:
- sale_order_line = self.env['sale.order.line'].search(
- [('id', '=', line.so_line_id.id),
- ('order_id', '=', line.order_id.sale_order_id.id)], limit=1, order='price_reduce_taxexcl')
+ sale_order_line = line.so_line_id
+ if not sale_order_line:
+ sale_order_line = self.env['sale.order.line'].search([
+ ('product_id', '=', line.product_id.id),
+ ('order_id', '=', line.order_id.sale_order_id.id)
+ ], limit=1, order='price_reduce_taxexcl')
+
sum_so_margin += sale_order_line.item_margin
sales_price = sale_order_line.price_reduce_taxexcl * sale_order_line.product_uom_qty
if sale_order_line.order_id.shipping_cost_covered == 'indoteknik':