这次要分享的案例还是来自于我们客户的一个新需求。
我们这个客户主要是在使用SharePoint的List来搭建申请单,然后对申请单进行审批,但由于我们之前给客户提出的生成PDF打印件的方案,是需要先在SharePoint或OneDrive中放一个文档模板的,所以这个客户现在有了一个新的需求,他们想要实现在SharePoint中修改已有文档模板或者新增文档模板时,让这个文档模板先得经过审批,等审批通过了才能投入使用。
我们提出的生成PDF打印件的方案就在这篇文章里:
【Power Automate】自动生成Power Apps表单的PDF打印件
其实SharePoint文档库跟List挺像的,用户不仅能上传文件,还能给文件设置“属性”,这个属性就跟List的列一样。
我们可以根据需要为这些文件设置一些属性,到时候上传文件之后相关人员还可以编辑这些属性。
比如我们需要发起人指定审批人的时候就可以添加人员属性,这样Power Automate那边就可以拿到相关的审批人员的信息了。
不过我们这回这个案例没有什么属性需要添加,我们需要的只有打开文档的“需要审批”功能。
首先我们进到设置里。
去版本控制设置。
就可以打开审批功能了。
打开审批之后,刚上传的文件的审批状态会被标记为“草稿”,在版本控制设置中我们可以限制用户对草稿文件的访问,比如我们在这里选择的就是只有审批人员和提交人可以查看草稿文件,这样就限制了未过审批的文件无法被一般用户查看。
开启了审批功能后,文件就可以被提交并接受审批,同时拥有完全控制权限的用户将拥有审批文件的能力。
此时这个文件仍未通过审批,所以一般用户是看不到也无法使用这个文件的,只有该文件通过审批后才能被所有用户看到。
同时,如果一个文件被修改了,那么它的审批状态将重新变回“草稿”,可以重新提交审批,在这里可以查看修改记录。
设置完之后我们就可以开始搞Power Automate了。
首先选择触发器。
毕竟提交审批之后审批状态会被修改为“待定”,我们就通过这一下修改来触发流程
然后进来第一件事,先给触发器上一个额外触发条件。
必须得等审批状态是待定的时候,也就是提交审批之后才能触发流程。
然后下边正常走流程就行了。
这里得说一下,这个触发器只能获取到文件的属性,就是本文一开头时提到的属性,如果需要获取文件本身如文件名之类的信息,需要用“获取文件元数据”节点。
审批里就可以使用文件标题了。
以及更新审批状态时可能会用到的ETag。
对,更新审批状态用这个“设置内容审批状态”的节点就好了。
流程搭建完之后,只要审批一提交,指定的审批人就可以收到审批通知。
审批人审批之后,流程就会自动按审批人的审批结果在自动修改文件的审批状态、同步审批意见了。
然后我们可以在这里分类查看不同类型的项目。