Note in Odoo of SaaS
Studio
更改导航栏上Menu显示的权限
- 在
Setting>Technical>Menu Items下,找到Product Variants(Duplicate),然后取消掉Visibility的所有组,这样默认所有的用户都能看都这个按钮 - 或者在
Studio中点击右上角的Edit Menu,然后点击Product Variants(Duplicate)对应的Edit Selection,然后取消掉Visibility的所有组,这样默认所有的用户都能看都这个按钮
由这两个路径进入的改写Menu权限页面是同一个
某个页面内找不到字段(比如价格表的货币类型字段)
或许可以看看在Studio处的Existing Fields有没有
条件隐藏字段
在Studio中的对应字段的Invisible的Conditional选择隐藏规则
在Sales Order的Order Lines的Product中隐藏Create New功能
进入Sales Order,打开Studio,点击Order Lines表单,点击Edit List View,选中Product列,勾选Disable creation
Accounting
付款成功了但是发票/账单状态没有改动
在会计>日记账>银行(收款的日记账),在outgoingpayment中添加outgoing paymrnts accounts的值
Journal Entries日期有误
可以将状态为posted的记录回退到草稿状态,修改完成后需要confirm回到posted状态。
Inventory
Product中选择的路线列表显示问题
在Product的详情页的库存模块下可以选择路线,而产品可以选择路线的取决于该路线中是否勾选了Products
Sales
联系人中客户与供应商的区分
供应商:supplier_rank > 0
客户:cusomer_rank > 0
Technical
Odoo前后端架构
MVC结构:表(Model)、视图(View)、控制层(Controller)
View中有UI 、Form 、List、 kanban
Controller中有automated rules、scheduled action、window action、server action
增加自动Notification
在Setting>Technical>Automation>Automation Rules,New然后输入规则名字、选择Model,选择Trigger,点击Add an Action,type选择Create Activity,完善Action Type
Other
Odoo系统里其他字段不能关联到non-store字段
Permission
Odoo权限体系
- 权限层级
| 层级 | 控制内容 | 主要配置方式 | 生效范围 |
|---|---|---|---|
| 1. 用户组 (Groups) | 用户属于哪个角色 | res.groups | 决定用户拥有的功能 |
| 2. 访问控制列表 (Access Control List, ACL) | 对模型(表)的读写删权限 | ir.model.access.csv | 整体模型层面 |
| 3. 记录规则 (Record Rules) | 对模型中具体记录的访问条件 | ir.rule | 单条记录层面 |
| 4. 字段访问与视图控制 (Field/View Access) | 控制字段可见性与界面展示 | XML 视图文件、attrs 属性、groups 限制 | 界面/UI 层面 |
用户与用户组(Users&Groups)
每个用户都可以属于
一个或者多个用户组,用户组通常代表着一种角色,如销售、销售经理,用户组间可以嵌套,如销售经理也是销售,能够拥有销售的所有权限。所有用户的权限都是通过用户组实现的
模型访问控制(Acccess Control List,ACL)
每个模块中通常包含一个
security/ir.model.access.csv文件,用于定义对model的CURD权限1
2
3id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_sale_order_user,sale.order user,model_sale_order,base.group_user,1,1,1,0
access_sale_order_manager,sale.order manager,model_sale_order,sales_team.group_sale_manager,1,1,1,1| 列名 | 含义 | 示例 |
| ———————- | ———————————— | ————————————————————- |
| id | ACL 的唯一标识(技术名) |access_sale_order_user|
| name | 可读名称(描述) |sale.order user|
| model_id:id | 关联的模型(表名) |model_sale_order对应sale.order模型 |
| group_id:id | 属于哪个用户组 |base.group_user(内部用户组) |
| perm_read | 是否允许读取 |1= 有权限;0= 无权限 |
| perm_write | 是否允许修改 | 同上 |
| perm_create | 是否允许创建 | 同上 |
| perm_unlink | 是否允许删除 | 同上 |记录规则(Record Rules)
行级权限
例如:销售人员只能看到自己创建的订单
字段与视图层控制
- Field:在Studio处可以控制某字段对某用户组
可见/隐藏 - Menu:在Studio的Edit Menu可以编辑
- Field:在Studio处可以控制某字段对某用户组
Manufacturing
MTO
Make to Order:按订单生产
启用MTO时会根据订单生成对应的Manufacture Order,根据BOM的半成品情况,可能还会有子Manufacture Order,从父MO直接进行制造会造成对应的半成品数量为负(假设原数量为0),因为Odoo允许产品数量为负
3-Step-Manufacture
3步制造:拣料 (Pick Components) -> 生产 (Manufacture) -> 入库 (Store Finished Product)
配置过程:
- 打开设置,搜索
MTO,启用。进入仓库,创建或指定一个仓库为三步制造,进入路线(三步制造,采购,销售),勾选可应用于产品。 - 打开产品,在需要进行三步制造的产品中进入库存页面,勾选制造、三步制造
- 若与
MTO配合则产品再次勾选MTO路线,原料勾选MTO和采购,半成品选择MTO和制造,填写原料的成本和供应商信息
MTO+3stepManufacture流程:
- 创建报价单时需要在额外信息处
指定仓库,创建销售订单后,进入与SO相关的RFQ,确认订单入库时,若原料按批号追踪,则应该在Detail处填写批号。全部PO收货时,所有需要的原料都会到仓库中库存区(3step默认) - 采购完成后进入相关的MO,进入最底的
子级制造订单(组件全是原料),点击进入转移单,将原料从库存区移动到生产前区(3step默认),然后就可以进行该订单的制造。每个子级制造订单完成后,得到的半成品会到生产后区(3step默认),然后回到库存区。 - 所有子级制造订单完成后,点击源制造订单,并点击转移,将所需要的组件从库存区移动到
生产前区,获得的产物也会回到生产后区,然后回到库存区。 - 当产品制造并回到库存区时,回到SO,点击
交货进入交货单,验证后即可看到SO显示已交付
Setting
Email模版
在设置/技术/Email模版中的是各种Email的模板。在Email模板中{{}}包裹的是变量,非变量元素可以在正文处直接修改,而变量需要启用Debug模式,选中变量,点击小菜单的代码视图,会进入类似HTML的代码区,在这里可以直接修改变量引用的数据。





