ERPNext vs Odoo

ERPNext 是一个 frappe 应用, frappe 还有其他的应用,比如 hrms, LMS

frappe 是一个开发框架

frappe 使用 frappe-bench 工具进行管理

   

   

frappe 在部署上, 逻辑划分为

site # 站点,数据库

apps # 软件包

 

   

相关基础软件

  1. mariadb
  2. redis-server # cache, queue, socketio
  3. nodejs 14 # frontend
  4. python3.10 # to run frappe
  5. nginx

   

   

相关服务

  1. rappe-bench-frappe-default-worker.service
  2. frappe-bench-frappe-short-worker.service
  3. frappe-bench-frappe-long-worker.service
  4. frappe-bench-frappe-web.service
  5. frappe-bench-frappe-schedule.service
  6. frappe-bench-node-socketio.service
  7. frappe-bench-redis-queue.service
  8. frappe-bench-redis-cache.service
  9. frappe-bench-redis-socketio.service

   

   

Docker 运行 ERPNext

$ git clone https://github.com/frappe/frappe_docker.git

$ cd frappe_docker

$ docker-compose -p frappe pwd.yaml up

   

   

   

与 Odoo 比较

   

  

ERPNext

Odoo

说明

  

License

Mit, GPL

LGPL, OEEL-1/OPL

Frappe 采取 MIT 协议授权, ERPNext 采取 GPL 协议授权

Odoo community 采用 LGPL 协议, Odoo enterprise 采用 OEEL-1 协议

Trademark

未经许可,不可商用

  

  

Python

python 3.10

python 3

  

  

  

  

  

依赖的其他软件

redis, mariadb, nodejs 14

postgresql

  

服务运行环境

gunicorn, nginx, supervisor

nginx

  

二次开发

New App

New Module

scripting

  

New Addons

automation rule

change View data

#frappe 开发 全新的 App; 不支持继承、new module需要提交到现有 App 的代码仓库 ; 使用 fixture 修改现有的 doctype

  

  

  

  

业务实体逻辑结构

doctype

Model

frappe.get_doc() <> env[model]

  

docfield

Field

  

  

doc

Record Set

 

  

  

  

  

  

  

  

  

业务实体挂载结构

  

Workspace > block [ heading, text, card, chart, shortcut, spacer, onboarding, quick list ]

   

   

Card > link [ doctype, report, page ]

   

Shortcut [ doctype, report, page ]

   

Quick list [ doc ]

Menu > action window > view [ search , list , form … ]

   

View > action [ server, report ]

   

View > button > action

  

  

  

  

  

业务逻辑落地点

Hooks. JS + Python

   

https://frappeframework.com/docs/v13/user/en/python-api/hooks#list-of-available-hooks

App

crud

compute

onchange

ondelete

constraint

   

自动动作

on_create

on_write

on_create_or_write

on_unlink

on_change

on_time

  

  

  

  

  

Workflow

state machine

None

  

  

  

  

  

  

  

  

  

权限

"select",

"read",

"write",

"create",

"delete",

"submit",

"cancel",

"amend",

"print",

"email",

"report",

"import",

"export",

"set_user_permissions",

"share",

   

  

Model: crud

Field: read

Data: crud

Menu: read

Action: read

View: read

View Element: read

Export

Import

   

  

   

  

  

User / Role

User / User group

  

  

  

  

  

部署结构

Site

Database

Fie site/apps.txt <> postgresql database

  

App

Addons

Fiel app/module.txt <> table ir_module_module

  

Module

Addons

ERPNext 不可独立安装, 必须以 App 为单元

  

  

  

  

  

  

  

  

 

jeffery 2024年4月23日
标签
存档
SAP 产品历史