BPM流程开发入门视频_04 · 联通工业互联网联盟
概括:在(BPM流程——将审批权限给特定身份的人)基础上,使用表单设计器,设计请假表单,不使用自动生成的表单。
步骤预览
1.窗体设计
- 新增功能文件夹,命名为演示流程,再在演示流程文件夹下创建请假流程文件,在请假流程文件下创建ds文件夹,方法如下图
(创建完成结果图)
- 在请假流程文件夹下创建请假表单、请假窗体
(创建请假窗体步骤图)
(创建请假表单步骤图)
- 在ds文件夹下创建数据服务,命名为初始化数据服务
2.请假窗体设计
- 为新增窗体添加参数IsEdit(是否可编)
请假窗体的窗体设计界面
1.添加控件panel
2.控件panel中添加bpmEngine控件
3.控件panel中添加bpmToolbar控件
3.控件panel中添加excelForm控件
设置完毕后点击
- 设置请假窗体的初始化后脚本,关联请假表单
代码如下
excelForm1.IsEdit = Page.Request.IsEdit==1;
excelForm1.FormID = “D07E1D4AF36D4BCDB7285C1ABECCF6EA”;//插入请假表单
excelForm1.FormArgs = {
BizID:bpmEngine1.Context.BizID
};
excelForm1.Refresh();
设置完毕后点击
2.为初始化数据服务添加参数和脚本
- 在初始服务化数据服务中添加参数BizeID
- 编写脚本
脚本代码如下
—根据流程编码BizID、人员编码PersonID、更新流程表中的基本信息字段
—流程发起时,流程表单即可读取流程表BPM_pack5_Main中的数量
—实现自动获取当前发起人的基本信息
UPDATE BPM_D_pack5_Main—更新流程表BPM_D_pack5_Main
SET
B0001=A01.B0001,—所属公司
B0002=A01.B0002,—部门
B0003=A01.B0003,—岗位
A0101=A01.A0101,—姓名
PersonID=@Session_PersonID—人员编码
FROM BPM_D_pack5_Main M,A01 A
WHERE M.BizID=@BizID AND A01.PersonID=@Session_PersonID
设置完毕后点击
3.请假表单的设计
1)添加参数
2)单击设计按钮,登录表单设计器
3)新建数据源,设置类型为返回单行结果,数据源名称和流程数据模型名称一致
代码如下:
SELECT
(SELECT UnitName FROM B01 WHERE UnitID=BPM_D_pack5_Main.B0001) AS 所属公司,
(SELECT UnitName FROM B01 WHERE UnitID=BPM_D_pack5_Main.B0002) AS 部门,
(SELECT JobName FROM G01 WHERE JobID=BPM_D_pack5_Main.B0003) AS 岗位,
A0101 AS 姓名,
(SELECT CodeItemName FROM SM_CodeItems WHERE CodeID=’QJ’ AND CodeItemID=BPM_D_pack5_Main.HolidayType) AS 请假类型,
Reason AS 请假原因,
StartDate AS 开始时间,
Holidays AS 请假天数,
EndDate AS 结束时间,
Attachment AS 附件,
Remarks AS 备注
FROM BPM_D_pack5_Main
WHERE BizID=@BizID
4)设置单元格条件
请假类型
注意:不可编辑单元格为蓝色;可编辑为红色
若在可编辑单元中,需要插入条件时,给【允许编辑】、【快速编辑保存SQL】打上勾,可在保存脚本框中检查系统自动生成的更新脚本,单击【保存脚本】或【插入】即可
>>开始时间和结束时间步骤相同
>>请假原因
>>备注
>>附件![]()
4.回到BPM流程,在请假流程中新建自定义表单
5.将流程pack5另存为pack6
6.为另存的pack6调整其请假流程设计界面的内容
点击空白的地方将任务表单修改为【只读表单】为流程的默认表单
申请人填写这一节点的任务表单为【编辑表单】![]()
7.保存发布
8.演示
以admin的身份登录发起流程
可以查看流程状态,看到它的申请时间大于三天,审批人则是刘二
以刘二的身份登录审批
打开SQL Server查看演示表Demo_AskHoliday中是否存在数据
查询语句:
select * from Demo_AskHoliday