fix: conversion factor issue (backport #43645) (#43674)

fix: conversion factor issue (#43645)

(cherry picked from commit a52756f1d4)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
This commit is contained in:
mergify[bot]
2024-10-15 16:04:48 +05:30
committed by GitHub
parent c490a66540
commit b2deb89826
3 changed files with 31 additions and 0 deletions

View File

@@ -456,6 +456,7 @@ def create_rfq_items(sq_doc, supplier, data):
"material_request",
"material_request_item",
"stock_qty",
"uom",
]:
args[field] = data.get(field)

View File

@@ -63,6 +63,21 @@ class StockController(AccountsController):
self.set_rate_of_stock_uom()
self.validate_internal_transfer()
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):
if not self.get("items"):

View File

@@ -3657,6 +3657,21 @@ class TestPurchaseReceipt(FrappeTestCase):
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():
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_internal_supplier