mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-19 04:59:18 +00:00
fix: Rate forcing in sales order
This commit is contained in:
@@ -311,7 +311,7 @@ class SellingController(StockController):
|
|||||||
sales_order.update_reserved_qty(so_item_rows)
|
sales_order.update_reserved_qty(so_item_rows)
|
||||||
|
|
||||||
def set_incoming_rate(self):
|
def set_incoming_rate(self):
|
||||||
if self.doctype not in ("Delivery Note", "Sales Invoice"):
|
if self.doctype not in ("Delivery Note", "Sales Invoice", "Sales Order"):
|
||||||
return
|
return
|
||||||
|
|
||||||
items = self.get("items") + (self.get("packed_items") or [])
|
items = self.get("items") + (self.get("packed_items") or [])
|
||||||
@@ -321,10 +321,10 @@ class SellingController(StockController):
|
|||||||
d.incoming_rate = get_incoming_rate({
|
d.incoming_rate = get_incoming_rate({
|
||||||
"item_code": d.item_code,
|
"item_code": d.item_code,
|
||||||
"warehouse": d.warehouse,
|
"warehouse": d.warehouse,
|
||||||
"posting_date": self.posting_date,
|
"posting_date": self.get('posting_date') or self.get('transaction_date'),
|
||||||
"posting_time": self.posting_time,
|
"posting_time": self.get('posting_time'),
|
||||||
"qty": -1 * flt(d.get('stock_qty') or d.get('actual_qty')),
|
"qty": -1 * flt(d.get('stock_qty') or d.get('actual_qty')),
|
||||||
"serial_no": d.serial_no,
|
"serial_no": d.get('serial_no'),
|
||||||
"company": self.company,
|
"company": self.company,
|
||||||
"voucher_type": self.doctype,
|
"voucher_type": self.doctype,
|
||||||
"voucher_no": self.name,
|
"voucher_no": self.name,
|
||||||
@@ -332,10 +332,12 @@ class SellingController(StockController):
|
|||||||
}, raise_error_if_no_rate=False)
|
}, raise_error_if_no_rate=False)
|
||||||
|
|
||||||
# For internal transfers use incoming rate as the valuation rate
|
# For internal transfers use incoming rate as the valuation rate
|
||||||
if self.get('is_internal_customer') and d.get('target_warehouse'):
|
if self.get('is_internal_customer'):
|
||||||
rate = flt(d.incoming_rate * d.conversion_factor, d.precision('rate'))
|
rate = flt(d.incoming_rate * d.conversion_factor, d.precision('rate'))
|
||||||
if d.rate != rate:
|
if d.rate != rate:
|
||||||
d.rate = rate
|
d.rate = rate
|
||||||
|
d.discount_percentage = 0
|
||||||
|
d.discount_amount = 0
|
||||||
frappe.msgprint(_("Row {0}: Item rate has been updated as per valuation rate since its an internal stock transfer")
|
frappe.msgprint(_("Row {0}: Item rate has been updated as per valuation rate since its an internal stock transfer")
|
||||||
.format(d.idx), alert=1)
|
.format(d.idx), alert=1)
|
||||||
|
|
||||||
|
|||||||
@@ -107,6 +107,8 @@
|
|||||||
"tc_name",
|
"tc_name",
|
||||||
"terms",
|
"terms",
|
||||||
"more_info",
|
"more_info",
|
||||||
|
"is_internal_customer",
|
||||||
|
"represents_company",
|
||||||
"inter_company_order_reference",
|
"inter_company_order_reference",
|
||||||
"project",
|
"project",
|
||||||
"party_account_currency",
|
"party_account_currency",
|
||||||
@@ -1455,13 +1457,28 @@
|
|||||||
"hide_seconds": 1,
|
"hide_seconds": 1,
|
||||||
"label": "Skip Delivery Note",
|
"label": "Skip Delivery Note",
|
||||||
"print_hide": 1
|
"print_hide": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "0",
|
||||||
|
"fetch_from": "customer.is_internal_customer",
|
||||||
|
"fieldname": "is_internal_customer",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Is Internal Customer",
|
||||||
|
"read_only": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fetch_from": "customer.represents_company",
|
||||||
|
"fieldname": "represents_company",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"label": "Represents Company",
|
||||||
|
"options": "Company"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"icon": "fa fa-file-text",
|
"icon": "fa fa-file-text",
|
||||||
"idx": 105,
|
"idx": 105,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2020-10-30 13:59:18.628077",
|
"modified": "2021-01-10 20:49:51.118079",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Selling",
|
"module": "Selling",
|
||||||
"name": "Sales Order",
|
"name": "Sales Order",
|
||||||
|
|||||||
Reference in New Issue
Block a user