泛微OA.E9--01--限制发起人每个月发起流程的次数

本文介绍了如何在泛微OA.E9系统中限制用户每月发起特定流程的次数。通过创建字段存储发起次数和月份信息,使用JavaScript获取当前年月,并通过SQL查询统计当月发起次数,最后在节点字段校验中禁止超过限制的提交。这种方法确保每个用户每月只能发起补卡申请流程两次。

泛微OA.E9–01–限制发起人每个月发起流程的次数

功能描述:
现有一个流程叫补卡申请流程,每个人忘记打卡了都可以发起补卡申请流程进行补卡。but 每个人每个月只可以发起两次该流程,当每月发起流程超过2次时,提示“每个人每个月至多可以补卡两次”并且禁止提交该流程。

实现过程:

1. 创建字段
新建两个字段,一个用来存储这个月发起的次数,一个用来存当前发起申请的年月时间。年月的字段是为了sql语句查找本月发起的次数,因为在泛微e9里使用相关的函数数,比如getDate(),year()等函数会不生效,所以才出此下策。最后,把两个字段放到表单模板里。
在这里插入图片描述
2. js获取年月信息,并赋值给年月字段。年月信息的格式为:年-月-%(这里是为了做sql的模糊查询)

年月字段信息如图:
在这里插入图片描述
插入js代码块,内容如下:

<script>
var myDate = new Date();
var tYear = myDate.getFullYear();
var tMonth = myDate.getMonth();

var m = tMonth + 1;
if (m.toString().length == 1) {
m = "0" + m;
}
WfForm.changeFieldValue("field63990", {value:tYear+"-"+m+"-%"});
</script>

3. 使用sql语句统计当月发起流程的次数
在这里插入图片描述
对应sql语句如下:

select count(1) from formtable_main_187 where sqr= $main.sqr$ and sqrq like '$main.dqyf$

formtable_main_187为补卡流程对应的数据库表
在这里插入图片描述
sqr:数据库表里存放的申请人
$main.sqr$:当前发起的流程里的申请人
在这里插入图片描述
4. 通过本月的申请次数设置节点字段校验,当申请次数大于2时,禁止发起人提交流程
在这里插入图片描述
](https://img-blog.csdnimg.cn/82631c2cfc434a438134b652f7839f59.jpeg)

以上就是个人的工作方法总结,如果你有其他更好的方法或者文章有啥问题欢迎大家留言!!ヾ(◍°∇°◍)ノ゙

祝大家工作顺利,加了个油!!!在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值