苍穹工作流那些事 之 对象扩展属性
用户在使用苍穹工作流时,通过单据或基础资料对象属性,不能完全满足其在流程中的流转需要。系统需要提供一种方式,将基于对象计算出的数据,进行属性扩展,并将数据以配置方式固定在工作流中,以便在条件规则、单据主题、消息主题中进行使用。
苍穹工作流支持在基本业务对象上扩展属性,满足上述需求。本期,小编就带大家了解“对象扩展属性”功能及其使用方法。
1 应用场景
业务对象之间存在很多引用关系,如人员的职位信息、人员管辖的仓库等。在设置规则时,需要对人员职位信息进行规则判断,如人员-职位包含“经理”。
2 解决方案
苍穹工作流支持在基本业务对象上扩展属性,定义业务对象之间的引用关系,快速地实现条件属性的可视化定义并且能够简化流程的配置。
3 价值体现
苍穹工作流提供的“对象扩展属性”功能,支持实现复杂的条件规则和定制化主题,大大减少插件的数量,降低实施和二开人员的维护成本。
4 功能详情
4.1 样例需求描述
单据主题中需要显示申请人的职位名称,单据本身取不到申请人的职位信息,可以通过自定义一个单据扩展属性“人员的职位名称“,然后在主题中进行添加。
4.2 实现步骤
1)对基础资料“人员”进行扩展,扩展对象选择“人员“;
扩展基础资料“人员”示例
2)名称为选择属性时显示的内容,建议选择通俗易懂的名称;
3)编码有特殊要求,需以“mc_”开头;
4)返回值用于明确使用扩展属性时的属性类型,提供了日期、文本、数字、下拉列表、F7等5种类型。对于该样例属性“职位名称“,应选择文本类型;
5)编写并设置解析类,实现接口:kd.bos.workflow.engine.rule.ext.IExtExpressionParse,在方法中返回对应属性值,相关命令如下:
public class UPositionParseImpl implements IExtExpressionParse{ /** * 通过execution可以得到流程相关的数据 * param 为被扩展的对象运行期地数据,在职位名称样例中为:单据上地申请人。 */ public Object parseExpression(AgentExecution execution,Object param) { if(param == null) { return null; } Long uid = (Long)param; return UserServiceHelper.getUserMainJob(uid); } }
通过上述步骤,样例需求实现就大功告成啦,可以在条件规则、主题中使用人员对象的职位扩展属性。
职位扩展属性效果示例
5 常见问题
Q:苍穹工作流是否内置了对象扩展属性?
A:苍穹工作流内置了30+扩展属性,供客户在条件规则、任务主题等功能上进行使用,且可以根据业务需要自定义“对象扩展属性”。
6 相关链接
苍穹工作流对象扩展属性相关资料,请参考如下链接:
7 划重点
1.苍穹工作流提供的“对象扩展属性”功能,支持在基本业务对象上扩展属性,定义业务对象之间的引用关系,快速地实现条件属性的可视化定义并且能够简化流程的配置;
2. 苍穹工作流内置了30+扩展属性供客户使用,并可根据业务需要自定义“对象扩展属性”。
#往期推荐#
更多精彩内容,“码”上了解!↓
苍穹工作流那些事 之 对象扩展属性
本文2024-09-23 00:54:41发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142538.html