fix: conversion factor issue (#43645)

This commit is contained in:
rohitwaghchaure
2024-10-15 15:45:13 +05:30
committed by GitHub
parent 29ff682eca
commit a52756f1d4
3 changed files with 31 additions and 0 deletions

View File

@@ -457,6 +457,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

@@ -3706,6 +3706,21 @@ class TestPurchaseReceipt(IntegrationTestCase):
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