Odoo 侧边栏动作是怎么来的:binding_model_id、group_ids 和缓存刷新
不是把一个动作建出来就一定会出现在侧边栏。Odoo 还要过绑定模型、分组权限、可读权限和缓存这几道关。
ARTICLE LIBRARY
持续记录源码理解、业务流程、模块开发经验与踩坑总结。
不是把一个动作建出来就一定会出现在侧边栏。Odoo 还要过绑定模型、分组权限、可读权限和缓存这几道关。
讲清 Command.create / update / delete / unlink / link / clear / set 的语义,以及它们在 create、write、复制和批量改关系时的真实作用。
从 purchase_stock 的 qty_received 计算、stock return picking 和账务回滚,解释退货为什么会同时影响收货数量、待开票数量和成本。
从虚拟记录、RPC 回传和表单缓存解释 onchange 的边界,并说明它为何不能替代 compute、inverse 和 constraints。
从 `_search(..., active_test=True)` 看懂默认过滤、上下文开关和“查得到但看不到”的真正原因。
很多人知道销售单确认后会触发库存,但容易把这件事理解成“sale 直接生成 picking”。结合 sale_stock 与 stock 源码看,真实主线更像是:订单行先组织 procurement values,再交给 stock.rule.run 分流,最后由 move/picking 链路继续推进。