diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-10-15 12:08:34 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-10-15 12:08:34 +0700 |
| commit | b6bf4c8b58b9311c6a6cf7f745cb42b025159759 (patch) | |
| tree | b72f906ee03611acbd0d7eacfb29442469769d03 | |
| parent | 4502ebb5452b150b5e36175bb7900bace760e9f4 (diff) | |
<Miqdad> SO line onchange vendor id
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 18 | ||||
| -rw-r--r-- | indoteknik_custom/models/sale_order_line.py | 46 |
2 files changed, 32 insertions, 32 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 3bd1ca59..a5e2f7c4 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -3230,10 +3230,10 @@ class SaleOrder(models.Model): # order._auto_set_shipping_from_website() order._compute_etrts_date() order._validate_expected_ready_ship_date() - for line in order.order_line: - updated_vals = line._update_purchase_info() - if updated_vals: - line.write(updated_vals) + # for line in order.order_line: + # updated_vals = line._update_purchase_info() + # if updated_vals: + # line.write(updated_vals) # order._validate_delivery_amt() # order._check_total_margin_excl_third_party() # order._update_partner_details() @@ -3365,11 +3365,11 @@ class SaleOrder(models.Model): if any(field in vals for field in ["order_line", "client_order_ref"]): self._calculate_etrts_date() - for order in self: - for line in order.order_line: - updated_vals = line._update_purchase_info() - if updated_vals: - line.write(updated_vals) + # for order in self: + # for line in order.order_line: + # updated_vals = line._update_purchase_info() + # if updated_vals: + # line.write(updated_vals) return res diff --git a/indoteknik_custom/models/sale_order_line.py b/indoteknik_custom/models/sale_order_line.py index 12e7e6f9..bd2600ae 100644 --- a/indoteknik_custom/models/sale_order_line.py +++ b/indoteknik_custom/models/sale_order_line.py @@ -247,29 +247,29 @@ class SaleOrderLine(models.Model): margin_per_item = sales_price - purchase_price line.item_before_margin = margin_per_item - # @api.onchange('vendor_id') - # def onchange_vendor_id(self): - # # TODO : need to change this logic @stephan - # if not self.product_id or self.product_id.type == 'service': - # return - # elif self.product_id.categ_id.id == 34: # finish good / manufacturing only - # cost = self.product_id.standard_price - # self.purchase_price = cost - # elif self.product_id.x_manufacture.override_vendor_id: - # # purchase_price = self.env['purchase.pricelist'].search( - # # [('vendor_id', '=', self.product_id.x_manufacture.override_vendor_id.id), - # # ('product_id', '=', self.product_id.id)], - # # limit=1, order='count_trx_po desc, count_trx_po_vendor desc') - # price, taxes, vendor_id = self._get_purchase_price_by_vendor(self.product_id, self.vendor_id) - # self.purchase_price = price - # self.purchase_tax_id = taxes - # # else: - # # purchase_price = self.env['purchase.pricelist'].search( - # # [('vendor_id', '=', self.vendor_id.id), ('product_id', '=', self.product_id.id)], - # # limit=1, order='count_trx_po desc, count_trx_po_vendor desc') - # # price, taxes = self._get_valid_purchase_price(purchase_price) - # # self.purchase_price = price - # # self.purchase_tax_id = taxes + @api.onchange('vendor_id') + def onchange_vendor_id(self): + # TODO : need to change this logic @stephan + if not self.product_id or self.product_id.type == 'service': + return + elif self.product_id.categ_id.id == 34: # finish good / manufacturing only + cost = self.product_id.standard_price + self.purchase_price = cost + elif self.product_id.x_manufacture.override_vendor_id: + # purchase_price = self.env['purchase.pricelist'].search( + # [('vendor_id', '=', self.product_id.x_manufacture.override_vendor_id.id), + # ('product_id', '=', self.product_id.id)], + # limit=1, order='count_trx_po desc, count_trx_po_vendor desc') + price, taxes, vendor_id = self._get_purchase_price_by_vendor(self.product_id, self.vendor_id) + self.purchase_price = price + self.purchase_tax_id = taxes + # else: + # purchase_price = self.env['purchase.pricelist'].search( + # [('vendor_id', '=', self.vendor_id.id), ('product_id', '=', self.product_id.id)], + # limit=1, order='count_trx_po desc, count_trx_po_vendor desc') + # price, taxes = self._get_valid_purchase_price(purchase_price) + # self.purchase_price = price + # self.purchase_tax_id = taxes # def _calculate_selling_price(self): # rec_purchase_price, rec_taxes, rec_vendor_id = self._get_purchase_price(self.product_id) |
