Studio

更改导航栏上Menu显示的权限
  1. Setting> Technical>Menu Items下,找到Product Variants(Duplicate),然后取消掉Visibility的所有组,这样默认所有的用户都能看都这个按钮
  2. 或者在Studio中点击右上角的Edit Menu,然后点击Product Variants(Duplicate)对应的Edit Selection,然后取消掉Visibility的所有组,这样默认所有的用户都能看都这个按钮

由这两个路径进入的改写Menu权限页面是同一个

某个页面内找不到字段(比如价格表的货币类型字段)

或许可以看看在Studio处的Existing Fields有没有

条件隐藏字段

Studio中的对应字段的InvisibleConditional选择隐藏规则

在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

odoo1


Sales

联系人中客户与供应商的区分

供应商:supplier_rank > 0

客户:cusomer_rank > 0


Technical

Odoo前后端架构

MVC结构:表(Model)、视图(View)、控制层(Controller)
View中有UIFormListkanban

Controller中有automated rulesscheduled actionwindow actionserver 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. 权限层级
层级控制内容主要配置方式生效范围
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 层面
  1. 用户与用户组(Users&Groups)

    每个用户都可以属于一个或者多个用户组,用户组通常代表着一种角色,如销售、销售经理,用户组间可以嵌套,如销售经理也是销售,能够拥有销售的所有权限。

    所有用户的权限都是通过用户组实现的

  2. 模型访问控制(Acccess Control List,ACL)

    每个模块中通常包含一个security/ir.model.access.csv文件,用于定义对model的CURD权限

    1
    2
    3
    id,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 | 是否允许删除 | 同上 |

  3. 记录规则(Record Rules)

    行级权限

    例如:销售人员只能看到自己创建的订单

  4. 字段与视图层控制

    • Field:在Studio处可以控制某字段对某用户组可见/隐藏
    • Menu:在Studio的Edit Menu可以编辑

Manufacturing

MTO

Make to Order:按订单生产

启用MTO时会根据订单生成对应的Manufacture Order,根据BOM的半成品情况,可能还会有子Manufacture Order,从父MO直接进行制造会造成对应的半成品数量为负(假设原数量为0),因为Odoo允许产品数量为负

3-Step-Manufacture

3步制造:拣料 (Pick Components) -> 生产 (Manufacture) -> 入库 (Store Finished Product)

配置过程:

  1. 打开设置,搜索MTO,启用。进入仓库,创建或指定一个仓库为三步制造,进入路线(三步制造,采购,销售),勾选可应用于产品。
  2. 打开产品,在需要进行三步制造的产品中进入库存页面,勾选制造、三步制造
  3. 若与MTO配合则产品再次勾选MTO路线,原料勾选MTO采购,半成品选择MTO制造,填写原料的成本和供应商信息

MTO+3stepManufacture流程:

  1. 创建报价单时需要在额外信息处指定仓库,创建销售订单后,进入与SO相关的RFQ,确认订单入库时,若原料按批号追踪,则应该在Detail处填写批号。全部PO收货时,所有需要的原料都会到仓库中库存区(3step默认)
  2. 采购完成后进入相关的MO,进入最底的子级制造订单(组件全是原料),点击进入转移单,将原料从库存区移动到生产前区(3step默认),然后就可以进行该订单的制造。每个子级制造订单完成后,得到的半成品会到生产后区(3step默认),然后回到库存区。
  3. 所有子级制造订单完成后,点击源制造订单,并点击转移,将所需要的组件从库存区移动到生产前区,获得的产物也会回到生产后区,然后回到库存区。
  4. 当产品制造并回到库存区时,回到SO,点击交货进入交货单,验证后即可看到SO显示已交付

Setting

Email

Email模版

在设置/技术/Email模版中的是各种Email的模板。在Email模板中{{}}包裹的是变量,非变量元素可以在正文处直接修改,而变量需要启用Debug模式,选中变量,点击小菜单的代码视图,会进入类似HTML的代码区,在这里可以直接修改变量引用的数据。