|
|
@@ -0,0 +1,175 @@
|
|
|
+# ERPNext v15 Uperp 应用安装指南
|
|
|
+
|
|
|
+## 针对 ERPNext v15 的特殊处理
|
|
|
+
|
|
|
+ERPNext v15 对桌面和菜单系统进行了重构,之前版本的一些命令已经不再适用。
|
|
|
+
|
|
|
+### 📋 ERPNext v15 安装步骤
|
|
|
+
|
|
|
+```bash
|
|
|
+# 1. 进入 bench 目录
|
|
|
+cd /path/to/your/bench
|
|
|
+
|
|
|
+# 2. 卸载现有应用(如果已安装)
|
|
|
+bench uninstall-app uperp
|
|
|
+
|
|
|
+# 3. 重新安装应用
|
|
|
+bench install-app uperp
|
|
|
+
|
|
|
+# 4. 重启服务
|
|
|
+bench restart
|
|
|
+
|
|
|
+# 5. 清除缓存 (ERPNext v15 推荐方法)
|
|
|
+bench clear-cache
|
|
|
+bench clear-website-cache
|
|
|
+
|
|
|
+# 6. 重新构建静态资源
|
|
|
+bench build
|
|
|
+
|
|
|
+# 7. 手动清除桌面相关缓存
|
|
|
+bench execute "frappe.cache().delete_key('desktop_icons')"
|
|
|
+bench execute "frappe.cache().delete_key('bootinfo')"
|
|
|
+bench execute "frappe.clear_cache()"
|
|
|
+```
|
|
|
+
|
|
|
+### 🔍 ERPNext v15 故障排除
|
|
|
+
|
|
|
+#### 问题1: 主页菜单不显示 Uperp 模块
|
|
|
+
|
|
|
+**可能原因:**
|
|
|
+- 桌面缓存没有清除
|
|
|
+- 浏览器缓存问题
|
|
|
+- 应用配置有误
|
|
|
+
|
|
|
+**解决方案:**
|
|
|
+
|
|
|
+```bash
|
|
|
+# 步骤1: 清除服务器端缓存
|
|
|
+bench execute "frappe.clear_cache()"
|
|
|
+bench execute "frappe.cache().delete_key('desktop_icons')"
|
|
|
+bench execute "frappe.cache().delete_key('bootinfo')"
|
|
|
+
|
|
|
+# 步骤2: 重启服务
|
|
|
+bench restart
|
|
|
+
|
|
|
+# 步骤3: 强制清除浏览器缓存
|
|
|
+# Chrome/Edge: Ctrl+Shift+R (Windows) 或 Cmd+Shift+R (Mac)
|
|
|
+# Firefox: Ctrl+F5 (Windows) 或 Cmd+Shift+R (Mac)
|
|
|
+
|
|
|
+# 步骤4: 检查应用是否正确安装
|
|
|
+bench execute "import frappe; print('uperp' in frappe.get_installed_apps())"
|
|
|
+```
|
|
|
+
|
|
|
+#### 问题2: 页面无法访问 (/test)
|
|
|
+
|
|
|
+**检查步骤:**
|
|
|
+
|
|
|
+```bash
|
|
|
+# 检查页面模板是否存在
|
|
|
+ls -la apps/uperp/uperp/templates/pages/
|
|
|
+
|
|
|
+# 检查路由配置
|
|
|
+bench execute "import frappe; print(frappe.get_hooks('page_js'))"
|
|
|
+
|
|
|
+# 检查权限函数
|
|
|
+bench execute "from uperp.uperp.api import has_app_permission; print(has_app_permission())"
|
|
|
+```
|
|
|
+
|
|
|
+#### 问题3: 静态资源404错误
|
|
|
+
|
|
|
+```bash
|
|
|
+# 重新构建静态资源
|
|
|
+bench build
|
|
|
+
|
|
|
+# 检查静态文件是否存在
|
|
|
+ls -la sites/assets/uperp/
|
|
|
+
|
|
|
+# 如果不存在,手动链接
|
|
|
+bench setup requirements
|
|
|
+bench build
|
|
|
+```
|
|
|
+
|
|
|
+### 🎯 ERPNext v15 特有功能
|
|
|
+
|
|
|
+#### 工作区(Workspace)集成
|
|
|
+
|
|
|
+ERPNext v15 引入了工作区概念,如果需要更好的集成,可以创建工作区配置:
|
|
|
+
|
|
|
+```python
|
|
|
+# 在 uperp/config/ 目录下创建 workspace.py
|
|
|
+def get_data():
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ "module_name": "Uperp",
|
|
|
+ "category": "Modules",
|
|
|
+ "label": "Uperp",
|
|
|
+ "color": "#667eea",
|
|
|
+ "icon": "octicon octicon-gear",
|
|
|
+ "type": "module",
|
|
|
+ "description": "Uperp 应用管理"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+```
|
|
|
+
|
|
|
+#### 新的缓存清除方法
|
|
|
+
|
|
|
+ERPNext v15 推荐使用以下方法清除缓存:
|
|
|
+
|
|
|
+```bash
|
|
|
+# 清除所有缓存
|
|
|
+bench execute "frappe.clear_cache()"
|
|
|
+
|
|
|
+# 清除特定缓存键
|
|
|
+bench execute "frappe.cache().delete_key('desktop_icons')"
|
|
|
+bench execute "frappe.cache().delete_key('bootinfo')"
|
|
|
+
|
|
|
+# 清除工作区缓存
|
|
|
+bench execute "frappe.cache().delete_key('workspace_sidebar_items')"
|
|
|
+```
|
|
|
+
|
|
|
+### 📱 验证安装成功
|
|
|
+
|
|
|
+完成安装后,按以下顺序验证:
|
|
|
+
|
|
|
+1. **检查应用列表**
|
|
|
+ ```bash
|
|
|
+ bench execute "print(frappe.get_installed_apps())"
|
|
|
+ ```
|
|
|
+
|
|
|
+2. **检查页面访问**
|
|
|
+ - 访问: `http://your-site/test`
|
|
|
+ - 确认页面正常加载
|
|
|
+
|
|
|
+3. **检查API功能**
|
|
|
+ - 在测试页面点击"测试连接"按钮
|
|
|
+ - 确认数据正常加载
|
|
|
+
|
|
|
+4. **检查菜单显示**
|
|
|
+ - 登录 ERPNext
|
|
|
+ - 在主页左侧菜单查找 "Uperp" 模块
|
|
|
+ - 或在应用页面查找 "Uperp" 应用
|
|
|
+
|
|
|
+### ⚠️ 常见注意事项
|
|
|
+
|
|
|
+1. **浏览器缓存**: ERPNext v15 大量使用前端缓存,务必强制刷新浏览器
|
|
|
+2. **权限检查**: 确保当前用户有足够权限访问新模块
|
|
|
+3. **静态资源**: 修改CSS/JS后必须运行 `bench build`
|
|
|
+4. **开发模式**: 如果处于开发模式,某些缓存可能不会自动清除
|
|
|
+
|
|
|
+### 🔧 开发模式设置
|
|
|
+
|
|
|
+如果你在开发环境中,建议启用开发模式:
|
|
|
+
|
|
|
+```bash
|
|
|
+# 启用开发模式
|
|
|
+bench set-config developer_mode 1
|
|
|
+
|
|
|
+# 重启服务
|
|
|
+bench restart
|
|
|
+```
|
|
|
+
|
|
|
+开发模式下,静态资源会自动重新构建,缓存策略也会有所不同。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+完成这些步骤后,你应该能在 ERPNext v15 中成功看到和使用 Uperp 应用了。
|