fix: set_missing_values in SE and re-use the same on all SE mappings
- `set_missing_values` in SE will set actual qty, transfer qty and calculate rate/amount
- Re-use `set_missing_values` wherever SE is doc is being mapped
(cherry picked from commit 90a8e924f5)
This commit is contained in:
@@ -637,6 +637,8 @@ def make_rm_stock_entry(purchase_order, rm_items):
|
||||
}
|
||||
}
|
||||
stock_entry.add_to_stock_entry_detail(items_dict)
|
||||
|
||||
stock_entry.set_missing_values()
|
||||
return stock_entry.as_dict()
|
||||
else:
|
||||
frappe.throw(_("No Items selected for transfer"))
|
||||
@@ -724,7 +726,7 @@ def make_return_stock_entry_for_subcontract(available_materials, po_doc, po_deta
|
||||
add_items_in_ste(ste_doc, value, value.qty, po_details)
|
||||
|
||||
ste_doc.set_stock_entry_type()
|
||||
ste_doc.calculate_rate_and_amount()
|
||||
ste_doc.set_missing_values()
|
||||
|
||||
return ste_doc
|
||||
|
||||
|
||||
@@ -764,8 +764,6 @@ def make_stock_entry(source_name, target_doc=None):
|
||||
pending_fg_qty = flt(source.get("for_quantity", 0)) - flt(source.get("transferred_qty", 0))
|
||||
target.fg_completed_qty = pending_fg_qty if pending_fg_qty > 0 else 0
|
||||
|
||||
target.set_transfer_qty()
|
||||
target.calculate_rate_and_amount()
|
||||
target.set_missing_values()
|
||||
target.set_stock_entry_type()
|
||||
|
||||
|
||||
@@ -1496,7 +1496,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
||||
var me = this;
|
||||
var args = this._get_args(item);
|
||||
if (!(args.items && args.items.length)) {
|
||||
if(calculate_taxes_and_totals) me.calculate_taxes_and_totals();
|
||||
if (calculate_taxes_and_totals) me.calculate_taxes_and_totals();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1504,7 +1504,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
||||
if (this.frm.doc.__onload && this.frm.doc.__onload.ignore_price_list) {
|
||||
// Calculate totals even though pricing rule is not applied.
|
||||
// `apply_pricing_rule` is triggered due to change in data which most likely contributes to Total.
|
||||
if(calculate_taxes_and_totals) me.calculate_taxes_and_totals();
|
||||
if (calculate_taxes_and_totals) me.calculate_taxes_and_totals();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -238,6 +238,7 @@ def split_batch(batch_no, item_code, warehouse, qty, new_batch_id=None):
|
||||
)
|
||||
)
|
||||
stock_entry.set_stock_entry_type()
|
||||
stock_entry.set_missing_values()
|
||||
stock_entry.insert()
|
||||
stock_entry.submit()
|
||||
|
||||
|
||||
@@ -600,7 +600,7 @@ def make_stock_entry(source_name, target_doc=None):
|
||||
if source.material_request_type == "Customer Provided":
|
||||
target.purpose = "Material Receipt"
|
||||
|
||||
target.run_method("calculate_rate_and_amount")
|
||||
target.set_missing_values()
|
||||
target.set_stock_entry_type()
|
||||
target.set_job_card_data()
|
||||
|
||||
|
||||
@@ -671,8 +671,7 @@ def create_stock_entry(pick_list):
|
||||
else:
|
||||
stock_entry = update_stock_entry_items_with_no_reference(pick_list, stock_entry)
|
||||
|
||||
stock_entry.set_actual_qty()
|
||||
stock_entry.calculate_rate_and_amount()
|
||||
stock_entry.set_missing_values()
|
||||
|
||||
return stock_entry.as_dict()
|
||||
|
||||
|
||||
@@ -993,6 +993,7 @@ def make_stock_entry(source_name, target_doc=None):
|
||||
def set_missing_values(source, target):
|
||||
target.stock_entry_type = "Material Transfer"
|
||||
target.purpose = "Material Transfer"
|
||||
target.set_missing_values()
|
||||
|
||||
doclist = get_mapped_doc(
|
||||
"Purchase Receipt",
|
||||
|
||||
@@ -2196,6 +2196,12 @@ class StockEntry(StockController):
|
||||
|
||||
return sorted(list(set(get_serial_nos(self.pro_doc.serial_no)) - set(used_serial_nos)))
|
||||
|
||||
def set_missing_values(self):
|
||||
"Updates rate and availability of all the items of mapped doc."
|
||||
self.set_transfer_qty()
|
||||
self.set_actual_qty()
|
||||
self.calculate_rate_and_amount()
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def move_sample_to_retention_warehouse(company, items):
|
||||
@@ -2245,6 +2251,7 @@ def move_sample_to_retention_warehouse(company, items):
|
||||
def make_stock_in_entry(source_name, target_doc=None):
|
||||
def set_missing_values(source, target):
|
||||
target.set_stock_entry_type()
|
||||
target.set_missing_values()
|
||||
|
||||
def update_item(source_doc, target_doc, source_parent):
|
||||
target_doc.t_warehouse = ""
|
||||
|
||||
@@ -133,6 +133,8 @@ def make_stock_entry(**args):
|
||||
)
|
||||
|
||||
s.set_stock_entry_type()
|
||||
s.set_missing_values()
|
||||
|
||||
if not args.do_not_save:
|
||||
s.insert()
|
||||
if not args.do_not_submit:
|
||||
|
||||
Reference in New Issue
Block a user