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

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:08:37 +05:30
committed by GitHub
parent aa85c3abee
commit 1262c322d1
3 changed files with 31 additions and 0 deletions

View File

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

View File

@@ -50,6 +50,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 make_gl_entries(self, gl_entries=None, from_repost=False, via_landed_cost_voucher=False):
if self.docstatus == 2:

View File

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