致远表单公式
分享致远OA表单公式
致远OA开发实施运维支持
交个朋友、也寻求一些合作机会。欢迎沟通、欢迎合作!(联系方式见主页左侧栏)
展开
-
致远OA表单自定义函数(明细表去重拼接)
需求背景昨天,接到一个十万火急的电话,工程师在电话中痛诉最近被明细表计算给逼疯了,刚解决取指定明细行值的需求,现在又有明细表计算需求:有一张月加班费用申报表,明细表中记录了员工每天的加班情况,需要在主表中显示本月所有加班人员的名称,且人员名称不能重复。反应快的小伙伴马上就想到了本表汇总,通过新增汇总表就可以实现人名的去重。对的,这个办法确实可用,和小编当时想到的方案一样。可是工程师兄弟不买账,希望能给一个操作简单的方案。有什么办法可以一步到位呢?...原创 2021-09-07 00:02:51 · 2550 阅读 · 1 评论 -
致远OA表单自定义函数(流程结束延时触发 )
需求探讨我有个朋友遇到了这样的需求,希望流程结束后隔一段时间再触发另一个流程,比如借款后隔一段时间自动触发还款,遇到这样的需求我们应该如何处理呢?要实现这个需求,我们可以在流程最后另加一个节点,取名“系统延时”一类的名称,节点操作人使用一个无人使用的虚拟账号,设置一个处理期限,处理期限到达后自动跳过。这样把“流程结束——隔一段时间——自动触发流程”的需求,转化为“隔一段时间——流程结束——自动触发流程”来变相实现延时触发的效果。...原创 2021-09-07 00:05:15 · 1828 阅读 · 0 评论 -
致远OA表单自定义函数(明细表间重复判断 )
需求背景一个伙伴顾问的需求:客户有一个培训记录表,需要避免参训人员和未参训人员这两个明细表中出现重复。分析了这个需求后,小编发现目前标准的计算公式无法实现跨表计算,那么只能通过自定义函数来解决。实现思路:将参与人员编号拼接后的值转换为数组,每一个值分别判断是否包含在未参训人员明细表中,若包含则返回“重复”,所有不包含则返回“不重复”。代码分享def data = param[0]; String res = ""; res=...原创 2021-09-06 23:42:25 · 2668 阅读 · 6 评论 -
致远OA表单自定义函数(计算N年后今天的日期 )
需求背景看到这个标题,可能好些人懵了,N年后的今天这么简单,还需要计算么?的确,人脑算很简单,但是咱们的表单中……前日,有人跟大表哥来电,就说客户要根据档案的归档日期和保存年限,自动计算出档案的销毁日期。说白了,就是要计算出N年后同月同日那天的日期。貌似简单,可是在咱们表单中,目前还真没有找到快捷的方法计算出来,就因为公历中有闰年。但是,问题难不倒咱,试试咯。结果,兜兜转转,还是能得到想要的结果。根据现有的函数和计算方式,需要增加3个...原创 2021-09-06 23:35:56 · 2296 阅读 · 0 评论 -
致远OA表单自定义函数(明细表排名 )
需求描述需要在表单中体现人员考评、销售业绩、考试得分、费用排名等业务场景时,之前我们总是束手无策。代码分享Doublej = param[0];def o = param[1].split("、");int i = o.size();int res = 1;for(int n=0;n<i;n++){if(o[n].toDouble()<=j) continue;res++;}return res;操作设置效果展示...原创 2021-09-06 23:29:34 · 1683 阅读 · 2 评论 -
致远OA表单自定义函数(取上一行金额)
需求探讨前期,在我开始分享自定义函数时,有同事就建议小编研究一下取重复表上一行金额的自定义函数。解决办法:主表中控件取出明细表金额数组,然后利用当前行的行号计算出上一行的行号,最后查找数组中对应行号的值。代码分享主表def st = param[0];String res = "";if(null != st) {for(t in st) {res += t.replace(',', '')+'、' ;}}...原创 2021-09-02 00:07:00 · 1778 阅读 · 2 评论 -
致远OA表单自定义函数(明细表字符串拼接换行显示 )
需求背景有时客户的需求比较难,有时客户的需求比较特殊,为了实现需求我们通常绞尽脑汁,服务好客户就是我们的宗旨。(例如:字符串如何换行显示?)要实现这个需求不难,grovy中有转义符\n可实现换行。下面就直接拿上上期的案例来演示这个换行效果了。代码分享String tmp1 = param[0];return tmp1.replace('[', '').replace(']', '').replace(', ', "\n").tr...原创 2021-09-02 00:07:29 · 1736 阅读 · 0 评论 -
致远OA表单自定义函数(当月天数计算 )
需求探索在月度考勤表中,主表有一个日期控件选择考勤期间,明细表包含姓名和1到31日,须根据当月的天数来控制29、30、31日的填写。反应快的同学看到这里马上就举手了,用标准的取月函数获取考勤期间所在月份,然后在高级计算公式中列举出一月到十二月对应的天数,最后根据天数来配置29、30、31日的操作权限。不错,可是闰年与平年在二月的天数上有差异。。。。。反应快的同学又举手了,我们再取年函数获取考勤期间所在年度,然后判断当前年度是闰年还是平...原创 2021-09-01 23:27:41 · 1776 阅读 · 0 评论 -
致远OA表单自定义函数(明细表字符串分类拼接)
前言在上一期已经实现了实现明细表字符串的拼接。但能不能对明细表字符串分类拼接呢?答案是肯定的。需求背景在工作排班单的明细表中,分别记录了白班、夜班和深夜班的人员,需要在主表的“白班人员”、“夜班人员”和“深夜班人员”三个数据域控件中汇总显示对应班次的人员姓名。使用说明使用说明:根据分类不同,如下代码中的“白班”二字替换为相应的分类名称。代码分享def work = param[0];def name = para...原创 2021-09-01 23:19:14 · 2315 阅读 · 2 评论 -
致远OA表单自定义函数(明细表字符串拼接)
需求背景 在部门人员表中,明细表包含了当前部门所有的人员,需要将明细表“姓名”一列的值进行拼接,并用顿号分隔后显示在主表“部门人员”文本域控件中。代码分享String tmp0 = param[0];return tmp0.replace('[', '').replace(']', '').replace(', ', '、').trim();操作设置效果展示说明:将明细表的姓名拼接到部门人员这里了以上就是致远OA表单的分享,脚本用的语言是gro...原创 2021-09-01 23:04:42 · 1994 阅读 · 2 评论 -
致远OA表单自定义函数(日期时间计算)
场景思考:表单里有个自动获取系统时间的开始时间,一个固定的考试时间。现在需要自动计算出考试结束时间,怎么操作呢?解决思路:增加一个数字控件“分钟换算小时”,设置控件的小数位长度为3位,使用计算公式将分钟数除以60分钟并加上0.001公式设置:效果展示:写在最后:计算的方案有很多,这只是其中一种方法。虽然公式的场景不能完全照搬,但对于开拓公式使用思维还是很有帮助,希望对同学有所帮助。有所收获,留下三连击...原创 2021-08-28 01:47:50 · 2454 阅读 · 1 评论 -
致远OA表单自定义函数(多组织控件计数)
在CAP4表单,如何实现多选单位、多选部门、多选人员、多选岗位甚至文本控件(英文半角逗号分隔)的自动计算呢?代码分享 :String ids = param[0];if (ids==null || ids.equals("") || ids.equals("0.0")){ return 0;}String[] users = ids.split(",");return users.length;公式设置:效果展示:这样子,组件字...原创 2021-08-27 00:18:06 · 2032 阅读 · 0 评论