# bfp中url的pkId、pkId_path使用
pkId和pkId_path作为业务主键的直接和间接指引,场景多用于查询业务表数据或者根据业务主键查询相应流程实例相关信息。
# pkId使用
pkId的使用在发起暂存配置保存进业务表中章节中有讲解,用于在业务数据列表中针对某一行数据做发起、查看已发起的流程视图等场景。
# pkId_path使用
pkId_path的值是业务主键在相关数据中的key,使用场景多在父子流程之间业务数据的传递。以下将从父子流程同表单场景和父子流程非同表单场景下讲解。
# 父子流程同表单场景
创建1-n主子实体
生成表单页面
创建主子流程
1、创建主流程,主流程中包含子流程的绑定
2、创建子流程
3、子流程中定义流程参数入参用于接收父流程的传参。此时的PKID可自行定义,非必要属性名。在首环节表单参数处需要用到。
4、第一人工环节表单参数修改。此时的参数pkId_path为固定属性名,值为上一步操作中子流程参数中添加的入参PKID
5、主流程中设置子流程环节参数值为主实体主键值。__bfp_entity/id为在流程相关数据中主实体主键值,即将主键值传参形式传入子流程。
发起流程
发起流程验证子实体是否带入数据,如下图在子流程启动后查看工作项页面中第一环节表单actionurl中带有pkId_path=PKID参数。
在当前接口中会根据pkId_path所指向的属性名PKID在相关数据中找到主键值。继而查询出主流程提交的表单数据。
# 父子流程非同表单场景
继续使用上一个场景中的主子实体和表单,不同的是父流程绑定主表单,子流程绑定子表单。该场景是根据父流程提交的子表格行数创建对应数的子流程,并且每个子流程只能看到自己对应子实体表单数据。如下步骤
创建子流程
1、创建子流程入参参数
2、子流程第一人工环节表单参数设置
创建主流程
设置父流程中子流程环节属性
1、设置多子流程策略,迭代变量自行定义,被迭代元素指根据该元素个数决定可以创建多少个子流程,这里填的__bfp_entity/Students为父流程相关数据中子实体取值key,即根据子实体个数创建子流程。
2、为每个子流程相关数据PKID设置对应子实体主键值,这里p为被迭代元素后单个子实体数据对象,p/id为子实体单行数据的主键值。这里的id是实体属性名,具体属性名根据自己实体而定。
发起流程
发起流程验证是否根据子实体行数创建了对应个数子流程并且每个子流程看到不同子实体表单
1、父流程发起子格添加两行子实体数据。
2、子流程创建成功查看数据
两个子流程查看各自不同子实体数据