【Power Platform】实现让审批人可以修改其他人提交的表单中的部分字段

之前我们分享的案例里,我提了一嘴我们的客户有一个需求,就是审批人要有能力修改其他人表单中的部分字段。

今天我们就来分享一下如何实现这个功能。

要实现这个效果,我们需要判断三个值——当前审批人是不是当前登录人、当前审批节点可以修改那个字段,以及审批状态是不是“审批中”。

毕竟是审批人更改表单字段的值,所以理所当然的当前登录人必须得是表单的当前审批人,同时,我们最好确认一下这个字段在那个审批节点可以被修改,比如我们这次分享的案例,“是否有预算”字段需要在第二个审批节点“财务审批”中由财务填写,那么我们最好就做一个限制,限制这个字段只能在运行到第二个节点的时候可以修改。

首先,除了我们几乎给每个表单标配的审批状态,以及部分客户有需求时我们会加上的当前审批人这两个字段外,还要再额外加一个字段用来标记当前审批进入到第几个节点了,我把这个字段命名为“审批标记”,第一个节点审批标记为0,第二个为1,以此类推。

这样的话我们才可以定位到当前审批节点,以实现当流程进入第二个审批节点,即财务审批的时候,“是否有预算”字段才可以被编辑。

然后我们选择建立Power Apps自定义表单。

修改“是否有预算”字段的显示模式。

这里先判断了审批状态的值,当审批状态为“审批中”的时候,才能修改相关字段。

然后是判断当前审批人的邮箱是否等于当前登陆人的邮箱。

最后判断审批表及是否为1,即当前审批节点是否是“财务审批”。

当这三个条件全部成立时,该字段才可被编辑,以确保只有“财务审批”节点的审批人可以编辑这个字段,其他人,包括发起人都没办法编辑。

这样改完之后,我们还需要处理一下表单提交后,除了“是否有预算”字段外,其他字段需要全部进入只读状态的问题,就是表单提交后,除了“是否有预算”字段外,其他字段任何人不得再更改。

之前我们处理“表单提交后字段不能再更改”这个问题是直接让整个表单只读,就像这样:

但这回不能用这个方法了,毕竟全表单只读之后,这个“是否有预算”字段也就无法编辑了。

那我们就只能给每个字段的显示模式都上一个判断了。

要给每一个字段都上一个这个判断哟。

这个判断可以根据需要自行修改,比如有些客户可能会要求表单在“拒绝”状态下,发起人可以重新编辑表单,无非就是改一下判断条件罢了。

注意,改显示模式的时候不要手快把“是否有预算”字段的可见性也一块改了哟。

至于有些需要全程只读的字段那就直接改显示模式的值就好了。

解决这个问题之后我们还需要解决“审批状态”字段的一个问题。

因为我们要实现表单提交后,审批状态自动变成“已提交”,这是为了防止流程对表单进行修改后重复触发流程,所以我们对表单的设定是点击“提交”按钮,变量locIsSubmit

会变为true,而当locIsSubmit为true的时候,审批状态会自动变为“已提交”

这样会出现一个问题,就是当审批人对“审批状态”字段作出修改后,点击系统的保存键

将会导致locIsSubmit变量没有值,使得审批状态被清空。

(点提交键会把状态改成“已提交”,流运行过程中需要审批状态保持为“审批中”)

这个案例里还好,因为这个案例的表单没有“草稿”状态。

对于我们之前做过的,有“草稿”状态的表单,这样会导致审批状态直接变成“草稿”,虽然对流程影响不大,但这样会导致发起人可以编辑表单了。

解决方法就是在设置“审批状态”字段自动改变值的时候做一下判断。

当“审批状态”字段没有值的时候,才会根据locIsSubmit变量改变值,否则该字段原本的值是多少,那就还是多少。

这样的话就已经可以实现审批人可以修改其他人表单中的部分字段的能力了。

之后我们在Power Automate中实时更新当前审批人和审批标记就好了。

注意一下Power Automate更新人员字段的方式,用的是人员的Claims,有点子反人类😂,想看人员的Claims可以回到PA的人员输入框。

这样一设置,然后再搜索指定人员的名字,就可以看到这个人的Claims了。

这样设置完了之后,只要流程到了对应的审批节点,这个节点的审批人就可以修改表单中指定的字段了,而其他字段则依然不能修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/350346.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于python京东商品数据采集与可视化分析大屏设计与实现

随着电子商务行业的快速发展,京东作为中国最大的综合性电商平台之一,拥有海量的商品数据。对这些数据进行采集与分析,能够帮助企业了解市场趋势、消费者需求以及产品销售情况,为决策提供科学依据。 本文旨在基于京东商品数据的采…

Linux设备树中的 gpio 信息

一. 简介 前面几篇文章讲解了 pinctrl 子系统, pinctrl 子系统重点是设置 PIN( 有的 SOC 叫做 PAD) 的复用 和电气属性。 注意:如果 pinctrl 子系统将一个 PIN 复用为 GPIO 的话,那么接下来就要用到 gpio 子系统了。如果 PIN用作其他…

若依微服务框架 上传文件(文件表)

若依微服务得上传文件只有在头像那里才有,而且存储得是地址。 如果想要进行文件表存储,只能自己进行封装。 若依微服务框架 上传文件(文件表) 一、问题二、代码1.组件代码2、调用 一、问题 若依在上传文件这里使用了watch监听&a…

Webpack5 基本使用 - 1

Webpack 是什么 webpack 的核心目的是打包,即把源代码一个一个的 js 文件,打包汇总为一个总文件 bundle.js。 基本配置包括mode指定打包模式,entry指定打包入口,output指定打包输出目录。 另外,由于 webpack默认只能打…

