fix: force to do reposting for cancelled document

(cherry picked from commit 6e661e7c0e)

# Conflicts:
#	erpnext/controllers/stock_controller.py
This commit is contained in:
Rohit Waghchaure
2023-05-16 16:23:52 +05:30
committed by Mergify
parent 139a193f1d
commit 022893391b
2 changed files with 23 additions and 0 deletions

View File

@@ -689,7 +689,14 @@ class StockController(AccountsController):
}
)
<<<<<<< HEAD
if future_sle_exists(args) or repost_required_for_queue(self):
=======
if self.docstatus == 2:
force = True
if force or future_sle_exists(args) or repost_required_for_queue(self):
>>>>>>> 6e661e7c0e (fix: force to do reposting for cancelled document)
item_based_reposting = cint(
frappe.db.get_single_value("Stock Reposting Settings", "item_based_reposting")
)

View File

@@ -294,3 +294,19 @@ class TestRepostItemValuation(FrappeTestCase, StockTestMixin):
self.assertRaises(frappe.ValidationError, riv.save)
accounts_settings.acc_frozen_upto = ""
accounts_settings.save()
def test_create_repost_entry_for_cancelled_document(self):
pr = make_purchase_receipt(
company="_Test Company with perpetual inventory",
warehouse="Stores - TCP1",
get_multiple_items=True,
)
self.assertTrue(pr.docstatus == 1)
self.assertFalse(frappe.db.exists("Repost Item Valuation", {"voucher_no": pr.name}))
pr.load_from_db()
pr.cancel()
self.assertTrue(pr.docstatus == 2)
self.assertTrue(frappe.db.exists("Repost Item Valuation", {"voucher_no": pr.name}))