【Power Platform】解决一个客户提出的奇怪需求:表单自带一个电子表格,用户无需再自己上传表格,并可在线编辑这个电子表格

本文讲述了如何在PowerPlatform环境下满足一个特殊需求——在新建申请单时能在线填写电子表格并保存为附件。通过PowerAutomate和OneDrive/SharePoint配合,实现表单草稿状态下添加电子表格,尽管无法完全满足客户的原始愿望,但展示了在现有技术限制下的解决方案。
摘要由CSDN通过智能技术生成

不知道各位有没有遇到过一些非常奇怪的需求,我这回是真的遇到一个很莫名其妙的需求。

这个项目的背景还是我们的一家客户,要更换工作流的平台,把工作流和表单都从原来的平台迁移到Power Platform来,本来客户的需求很简单,就是要求在Power Platform中重新搭建的申请单和工作流要完全还原之前所有的功能。

这看起来好像没什么问题,感觉很正常啊,但是客户原来使用的那个工作流平台有一个功能,就是可以给一个表单设置一个在线的“电子表格”,用户新建一个申请单后可以直接点击打开这个电子表格,直接在线开填,填完直接保存为附件,不用先自己填好表格然后再上传到附件了。

然而Power Platform平台完全没有可以直接使用的类似的功能。

不过OneDrive和SharePoint之类的平台其实是有云存储功能的,同时Power Automate也有将文件上传到SharePoint List附件或是Dataverse的文件列的能力的,也就是说,如果我们把需要的电子表格存到OneDrive或者SharePoint里,然后再通过Power Automate把对应的电子表格上传到附件里,其实是可以做出类似的效果的。

不过介于不管是SharePoint List数据源还是Dataverse数据源,都需要先存在已提交的记录,才能往这条记录中添加附件,意思就是如果一个表单是新建状态还没提交,那后端数据记录中理所当然的就不会有这个新将表单的任何记录,这种情况下Power Automate自然做不到向一个不存在的数据记录中添加附件。

所以我们跟客户商讨的最终方案是用户选择将表单保存为草稿后执行流,将电子表格添加到附件中,等用户填完表格再点提交,再开始执行审批流。

虽然这个表单的需求很怪,但是这个表单的字段比较简单需要申请人填的也就三个字段,最后加一个“文件”类型的字段保存电子表格,然后再加一个“审批状态”字段即可。

整个表单搭建的关键还是在Power Automate上。

我们首先依然设置一个“添加、修改或删除行时”的触发器,我们需要表单在被提交以及被修改时触发流程。

这里我们需要为触发器设置额外触发条件,防止重复触发,毕竟审批流运行时是会对表单中一些字段的值有修改的。

@or( equals(triggerOutputs()?['body/crda9_approvestate'], 2), and(equals(triggerOutputs()?['body/crda9_approvestate'], 1), equals(triggerOutputs()?['body/crda9_spreadsheet'], null)))

只有当表单审批状态的值为1(1对应的标签是“草稿”)并且“电子表格”字段的值为null,或者表单审批状态的值为2(2对应的标签是“已提交”)的时候才触发流程。

流程触发后我们先对审批状态做个判断,如果审批状态的值为2就进入审批,否则的话就再判断审批状态的值是否为1,以进入上传电子表格的流。

至于上传电子表格,只需要将指定的电子表格先存到OneDrive或者SharePoint里,然后用连接器就能拿到对应的文件了。

我们只需要将拿到的文件放到“电子表格”字段中即可,如果是SharePoint List数据源,可以用“添加附件”节点,将电子表格添加到附件中即可。

这样,当申请人点了“保存为草稿”按钮后,“审批状态”字段的值变为“草稿”,此时新行的创建将触发触发器,流开始执行,由于审批状态是“草稿”,所里流程在第一个“条件”节点处走向右边的分支,在第二个“条件”节点处走向左边的分支,自动将我们指定的文件添加到“电子表格”字段中,此时对行的修改其实会重复触发触发器,但由于我们设置的额外触发条件,此时“电子表格”字段并不为空,所以触发器不会有任何动静。

当流程结束后,申请人就可以看到自己刚保存的草稿自动添加上了一个文件,然后我们可以在Power Apps中将文件设置为可以在线编辑,具体方法我们在以前有分享过,还没看过的小伙伴可以来看一下:

【PowerApps】实现表单附件的在线编辑

这样申请人就可以在线编辑这个电子表格了。

这样做虽然没有办法完全复原客户的需求,毕竟客户那边期望的最好的效果还是我不需要点“保存为草稿”,我直接新建一个表单就可以直接在线填写电子表格。但毕竟我们做出来的效果是要受到Power Platform平台本身的限制的嘛,我们在PP平台能做到的最还原的效果也就到此为止了,这应该算是一个非常少见的需求了,如果您遇见了跟我们这次一样或类似的奇怪需求,希望这篇文章可以帮到您一点。

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值