[fix] uom conversion factor in stock entry, #3734
This commit is contained in:
parent
75e9733283
commit
2f5587ab25
@ -93,7 +93,7 @@ class StockEntry(StockController):
|
|||||||
frappe.throw(_("{0} is not a stock Item").format(item.item_code))
|
frappe.throw(_("{0} is not a stock Item").format(item.item_code))
|
||||||
|
|
||||||
item_details = self.get_item_details(frappe._dict({"item_code": item.item_code,
|
item_details = self.get_item_details(frappe._dict({"item_code": item.item_code,
|
||||||
"company": self.company, "project_name": self.project_name}))
|
"company": self.company, "project_name": self.project_name, "uom": item.uom}))
|
||||||
|
|
||||||
for f in ("uom", "stock_uom", "description", "item_name", "expense_account",
|
for f in ("uom", "stock_uom", "description", "item_name", "expense_account",
|
||||||
"cost_center", "conversion_factor"):
|
"cost_center", "conversion_factor"):
|
||||||
@ -444,20 +444,27 @@ class StockEntry(StockController):
|
|||||||
'actual_qty' : 0,
|
'actual_qty' : 0,
|
||||||
'incoming_rate' : 0
|
'incoming_rate' : 0
|
||||||
}
|
}
|
||||||
for d in [["Account", "expense_account", "default_expense_account"],
|
for d in [["Account", "expense_account", "default_expense_account"],
|
||||||
["Cost Center", "cost_center", "cost_center"]]:
|
["Cost Center", "cost_center", "cost_center"]]:
|
||||||
company = frappe.db.get_value(d[0], ret.get(d[1]), "company")
|
company = frappe.db.get_value(d[0], ret.get(d[1]), "company")
|
||||||
if not ret[d[1]] or (company and self.company != company):
|
if not ret[d[1]] or (company and self.company != company):
|
||||||
ret[d[1]] = frappe.db.get_value("Company", self.company, d[2]) if d[2] else None
|
ret[d[1]] = frappe.db.get_value("Company", self.company, d[2]) if d[2] else None
|
||||||
|
|
||||||
|
# update uom
|
||||||
|
ret.update(self.get_uom_details(args))
|
||||||
|
|
||||||
if not ret["expense_account"]:
|
if not ret["expense_account"]:
|
||||||
ret["expense_account"] = frappe.db.get_value("Company", self.company, "stock_adjustment_account")
|
ret["expense_account"] = frappe.db.get_value("Company", self.company, "stock_adjustment_account")
|
||||||
|
|
||||||
stock_and_rate = args.get('warehouse') and self.get_warehouse_details(args) or {}
|
stock_and_rate = args.get('warehouse') and self.get_warehouse_details(args) or {}
|
||||||
ret.update(stock_and_rate)
|
ret.update(stock_and_rate)
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def get_uom_details(self, args):
|
def get_uom_details(self, args):
|
||||||
|
"""Returns dict `{"conversion_factor": [value], "transfer_qty": qty * [value]}`
|
||||||
|
|
||||||
|
:param args: dict with `item_code`, `uom` and `qty`"""
|
||||||
conversion_factor = get_conversion_factor(args.get("item_code"), args.get("uom")).get("conversion_factor")
|
conversion_factor = get_conversion_factor(args.get("item_code"), args.get("uom")).get("conversion_factor")
|
||||||
|
|
||||||
if not conversion_factor:
|
if not conversion_factor:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user