mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-25 16:04:46 +00:00
refactor: more changes
1. 'Accounts Manager' has access to submit, cancel and delete 2. cancel and delete operation of PCV is linked with Proces PCV
This commit is contained in:
@@ -4,6 +4,8 @@
|
|||||||
frappe.ui.form.on("Period Closing Voucher", {
|
frappe.ui.form.on("Period Closing Voucher", {
|
||||||
onload: function (frm) {
|
onload: function (frm) {
|
||||||
if (!frm.doc.transaction_date) frm.doc.transaction_date = frappe.datetime.obj_to_str(new Date());
|
if (!frm.doc.transaction_date) frm.doc.transaction_date = frappe.datetime.obj_to_str(new Date());
|
||||||
|
|
||||||
|
frm.ignore_doctypes_on_cancel_all = ["Process Period Closing Voucher"];
|
||||||
},
|
},
|
||||||
|
|
||||||
setup: function (frm) {
|
setup: function (frm) {
|
||||||
|
|||||||
@@ -135,7 +135,8 @@ class PeriodClosingVoucher(AccountsController):
|
|||||||
self.db_set("gle_processing_status", "In Progress")
|
self.db_set("gle_processing_status", "In Progress")
|
||||||
self.make_gl_entries()
|
self.make_gl_entries()
|
||||||
else:
|
else:
|
||||||
print("submit")
|
ppcv = frappe.get_doc({"doctype": "Process Period Closing Voucher", "parent_pcv": self.name})
|
||||||
|
ppcv.save().submit()
|
||||||
|
|
||||||
def on_cancel(self):
|
def on_cancel(self):
|
||||||
self.ignore_linked_doctypes = (
|
self.ignore_linked_doctypes = (
|
||||||
@@ -143,13 +144,28 @@ class PeriodClosingVoucher(AccountsController):
|
|||||||
"Stock Ledger Entry",
|
"Stock Ledger Entry",
|
||||||
"Payment Ledger Entry",
|
"Payment Ledger Entry",
|
||||||
"Account Closing Balance",
|
"Account Closing Balance",
|
||||||
|
"Process Period Closing Voucher",
|
||||||
)
|
)
|
||||||
if frappe.get_single_value("Accounts Settings", "use_legacy_controller_for_pcv"):
|
self.block_if_future_closing_voucher_exists()
|
||||||
self.block_if_future_closing_voucher_exists()
|
|
||||||
self.db_set("gle_processing_status", "In Progress")
|
if not frappe.get_single_value("Accounts Settings", "use_legacy_controller_for_pcv"):
|
||||||
self.cancel_gl_entries()
|
self.cancel_process_pcv_docs()
|
||||||
else:
|
|
||||||
print("cancel")
|
self.db_set("gle_processing_status", "In Progress")
|
||||||
|
self.cancel_gl_entries()
|
||||||
|
|
||||||
|
def cancel_process_pcv_docs(self):
|
||||||
|
ppcvs = frappe.db.get_all("Process Period Closing Voucher", {"parent_pcv": self.name, "docstatus": 1})
|
||||||
|
for x in ppcvs:
|
||||||
|
frappe.get_doc("Process Period Closing Voucher", x.name).cancel()
|
||||||
|
|
||||||
|
def on_trash(self):
|
||||||
|
super().on_trash()
|
||||||
|
ppcvs = frappe.db.get_all(
|
||||||
|
"Process Period Closing Voucher", {"parent_pcv": self.name, "docstatus": ["in", [1, 2]]}
|
||||||
|
)
|
||||||
|
for x in ppcvs:
|
||||||
|
frappe.delete_doc("Process Period Closing Voucher", x.name)
|
||||||
|
|
||||||
def make_gl_entries(self):
|
def make_gl_entries(self):
|
||||||
if frappe.db.estimate_count("GL Entry") > 100_000:
|
if frappe.db.estimate_count("GL Entry") > 100_000:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"actions": [],
|
"actions": [],
|
||||||
"allow_rename": 1,
|
"autoname": "format:Process-PCV-{###}",
|
||||||
"creation": "2025-09-25 15:44:03.534699",
|
"creation": "2025-09-25 15:44:03.534699",
|
||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"engine": "InnoDB",
|
"engine": "InnoDB",
|
||||||
@@ -70,13 +70,15 @@
|
|||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2025-10-17 15:16:26.324369",
|
"modified": "2025-10-20 08:06:26.786490",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Accounts",
|
"module": "Accounts",
|
||||||
"name": "Process Period Closing Voucher",
|
"name": "Process Period Closing Voucher",
|
||||||
|
"naming_rule": "Expression",
|
||||||
"owner": "Administrator",
|
"owner": "Administrator",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
{
|
{
|
||||||
|
"cancel": 1,
|
||||||
"create": 1,
|
"create": 1,
|
||||||
"delete": 1,
|
"delete": 1,
|
||||||
"email": 1,
|
"email": 1,
|
||||||
@@ -86,6 +88,21 @@
|
|||||||
"report": 1,
|
"report": 1,
|
||||||
"role": "System Manager",
|
"role": "System Manager",
|
||||||
"share": 1,
|
"share": 1,
|
||||||
|
"submit": 1,
|
||||||
|
"write": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cancel": 1,
|
||||||
|
"create": 1,
|
||||||
|
"delete": 1,
|
||||||
|
"email": 1,
|
||||||
|
"export": 1,
|
||||||
|
"print": 1,
|
||||||
|
"read": 1,
|
||||||
|
"report": 1,
|
||||||
|
"role": "Accounts Manager",
|
||||||
|
"share": 1,
|
||||||
|
"submit": 1,
|
||||||
"write": 1
|
"write": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -407,7 +407,7 @@ def summarize_and_post_ledger_entries(docname):
|
|||||||
|
|
||||||
make_closing_entries(closing_entries, pcv.name, pcv.company, pcv.period_end_date)
|
make_closing_entries(closing_entries, pcv.name, pcv.company, pcv.period_end_date)
|
||||||
|
|
||||||
# TODO: Update processing status on PCV and Process document
|
frappe.db.set_value("Period Closing Voucher", pcv.name, "gle_processing_status", "Completed")
|
||||||
frappe.db.set_value("Process Period Closing Voucher", docname, "status", "Completed")
|
frappe.db.set_value("Process Period Closing Voucher", docname, "status", "Completed")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user