fix: purchase to Stock UOM conversion on Production Plan #28570

fix: purchase to Stock UOM conversion on Production Plan
This commit is contained in:
Maxwell Morais 2022-01-17 13:20:18 -03:00 committed by GitHub
parent dbda10e092
commit 9cd26fbb6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -969,7 +969,25 @@ def get_materials_from_other_locations(item, warehouses, new_mr_items, company):
new_mr_items.append(new_dict)
if required_qty:
stock_uom, purchase_uom = frappe.db.get_value(
'Item',
item['item_code'],
['stock_uom', 'purchase_uom']
)
if purchase_uom != stock_uom and purchase_uom == item['uom']:
conversion_factor = get_uom_conversion_factor(item['item_code'], item['uom'])
if not (conversion_factor or frappe.flags.show_qty_in_stock_uom):
frappe.throw(_("UOM Conversion factor ({0} -> {1}) not found for item: {2}")
.format(purchase_uom, stock_uom, item['item_code']))
required_qty = required_qty / conversion_factor
if frappe.db.get_value("UOM", purchase_uom, "must_be_whole_number"):
required_qty = ceil(required_qty)
item["quantity"] = required_qty
new_mr_items.append(item)
@frappe.whitelist()