不选贵的,只选对的。不要大而全,我要小而美。谁说天下没有免费的午餐?将省钱&省时&省心进行到底。
方案设计
钉钉功能选择:通讯录+OA审批+开放平台
把钉钉功能仔细学习了一番,一句话总结:始于免费,陷于功能,忠于接口。
1、在钉钉APP中,建立企业通讯录,导入部门和员工信息。
如图所示。钉钉的企业通讯录支持建立部门和部门的人员。基本特性如下。
- 部门支持分级。
- 人员可以归属多个部门。
- 每个部门可以设置一个或几个主管。也可以空缺,审批流中可以由上级部门主管代替。
此外,
- 人员档案支持自定义字段。智能人事(考勤、异动)中的花名册,是在通讯录基础上,添加了更多人事相关字段。
- 除了部门,还可以将人员划入不同角色。
强烈建议:一定先通过批量导入功能导入部门和人员。
访问路径:管理员通过管理后台-【通讯录】-【批量导入/导出/修改】。
因为这里可以自定义userid,这个是开放平台中人员的唯一标识,自动生成的太长太随意不易人为辨认。且一经使用不得修改。
备注:随处可见的在线帮助可以根据关键词查询相关的文档。当然,如果AI客服真如人工客户小妹一般知心就更好了。
小结:案例主要建立了按上下级建立了部门的ID和名称、部门所属人员的ID和姓名,为各部门设置了部门主管。
2、在钉钉APP中,建立OA审批模板。
选择OA审批,而非智能表单。原因有三:
- 钉钉开放平台支持发起审批流实例,而不支持发起智能表单;
- OA审批数据长期保存,而智能表单数据只保留180天;
- OA审批支持流程设计且不同流程皆可以设置权限修改审批表单数据,智能表单不支持流程设计。
访问路径:管理员打开【手机钉钉】-【工作台】-【OA审批】-【右上角设置】-【创建审批单】
表单设计功能特点:
- 提供了很多预置模板,支持复制已有模板。
- 表单界面风格兼容手机和PC。
- 提供表格控件。
- 文本框控件支持扫码录入功能。
- 支持部门、人员(叫联系人)的选择控件,与企业通讯录数据关联。
此外,
- 支持与智能人事相关的套件
- 关联其他审批模板的关联表单字段。
流程设计功能特点:
- 每个流程节点都支持修改表单字段。
小结:案例中审批模板的流程设计:两个节点:发起-评价(办理人)。发起人将是部门主管,评价人是发起人自己。那发起人不应该是人事吗?当然,这里是一种变通处理。请看下面分解。
3、调用钉钉开放平台接口,发起审批流和下载审批数据。
钉钉提供了一个网址如下:https://open-dev.dingtalk.com/apiExplorer?spm=ding_open_doc.document.0.0.384c4cc4sqERqi#/?devType=org&api=oauth2_1.0%23GetUserToken,是API的字典,提供了每个API的功能、语法、示例。
有关使用开放平台接口的入门,暂不再此篇赘述。这里简要提一下使用几个用到的与审批流相关的API。
- 发起评分工作流:发起审批实例 https://oapi.dingtalk.com/topapi/processinstance/create
- 读取评分数据:获取审批实例ID列表 https://oapi.dingtalk.com/topapi/processinstance/listids
- 读取评分数据:获取审批实例详情 https://oapi.dingtalk.com/topapi/processinstance/get
案例中审批模板的发起人为什么不设置为HR专员,而是部门主管?
这里回答前面的问题:案例中审批模板的发起人为什么不设置为HR专员,而是部门主管?我的回答是这是一种变通的做法。
首先,选择使用接口开发,是为了弥补APP标准审批功能中,不支持在审批表单设计的员工字段信息或流程设计的发起人或办理人审批人信息中自动填写部门主管及其对应的员工信息。
理想的方式:流程包含两个节点:HR自动发起评分工作流实例到各部门主管,部门主管填写自动列出的所有下属的评分后流程结束。可惜的是,发起审批实例接口只是钉钉APP中审批流模板设计和调用的一个简化版本。其有两种审批流程选择:
- 接口调用中自定义审批流程,替换APP流程设计,但是接口定义的是简化的流程,例如不支持像APP流程设计中那样定义审批流中发起人以外的节点修改表单数据。而这正是案例所需要的。
- 接口调用时不定义审批流程,则采用APP中的流程设计路径,但不能选择由发起人确定,否则会视为直接通过。但是,APP中第二个节点的办理人或审批人是部门主管,不同的部门有不同的主管,只能人为确定。
为了解决上述问题,选择接口调用时不定义审批流程,在APP的流程设计中将发起人定义为部门主管,在发起时人为确定。第二个节点的办理人或审批人指定为发起人,且可以修改一些表单字段。这样就算是达到了目的。未来期待API改进或有更好的办未能。
APP审批模板表单设计与审批流接口的匹配
发起审批实例接口只是钉钉APP中审批流模板设计和调用的一个简化版本。还体现在可用的控件少了。例如包含评分控件的表单设计在接口调用时就会报错:表单格式错误。所以用数字控件代替。好在目前文本、数字、联系人(人员)、表格控件都是支持的。
另外,一但有审批实例数据存在,那么修改表单设计,例如控件改名,就要注意了。虽然支持这种修改,但使用获取审批实例接口时,读取修改前后实例的控件ID(这里使用的控件的标题标识,而不是控件的内部ID)可能是不同的。补充说明,表单实例数据可以在后台由有权限的操作者删除。
APP审批模板权限设置与审批流接口的匹配
可以将案例中权限设置到最少(例如只有HR主管),审批流接口不受此权限制约。
休息一下。先就到这里吧。