fix: conversion factor issue (#43645)
This commit is contained in:
@@ -457,6 +457,7 @@ def create_rfq_items(sq_doc, supplier, data):
|
|||||||
"material_request",
|
"material_request",
|
||||||
"material_request_item",
|
"material_request_item",
|
||||||
"stock_qty",
|
"stock_qty",
|
||||||
|
"uom",
|
||||||
]:
|
]:
|
||||||
args[field] = data.get(field)
|
args[field] = data.get(field)
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,21 @@ class StockController(AccountsController):
|
|||||||
self.set_rate_of_stock_uom()
|
self.set_rate_of_stock_uom()
|
||||||
self.validate_internal_transfer()
|
self.validate_internal_transfer()
|
||||||
self.validate_putaway_capacity()
|
self.validate_putaway_capacity()
|
||||||
|
self.reset_conversion_factor()
|
||||||
|
|
||||||
|
def reset_conversion_factor(self):
|
||||||
|
for row in self.get("items"):
|
||||||
|
if row.uom != row.stock_uom:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if row.conversion_factor != 1.0:
|
||||||
|
row.conversion_factor = 1.0
|
||||||
|
frappe.msgprint(
|
||||||
|
_(
|
||||||
|
"Conversion factor for item {0} has been reset to 1.0 as the uom {1} is same as stock uom {2}."
|
||||||
|
).format(bold(row.item_code), bold(row.uom), bold(row.stock_uom)),
|
||||||
|
alert=True,
|
||||||
|
)
|
||||||
|
|
||||||
def validate_items_exist(self):
|
def validate_items_exist(self):
|
||||||
if not self.get("items"):
|
if not self.get("items"):
|
||||||
|
|||||||
@@ -3706,6 +3706,21 @@ class TestPurchaseReceipt(IntegrationTestCase):
|
|||||||
|
|
||||||
self.assertEqual(data[0].get("bal_qty"), 50.0)
|
self.assertEqual(data[0].get("bal_qty"), 50.0)
|
||||||
|
|
||||||
|
def test_same_stock_and_transaction_uom_conversion_factor(self):
|
||||||
|
item_code = "Test Item for Same Stock and Transaction UOM Conversion Factor"
|
||||||
|
create_item(item_code)
|
||||||
|
|
||||||
|
pr = make_purchase_receipt(
|
||||||
|
item_code=item_code,
|
||||||
|
qty=10,
|
||||||
|
rate=100,
|
||||||
|
stock_uom="Nos",
|
||||||
|
transaction_uom="Nos",
|
||||||
|
conversion_factor=10,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertEqual(pr.items[0].conversion_factor, 1.0)
|
||||||
|
|
||||||
|
|
||||||
def prepare_data_for_internal_transfer():
|
def prepare_data_for_internal_transfer():
|
||||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_internal_supplier
|
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_internal_supplier
|
||||||
|
|||||||
Reference in New Issue
Block a user