summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xindoteknik_custom/models/purchase_order.py29
1 files changed, 15 insertions, 14 deletions
diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py
index faf0955d..6d02038d 100755
--- a/indoteknik_custom/models/purchase_order.py
+++ b/indoteknik_custom/models/purchase_order.py
@@ -944,20 +944,21 @@ class PurchaseOrder(models.Model):
def compute_total_margin_from_apo(self):
sum_so_margin = sum_sales_price = sum_margin = 0
for line in self.order_line:
- 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.so_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':
- sales_price -= sale_order_line.delivery_amt_line
- if sale_order_line.order_id.fee_third_party > 0:
- sales_price -= sale_order_line.fee_third_party_line
- sum_sales_price += sales_price
+ sales_order_line = self.env['purchase.order.sales.match'].search([
+ ('product_id', '=', line.product_id.id),
+ ('order_id', '=', line.so_id.id)
+ ])
+
+ for so_line in sales_order_line:
+ sale_order_line = so_line.sale_line_id
+ 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':
+ sales_price -= sale_order_line.delivery_amt_line
+ if sale_order_line.order_id.fee_third_party > 0:
+ sales_price -= sale_order_line.fee_third_party_line
+ sum_sales_price += sales_price
+
purchase_price = line.price_subtotal
if line.order_id.total_delivery_amt > 0 and line.order_id.total_cost_service > 0:
if line.taxes_id.id == 22: