专业版规则链开发


一、什么是规则链

规则链是由多个规则组成的链条,规则可以看成一段处理业务逻辑的代码。单据里的提交、保存等系统命令都有自己对应的规则链。

当单据中的按钮预制的动作不能满足现有需求时,需要进行规则链的扩展。

二、规则链的添加方式

1、方式一

创建自定义后端函数,设置关联;

2、方式二

后端脚手架扩展规则类实现;

3、两者的区别

后端函数可以实现简单查询,后端脚手架扩展可以实现数据库查询、脚手架服务调用动等复杂业务;

三、规则链开发实战

1、新建应用:

在应用构建应用管理中,选择新建应用,新建应用页面中输入应用名称,选择所属领域,在应用引擎出选择创建的专业版引擎后,设置应用编码。

img

2、页面建模

应用创建以后,进入应用,在对象建模中选择创建实体对象,添加字段后发布实体,专业版要在对应的数据库中执行建表语句。

img

3、页面属性设置

在页面建模中新建页面,选择对应的单据类型。

img

4、绑定元数据

设置完成后,点击下一步,输入页面名称和页面编码,选择新建的实体对象。点击完成按钮,生成页面。

img

5、列表页和卡片页

完成后有两个页面:列表和卡片

img

6、UI编辑态页面按钮设置

点击详情页面,打开UI编辑态页面,点击保存按钮,在右侧动作tab页中,点击保存按钮后面的配置

img

7、系统预制规则链

页面中可以看到保存按钮系统预制的规则链,系统预制的不可以删除和调整顺序,开发者新增的规则是可以操作的。

img

8、新增规则

点击图中标识的小按钮

img

9、规则属性设置:

9.1、第一种方式:后端函数

9.1.1、选择添加后端函数:

设置完成后,点保存按钮保存一下。

img

9.1.2、规则顺序的调整

在配置页面,鼠标放到规则上,光标变成小手的标识时,拖动规则可以调整上下顺序,此处的位置就是规则链执行的顺序。

img

9.1.3、规则添加完成后测试规则是否生效。

以下示例中的后端函数实现的功能是,在单据新增数据时,给字段new2设置一个默认值999,函数中具体数据的取值和赋值可以通过函数调试的方式查看,具体调试方法可参考函数扩展中后端函数相关内容。

img

9.1.4、添加成功的数据

img

9.2、添加规则链第二种方式:脚手架扩展

9.2.1、新建实现类

专业版后端脚手架中,通过继承com.yonyou.ucf.mdd.ext.bill.rule.base.AbstractCommonRule,并将该类通过@Component或@Service注册到Spring 中管理。

img

9.2.2、规则链绑定

在配置中输入自定义规则名称,设置完成后保存。

img

9.2.3、规则链本地代码调试

根据自己本地hosts文件配置,替换下图中域名为本地地址:http://local.yonyoucloud.com:3003/,

img

本地调试访问地址如下:

微信图片_20230217152603

9.2.4,本地调试,页面设置token

此处页面需要设置token,在已打开的页面中F12取yht_access_token的值复制到此页面中

img

img

9.2.5、保存数据,调用后端函数

在列表页中新增数据,点击保存按钮就会调用本地脚手架服务,后端服务可以debug方式启动,看下参数传递值。

img

9.2.6、业务代码实现

业务代码在execute中实现,抛出业务异常可以通过throw new BusinessException("提示信息")实现。

20230217151659

20230217150250

Copyright © 用友 -【生态技术部】 2022-2023 all right reserved,powered by Gitbook修订时间: 2023-10-07 16:34:23

results matching ""

    No results matching ""