fix(Immutable Ledger): Item wise backdated stock entry posting (#22366)
* fix(Immutable Ledger): Item wise backdated stock entry posting * fix: Remove fiscal year query * fix: Update message string
This commit is contained in:
parent
71da90034d
commit
5dc175f068
@ -161,19 +161,19 @@ class TransactionBase(StatusUpdater):
|
|||||||
if not (self.get("update_stock") or self.get("is_pos")):
|
if not (self.get("update_stock") or self.get("is_pos")):
|
||||||
return
|
return
|
||||||
|
|
||||||
fiscal_year = get_fiscal_year(self.get('posting_date'), as_dict=True).name
|
for item in self.get('items'):
|
||||||
|
last_transaction_time = frappe.db.sql("""
|
||||||
|
select MAX(timestamp(posting_date, posting_time)) as posting_time
|
||||||
|
from `tabStock Ledger Entry`
|
||||||
|
where docstatus = 1 and item_code = %s """, (item.item_code))[0][0]
|
||||||
|
|
||||||
last_transaction_time = frappe.db.sql("""
|
cur_doc_posting_datetime = "%s %s" % (self.posting_date, self.get("posting_time") or "00:00:00")
|
||||||
select MAX(timestamp(posting_date, posting_time)) as posting_time
|
|
||||||
from `tabStock Ledger Entry`
|
|
||||||
where docstatus = 1""")[0][0]
|
|
||||||
|
|
||||||
cur_doc_posting_datetime = "%s %s" % (self.posting_date, self.get("posting_time") or "00:00:00")
|
if last_transaction_time and get_datetime(cur_doc_posting_datetime) < get_datetime(last_transaction_time):
|
||||||
|
msg = _("Last Stock Transaction for item {0} was on {1}.").format(frappe.bold(item.item_code), frappe.bold(last_transaction_time))
|
||||||
if last_transaction_time and get_datetime(cur_doc_posting_datetime) < get_datetime(last_transaction_time):
|
msg += "<br><br>" + _("Stock Transactions for Item {0} cannot be posted before this time.").format(frappe.bold(item.item_code))
|
||||||
frappe.throw(_("""Posting timestamp of current transaction
|
msg += "<br><br>" + _("Please remove this item and try to submit again or update the posting time.")
|
||||||
must be after last Stock transaction's timestamp which is {0}""").format(frappe.bold(last_transaction_time)),
|
frappe.throw(msg, title=_("Backdated Stock Entry"))
|
||||||
title=_("Backdated Stock Entry"))
|
|
||||||
|
|
||||||
def delete_events(ref_type, ref_name):
|
def delete_events(ref_type, ref_name):
|
||||||
events = frappe.db.sql_list(""" SELECT
|
events = frappe.db.sql_list(""" SELECT
|
||||||
|
Loading…
x
Reference in New Issue
Block a user