company update and insert events, refine readme

This commit is contained in:
余则霖
2026-01-07 09:54:42 +08:00
parent f38cb78eb6
commit a3e846a978
3 changed files with 42 additions and 0 deletions

View File

@@ -3,8 +3,12 @@
## 安装 ## 安装
```
没有设置默认站点的install-app时请加--site参数
bench get-app erpnext_china https://gitee.com/yuzlin/erpnext_china.git bench get-app erpnext_china https://gitee.com/yuzlin/erpnext_china.git
bench install-app erpnext_china bench install-app erpnext_china
```
## 功能说明 ## 功能说明
@@ -57,6 +61,12 @@ bench install-app erpnext_china
2. 隐藏本地化不适用字段如PAN号等印度专用字段 2. 隐藏本地化不适用字段如PAN号等印度专用字段
3. 修改默认系统流水码前缀-改短 3. 修改默认系统流水码前缀-改短
## 常见问题
1. 是否与之前的中文汉化与开箱即用冲突
建议卸载中文汉化和开箱即用后再安装这个
#### License #### License
MIT MIT

View File

@@ -0,0 +1,25 @@
import frappe
from erpnext_china.chart_of_accounts.company_default.utils import set_company_default
from erpnext_china.chart_of_accounts.custom_accounts.custom_account import erpnext_china_create_charts
def company_after_insert(doc, method):
doc.erpnext_china_in_insert = True
def company_on_update(doc, method):
if not frappe.db.sql(
"""select name from tabAccount
where company=%s and docstatus<2 limit 1""",
doc.name,
):
if not frappe.local.flags.ignore_chart_of_accounts:
frappe.flags.country_change = True
frappe.local.flags.ignore_root_company_validation = True
frappe.local.flags.ignore_chart_of_accounts = 1
zelin_ac_create_charts(doc.name, doc.chart_of_accounts, doc.existing_company)
if doc.get("erpnext_china_in_insert") and doc.chart_of_accounts and doc.country == "China":
try:
set_company_default(doc.name)
except:
frappe.log_error("erpnext_china.doc_events.company_on_update set company default error")

View File

@@ -18,4 +18,11 @@ override_whitelisted_methods = {
"erpnext_china.chart_of_accounts.custom_accounts.custom_account.get_chart", "erpnext_china.chart_of_accounts.custom_accounts.custom_account.get_chart",
"erpnext.accounts.utils.get_coa": "erpnext_china.chart_of_accounts.custom_accounts.custom_account.get_coa", "erpnext.accounts.utils.get_coa": "erpnext_china.chart_of_accounts.custom_accounts.custom_account.get_coa",
"frappe.desk.treeview.get_all_nodes": "erpnext_china.chart_of_accounts.custom_accounts.custom_account.get_all_nodes", "frappe.desk.treeview.get_all_nodes": "erpnext_china.chart_of_accounts.custom_accounts.custom_account.get_all_nodes",
}
doc_events = {
"Company": {
"on_update": "erpnext_china.doc_events.company_on_update",
"after_insert": "erpnext_china.doc_events.company_after_insert"
}
} }