summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-05-30 15:11:42 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-05-30 15:11:42 +0700
commite3856970da63328c820833893c894f18dc6700bd (patch)
treea96e83315fd6516d70f7e86edd5340bddcd17e8a
parentab3b534beaaa9be924741e72c0280289fe6ac5a0 (diff)
<miqdad> fix bug total percent margin
-rwxr-xr-xindoteknik_custom/models/sale_order.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index fa570819..d1dc3324 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -403,14 +403,14 @@ class SaleOrder(models.Model):
if len(tax_sets) > 1:
raise ValidationError("Semua produk dalam Sales Order harus memiliki kombinasi pajak yang sama.")
- # @api.constrains('fee_third_party', 'delivery_amt', 'biaya_lain_lain')
+ # @api.constrains('fee_third_party', 'delivery_amt', 'biaya_lain_lain', 'ongkir_ke_xpdc')
# def _check_total_margin_excl_third_party(self):
# for rec in self:
# if rec.fee_third_party == 0 and rec.total_margin_excl_third_party != rec.total_percent_margin:
# # Gunakan direct SQL atau flag context untuk menghindari rekursi
# self.env.cr.execute("""
- # UPDATE sale_order
- # SET total_margin_excl_third_party = %s
+ # UPDATE sale_order
+ # SET total_margin_excl_third_party = %s
# WHERE id = %s
# """, (rec.total_percent_margin, rec.id))
# self.invalidate_cache()
@@ -1703,9 +1703,14 @@ class SaleOrder(models.Model):
else:
delivery_amt = 0
- # order.total_percent_margin = round((order.total_margin / (order.amount_untaxed-delivery_amt-order.fee_third_party)) * 100, 2)
+ net_margin = order.total_margin - order.biaya_lain_lain
+
order.total_percent_margin = round(
- (order.total_margin / (order.amount_untaxed - order.fee_third_party - order.biaya_lain_lain)) * 100, 2)
+ (net_margin / (order.amount_untaxed - order.fee_third_party)) * 100, 2)
+
+ # order.total_percent_margin = round((order.total_margin / (order.amount_untaxed-delivery_amt-order.fee_third_party)) * 100, 2)
+ # order.total_percent_margin = round(
+ # (order.total_margin / (order.amount_untaxed - order.fee_third_party - order.biaya_lain_lain)) * 100, 2)
# order.total_percent_margin = round((order.total_margin / (order.amount_untaxed)) * 100, 2)
@api.onchange('sales_tax_id')