<rt id="umcai"><optgroup id="umcai"></optgroup></rt>
<tr id="umcai"><small id="umcai"></small></tr><rt id="umcai"><small id="umcai"></small></rt>
<acronym id="umcai"><small id="umcai"></small></acronym>

ERPNext vs Odoo

ERPNext 是 frappe 的一個應用, frappe 還有其他的應用,比如 hrms, LMS

? ? ?

frappe 應用 使用 frappe-bench 工具進行管理

? ? ?

? ? ?

frappe 在部署上, 邏輯劃分為

site # 站點,數據庫

apps # 軟件包

? ?

? ? ?

相關基礎軟件

  1. maridadb
  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 -f compose.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 為單元

???

???

???

???

???

???

???

???

??

<rt id="umcai"><optgroup id="umcai"></optgroup></rt>
<tr id="umcai"><small id="umcai"></small></tr><rt id="umcai"><small id="umcai"></small></rt>
<acronym id="umcai"><small id="umcai"></small></acronym>