Odoo 企业版里的 360 反馈,难点从来不是“再拉几个同事来评价”——真正难的是:谁能看见什么、什么时候开放、如何避免一场评估被重复创建、以及员工、经理、HR 在同一条周期线上看到的内容为什么不一样。这个链路主要落在 enterprise/hr_appraisal/models/hr_appraisal.py 与 enterprise/hr_appraisal/models/hr_appraisal_template.py。
一、它先解决的是“评估周期失控”问题
很多团队以为 360 反馈就是问卷扩列,但源码先处理的其实是周期边界。_compute_duplicate_appraisal_id() 会拦住同一员工在同一时间段内出现多条进行中的评估,_find_previous_appraisals() 则把新老周期串起来,避免管理层把“本次反馈”和“历史遗留记录”混在一起。
这也是为什么企业版 appraisal 更像一条生命周期记录,而不是一次性表单。你只盯问卷字段,会错过真正影响组织落地的部分:周期唯一性、状态切换和历史连续性。
二、所谓“匿名性”,本质上是可见性与发布时间控制
这篇要特别避开一个常见误解:Odoo 企业版这里不是绝对匿名问卷系统,而是通过可见性字段和角色计算,决定员工与经理何时能看到反馈全文。
employee_feedback_published、manager_feedback_published 决定内容是否对对应角色开放;_compute_show_employee_feedback_full()、_compute_show_manager_feedback_full()、_compute_accessible_employee_feedback()、_compute_accessible_manager_feedback() 则把“能否查看完整内容”细分到角色与场景。实际业务里,很多人口中的“匿名”更接近“阶段性隐藏”“只给某一侧看结论”或“在最终评级前不开放原文”。
所以如果你要做 360 反馈制度,别把匿名性理解成数据库里永不留痕;更准确的说法是:企业版给了你可控披露机制,但制度设计仍要你自己补上。
三、参与人扩展靠的不是一个 reviewer 列表,而是模板与活动协同
appraisal_template_id、_compute_feedback_templates()、_get_appraisal_template() 让员工反馈与经理反馈走不同模板;send_appraisal()、action_send_appraisal_request()、_generate_activities() 则负责把评估真正推送出去,并给相关人挂待办。
这意味着“扩展参与人”不能只看表单层。真正稳定的做法是:
- 用部门或公司级 appraisal template 决定反馈结构;
- 用
manager_ids、员工订阅与待办活动决定谁被卷入流程; - 用发布时间控制结果在什么时候向员工或经理开放。
如果你只是临时给表单加几个抄送人,最后通常会卡在:提醒不完整、状态没人追、反馈全文过早曝光。
四、源码里最容易被忽略的主链路
一条标准企业版 360 反馈链路,通常是这样的:
- 创建 appraisal,系统先检查是否已有进行中的同员工评估;
- 通过部门模板或公司模板确定员工版/经理版反馈内容;
send_appraisal()发送确认邮件并建立活动;- 员工、经理在各自权限范围内填写内容;
- HR 或经理在最终阶段通过评级、活动与状态切换收口。
这条链路说明一个现实:Odoo 企业版的 360 反馈不是 survey 模块的重皮,而是把 HR 周期、mail activity、角色可见性一起绑进评估对象本身。
五、实战里最容易踩的坑
1. 把“匿名”误当成“任何人都看不到原文来源”
其实源码处理的是展示权限,不是学术意义上的匿名调查协议。你需要在制度和流程说明里写清楚哪一层是系统隐藏,哪一层是组织承诺。
2. 用一套模板给所有部门
appraisal_template_id 支持按部门与公司落模板。研发、销售、职能支持的反馈维度往往不同,强行统一只会让 360 反馈变成形式主义。
3. 只发邮件,不追活动
评估最常见的失败方式不是“没有表单”,而是没人推进。_generate_activities() 的意义就在这里:它把评估从通知变成待办。
六、排障建议
如果你发现 360 反馈“不对劲”,建议按这个顺序查:
- 先查是否存在重复 appraisal 周期;
- 再查当前 appraisal 绑定了哪套 template;
- 再核对
employee_feedback_published/manager_feedback_published; - 最后看活动是否正确生成、相关人是否被真正拉进流程。
七、结论
Odoo 企业版 360 反馈真正值钱的地方,不是能让更多人写评价,而是它把周期唯一性、角色可见性、模板分层与活动推进绑在一起。想把它用好,重点不是“多收集意见”,而是让反馈在一条受控的人事链路里安全地流动。
主要源码锚点:
enterprise/hr_appraisal/models/hr_appraisal.pyenterprise/hr_appraisal/models/hr_appraisal_template.py
DISCUSSION
评论区