R语言批量把数值变量和因子变量的互转

#我们以rms包的lung数据集为例 library(rms) data<-lung #这里有两种方法&#xff0c; #第1是知道需要转化的变量在哪几列&#xff1b; #第2知道需要转化的变量名 str(data) #假设我们想转化inst/status/sex/三个变量的类型 #图1先看看变量类型和处于第几列 str(dat…

【C++11并发】mutex 笔记

简介 在多线程中往往需要访问临界资源&#xff0c;C11为我们提供了mutex等相关类来保护临界资源&#xff0c;保证某一时刻只有一个线程可以访问临界资源。主要包括各种mutex&#xff0c;他们的命名大都是xx_mutex。以及RAII风格的wrapper类&#xff0c;RAII就是一般在构造的时…

VRRP6协议--负载均衡配置

VRRP6负载均衡 VRRP6负载均衡指的是创建多个备份组,多个备份组同时承担数据转发的任务,对于每一个备份组,都有自己的Master和若干Backup设备。 VRRP6负载分担与VRRP6主备备份的基本原理和报文协商过程都是相同的。同样对于每一个VRRP6备份组,都包含一个Master设备和若干Ba…

蓝桥杯备战——7.DS18B20温度传感器

1.分析原理图 通过上图我们可以看到DS18B20通过单总线接到了单片机的P14上。 2.查阅DS18B20使用手册 比赛的时候是会提供DS18B20单总线通讯协议的代码&#xff0c;但是没有提供读取温度数据的代码&#xff0c;所以还是需要我们去查看手册&#xff0c;我只把重要部分截下来了 …

幻兽帕鲁搭建私服,一键更新方法

看着帕鲁这么火&#xff0c;估计更新会变为常态了&#xff0c;如果有自己搭建私服的话&#xff0c;跟着我下面的方法去进行更新吧&#xff01; 如果你还没有自己的私服&#xff0c;快去三五十搞一个吧&#xff0c;只需三五分钟&#xff0c;叫上你的小伙伴一起去搞起来吧 只需3分…

计算机网络体系架构认知--网络协议栈

文章目录 一.计算机网络分层架构各协议层和计算机系统的联系从整体上理解计算机网络通信计算机网络通信的本质 二.Mac地址,IP地址和进程端口号三.局域网通信与跨局域网通信局域网通信跨局域网通信全球互联的通信脉络 四.网络编程概述 一.计算机网络分层架构 实现计算机长距离网…

25考研每日的时间安排

今天要给大家分享一下25考研每日的时间安排。 没有完美的计划&#xff0c;只有合适的计划。 仅供参考 很多人说复习不要只看时长而是要看效率&#xff0c;所以学多长时间不重要&#xff0c;重要的高效率完成任务。 完美的计划 这个计划看起来很完美&#xff0c;从早到晚有学习…

【产品笔记】ESP32及其物联网硬件设备——ESP32智能网关

ESP32是一款适用于许多物联网应用的强大芯片。本文作为学习笔记&#xff0c;记录ESP32及其衍生产品在物联网中的特点&#xff0c;希望对您选择基于ESP32的物联网网关也能有帮助。 什么是ESP32&#xff1f; 在嵌入式系统和物联网应用领域&#xff0c;ESP32是一款广受欢迎的微控…

【JavaMail】Java中发送邮件

文章目录 一、概念二、Java中发送邮件1.导入2.连接SMTP服务器3.创建Session会话4.发送纯文本邮件5.发送带附件邮件 三、封装工具类 一、概念 首先需要明白以下概念&#xff1a; 不需要深入了解他们是怎么工作的&#xff0c;记住关键字即可&#xff1a; SMTP协议&#xff1a;邮…

进程地址空间(Linux)

进程地址空间 一、引入概念1. 程序的地址分布2. 线性地址和物理地址 二、进程地址空间1. 初步认识2. 地址空间和物理内存的联系3. 区域划分4. 拓展——关于“线” 三、进一步理解进程地址空间四、页表总结 一、引入概念 1. 程序的地址分布 测试代码&#xff1a; #include &l…

HttpHeaders 源码中headers成员变量为什么声明为final

源码如下 public class HttpHeaders implements MultiValueMap<String, String>, Serializable {private final Map<String, List<String>> headers;public String getFirst(String headerName) {List<String> headerValues (List)this.headers.get(…

STM32标准库开发—W25Q64详细介绍

W25Q64简介 Flash编程原理都是只能将1写为0&#xff0c;而不能将0写成1.所以在Flash编程之前&#xff0c;必须将对应的块擦除&#xff0c;而擦除的过程就是将所有位都写为1的过程&#xff0c;块内的所有字节变为0xFF.因此可以说&#xff0c;编程是将相应位写0的过程&#xff0c…

【Java发送邮箱】spring boot 发送邮箱

导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependency> 2.在properties配置邮箱 # 发件人QQ号 spring.mail.username2508575653qq.com # QQ邮箱授权码 sp…

EIGRP实验

实验大纲 一、基本配置 1.构建网络拓扑结构图 2.路由器基本配置 3.配置PC 4.测试连通性 5.保存配置文件 二、配置EIGRP 1.查看路由表 2.配置EIGRP动态路由 3.查看路由器路由表 4.测试网络连通性 5.查看所有路由器的路由协议 6.保存配置文件 三、配置OSPF 1.配置…

vue+draggable+el-upload上传图片拖拽重排方法

vuedraggableel-upload上传图片拖拽重排方法 1.html <el-row><el-col><el-form-item label"添加视频/图片" prop"device_id"><div class"image-upload"><draggable v-model"fileList" update"dataDr…

外包干了2个月,技术反而退步了...

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…