diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-07-03 10:54:09 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-07-03 10:54:09 +0700 |
| commit | cd8a7d922a93944c1d79cf0576523554f6a8bc0f (patch) | |
| tree | 90c8239395a0a0b1f69d9a1b25a7831d7aac135a | |
| parent | 7be7fa7270fba7bca47a1838ef569710875960f0 (diff) | |
change request purchase_price and purchase_tax_id sale order line
| -rw-r--r-- | indoteknik_custom/models/sale_order_line.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/indoteknik_custom/models/sale_order_line.py b/indoteknik_custom/models/sale_order_line.py index d362d573..1fee041d 100644 --- a/indoteknik_custom/models/sale_order_line.py +++ b/indoteknik_custom/models/sale_order_line.py @@ -115,25 +115,33 @@ class SaleOrderLine(models.Model): [('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') - self.purchase_price = self._get_valid_purchase_price(purchase_price) + price, taxes = self._get_valid_purchase_price(purchase_price) + 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') - self.purchase_price = self._get_valid_purchase_price(purchase_price) - self.purchase_tax_id = 22 + price, taxes = self._get_valid_purchase_price(purchase_price) + self.purchase_price = price + self.purchase_tax_id = taxes def _get_valid_purchase_price(self, purchase_price): price = 0 + taxes = '' human_last_update = purchase_price.human_last_update or datetime.min system_last_update = purchase_price.system_last_update or datetime.min + + if purchase_price.taxes_product_id.type_tax_use == 'purchase': + price = purchase_price.product_price + taxes = purchase_price.taxes_product_id.id if system_last_update > human_last_update: - price = purchase_price.system_price - else: - price = purchase_price.product_price + if purchase_price.taxes_system_id.type_tax_use == 'purchase': + price = purchase_price.system_price + taxes = purchase_price.taxes_system_id.id - return price or 0 + return price, taxes @api.onchange('product_id') def product_id_change(self): @@ -148,7 +156,8 @@ class SaleOrderLine(models.Model): query, limit=1, order='count_trx_po desc, count_trx_po_vendor desc') line.vendor_id = purchase_price.vendor_id line.tax_id = line.order_id.sales_tax_id - line.purchase_price = line._get_valid_purchase_price(purchase_price) + price, taxes = line._get_valid_purchase_price(purchase_price) + line.purchase_price = price line_name = ('[' + line.product_id.default_code + ']' if line.product_id.default_code else '') + ' ' + (line.product_id.name if line.product_id.name else '') + ' ' + \ ('(' + line.product_id.product_template_attribute_value_ids.name + ')' if line.product_id.product_template_attribute_value_ids.name else '') + ' ' + \ |
