mirror of
https://github.com/frappe/erpnext.git
synced 2026-02-12 17:23:38 +00:00
Merge pull request #52591 from aerele/backport-52527
fix(stock): correct warehouse mapping for material issue (backport #52527)
This commit is contained in:
@@ -706,6 +706,9 @@ def make_stock_entry(source_name, target_doc=None):
|
||||
target.purpose = source.material_request_type
|
||||
target.from_warehouse = source.set_from_warehouse
|
||||
target.to_warehouse = source.set_warehouse
|
||||
if source.material_request_type == "Material Issue":
|
||||
target.from_warehouse = source.set_warehouse
|
||||
target.to_warehouse = None
|
||||
|
||||
if source.job_card:
|
||||
target.purpose = "Material Transfer for Manufacture"
|
||||
|
||||
@@ -902,15 +902,27 @@ class TestMaterialRequest(FrappeTestCase):
|
||||
import json
|
||||
|
||||
from erpnext.stock.doctype.pick_list.pick_list import create_stock_entry
|
||||
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
|
||||
|
||||
mr = make_material_request(material_request_type="Material Transfer")
|
||||
new_item = create_item("_Test Pick List Item", is_stock_item=1)
|
||||
item_code = new_item.name
|
||||
|
||||
make_stock_entry(
|
||||
item_code=item_code,
|
||||
target="_Test Warehouse - _TC",
|
||||
qty=10,
|
||||
do_not_save=False,
|
||||
do_not_submit=False,
|
||||
)
|
||||
|
||||
mr = make_material_request(item_code=item_code, material_request_type="Material Transfer")
|
||||
pl = create_pick_list(mr.name)
|
||||
pl.save()
|
||||
pl.locations[0].qty = 5
|
||||
pl.locations[0].stock_qty = 5
|
||||
pl.submit()
|
||||
|
||||
to_warehouse = create_warehouse("Test To Warehouse")
|
||||
to_warehouse = create_warehouse("_Test Warehouse - _TC")
|
||||
|
||||
se_data = create_stock_entry(json.dumps(pl.as_dict()))
|
||||
se = frappe.get_doc(se_data)
|
||||
@@ -970,6 +982,19 @@ class TestMaterialRequest(FrappeTestCase):
|
||||
|
||||
self.assertRaises(frappe.ValidationError, end_transit_2.submit)
|
||||
|
||||
def test_make_stock_entry_material_issue_warehouse_mapping(self):
|
||||
"""Test to ensure while making stock entry from material request of type Material Issue, warehouse is mapped correctly"""
|
||||
mr = make_material_request(material_request_type="Material Issue", do_not_submit=True)
|
||||
mr.set_warehouse = "_Test Warehouse - _TC"
|
||||
mr.save()
|
||||
mr.submit()
|
||||
|
||||
se = make_stock_entry(mr.name)
|
||||
self.assertEqual(se.from_warehouse, "_Test Warehouse - _TC")
|
||||
self.assertIsNone(se.to_warehouse)
|
||||
se.save()
|
||||
se.submit()
|
||||
|
||||
|
||||
def get_in_transit_warehouse(company):
|
||||
if not frappe.db.exists("Warehouse Type", "Transit"):
|
||||
|
||||
Reference in New Issue
Block a user