mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-06 13:49:13 +00:00
Merge pull request #35456 from frappe/mergify/bp/version-13-hotfix/pr-35328
fix: force to do reposting for cancelled document (backport #35328)
This commit is contained in:
@@ -678,7 +678,7 @@ class StockController(AccountsController):
|
|||||||
message += _("Please adjust the qty or edit {0} to proceed.").format(rule_link)
|
message += _("Please adjust the qty or edit {0} to proceed.").format(rule_link)
|
||||||
return message
|
return message
|
||||||
|
|
||||||
def repost_future_sle_and_gle(self):
|
def repost_future_sle_and_gle(self, force=False):
|
||||||
args = frappe._dict(
|
args = frappe._dict(
|
||||||
{
|
{
|
||||||
"posting_date": self.posting_date,
|
"posting_date": self.posting_date,
|
||||||
@@ -689,7 +689,10 @@ class StockController(AccountsController):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
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):
|
||||||
item_based_reposting = cint(
|
item_based_reposting = cint(
|
||||||
frappe.db.get_single_value("Stock Reposting Settings", "item_based_reposting")
|
frappe.db.get_single_value("Stock Reposting Settings", "item_based_reposting")
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -294,3 +294,19 @@ class TestRepostItemValuation(FrappeTestCase, StockTestMixin):
|
|||||||
self.assertRaises(frappe.ValidationError, riv.save)
|
self.assertRaises(frappe.ValidationError, riv.save)
|
||||||
accounts_settings.acc_frozen_upto = ""
|
accounts_settings.acc_frozen_upto = ""
|
||||||
accounts_settings.save()
|
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}))
|
||||||
|
|||||||
Reference in New Issue
Block a user