Merge pull request #29593 from deepeshgarg007/reverse_entry_dead_lock
fix: Deadlock on making reverse GL Entries
This commit is contained in:
commit
4bc286d284
@ -319,13 +319,18 @@ def make_reverse_gl_entries(gl_entries=None, voucher_type=None, voucher_no=None,
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not gl_entries:
|
if not gl_entries:
|
||||||
gl_entries = frappe.get_all("GL Entry",
|
gl_entry = frappe.qb.DocType("GL Entry")
|
||||||
fields = ["*"],
|
gl_entries = (frappe.qb.from_(
|
||||||
filters = {
|
gl_entry
|
||||||
"voucher_type": voucher_type,
|
).select(
|
||||||
"voucher_no": voucher_no,
|
'*'
|
||||||
"is_cancelled": 0
|
).where(
|
||||||
})
|
gl_entry.voucher_type == voucher_type
|
||||||
|
).where(
|
||||||
|
gl_entry.voucher_no == voucher_no
|
||||||
|
).where(
|
||||||
|
gl_entry.is_cancelled == 0
|
||||||
|
).for_update()).run(as_dict=1)
|
||||||
|
|
||||||
if gl_entries:
|
if gl_entries:
|
||||||
validate_accounting_period(gl_entries)
|
validate_accounting_period(gl_entries)
|
||||||
@ -333,23 +338,24 @@ def make_reverse_gl_entries(gl_entries=None, voucher_type=None, voucher_no=None,
|
|||||||
set_as_cancel(gl_entries[0]['voucher_type'], gl_entries[0]['voucher_no'])
|
set_as_cancel(gl_entries[0]['voucher_type'], gl_entries[0]['voucher_no'])
|
||||||
|
|
||||||
for entry in gl_entries:
|
for entry in gl_entries:
|
||||||
entry['name'] = None
|
new_gle = copy.deepcopy(entry)
|
||||||
debit = entry.get('debit', 0)
|
new_gle['name'] = None
|
||||||
credit = entry.get('credit', 0)
|
debit = new_gle.get('debit', 0)
|
||||||
|
credit = new_gle.get('credit', 0)
|
||||||
|
|
||||||
debit_in_account_currency = entry.get('debit_in_account_currency', 0)
|
debit_in_account_currency = new_gle.get('debit_in_account_currency', 0)
|
||||||
credit_in_account_currency = entry.get('credit_in_account_currency', 0)
|
credit_in_account_currency = new_gle.get('credit_in_account_currency', 0)
|
||||||
|
|
||||||
entry['debit'] = credit
|
new_gle['debit'] = credit
|
||||||
entry['credit'] = debit
|
new_gle['credit'] = debit
|
||||||
entry['debit_in_account_currency'] = credit_in_account_currency
|
new_gle['debit_in_account_currency'] = credit_in_account_currency
|
||||||
entry['credit_in_account_currency'] = debit_in_account_currency
|
new_gle['credit_in_account_currency'] = debit_in_account_currency
|
||||||
|
|
||||||
entry['remarks'] = "On cancellation of " + entry['voucher_no']
|
new_gle['remarks'] = "On cancellation of " + new_gle['voucher_no']
|
||||||
entry['is_cancelled'] = 1
|
new_gle['is_cancelled'] = 1
|
||||||
|
|
||||||
if entry['debit'] or entry['credit']:
|
if new_gle['debit'] or new_gle['credit']:
|
||||||
make_entry(entry, adv_adj, "Yes")
|
make_entry(new_gle, adv_adj, "Yes")
|
||||||
|
|
||||||
|
|
||||||
def check_freezing_date(posting_date, adv_adj=False):
|
def check_freezing_date(posting_date, adv_adj=False):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user