JVS函数公式使用场景介绍
------------------------------------------------------------------------------------------------------------------------
JVS是软开企服倾力打造的企业数字化快速开发平台,平台支持原生应用与轻应用,其中部分功能已经在gitee上开源,开源地址:gitee.com/software-minister/jvs,此文作为系列文章之一。
--------------------------------------------------------------------------------------------------------------------------
在填写表单或修改表单数据时,可以使该字段的值根据公式自动计算出来,不需要再手动填写。
目前一共支持 96 种函数,函数的灵活应用,对于数据收集有很多作用:
(1)可以提高填写表单的效率,将一些数据自动计算出来,减少需要填写的内容
如,分数在 90 以上时等级为 A,否则为 B。那么在输入分数之后,等级是 A 或 B 就能根据公式自动判断出来。
(2)可以减少错误
如,当前库存总数量=入库数量-已出库数量。那么在入库数量、已出库数量输入之后,当前库存总数量就能根据公式自动计算出来,避免手工计算出错。
函数公式设置
目前基本上所有的组件都已经支持编辑公式。
路径:选择画布中的组件 >> 属性配置面板 >>事件 >> 公式设置 >>配置
参与来源与表单携带过来的数据、系统底层提供的全局数据等,配置方式类excel的函数配置。
公式使用的场景
公式使用场景
公式的组成
公式通常由组件、函数、运算符和标点符号组成
所有的字段,实际上都有一个内置的唯一标识,而所能看见的组件名称,也仅仅是一个显示名称。当公式需要将字段值作为变量时,手动输入或复制粘贴都是无效的(当前页面的公式可以拷贝给当前页面使用)
因为组件名可以重复,如果需要在公式中插入组件,应在字段列表中点击该组件,而不是手动输入组件名称。
公式内所有出现的符号,都需要在英文状态下输入
公式规则
在当前/所有表单字段中选择字段
公式所要用到的字段,绝大多数情况下是从 当前表单字段 中选择
只有 业务关联规则的函数会用到 所有表单字段
提醒:从当前表单字段中选择的字段是蓝色的,从所有表单字段中选择的字段是绿色的
运算符号
公式中,支持基本的运算操作符 +、-、*、/
加 |
减 |
乘 |
除 |
+ |
- |
* |
/ |
注:JVS公式中,等于逻辑应该用 EQ() ,而不是 = 。
公式概览(部分公式计划中)
函数 |
函数分类 |
说明 |
说明 |
上手实例 |
EQ |
逻辑函数 |
两个值比较,相等返回 true,默认忽略大小写,若不忽略,则填写第三个参数true |
2个,必填 |
EQ(value1,value2) |
NE |
逻辑函数 |
两个值比较,不相等返回 true,默认忽略大小写,若不忽略,则填写第三个参数true |
2个,必填 |
NE(value1,value2) |
LT |
逻辑函数 |
value1小于value2返回 true |
2个,必填 |
LT(value1,value2) |
GT |
逻辑函数 |
value1大于value2返回 true |
2个,必填 |
GT(value1,value2) |
LE |
逻辑函数 |
value1小于等于value2返回 true |
2个,必填 |
LE(value1,value2) |
GE |
逻辑函数 |
value1大于等于value2返回 true |
2个,必填 |
GE(value1,value2) |
AND |
逻辑函数 |
当参数组中的所有参数逻辑值为 true 时(逗号隔开的逻辑式子都满足),才返回 true,当参数组中的任何一个参数逻辑值为 false 时,就会返回false。 |
至少1个,必填 |
AND(logical1, [logical2], ...) |
OR |
逻辑函数 |
在参数组中,任何一个参数逻辑值为 true(逗号隔开的逻辑式子其中一项满足),即返回 true;只有当所有逻辑参数值为 false,才返回 false。 |
至少1个,必填 |
OR(logical1,[logical2], ...) |
NOT |
逻辑函数 |
对参数逻辑值求反。NOT 比较简单,就是把括号里为 true 的值变成 false,括号里为 false 的值变为 true。 |
1个,必填 |
NOT(logical) |
IF |
逻辑函数 |
判断一个条件能否满足;如果满足返回一个值,如果不满足则返回另外一个值 |
3个,必填 |
IF(A,B,C) |
ISEMPTY |
逻辑函数 |
判断一个字段是否为空;如果为空,则返回 true;如果不为空则返回 false |
1个,必填 |
ISEMPTY(字段) |
CONCATENATE |
文本函数 |
将多个字符串拼接合成一个文本字符串 |
至少1个,必填 |
CONCATENATE(text1,[text2], ...) |
LEFT |
文本函数 |
从一个文本字符串的第一个字符开始返回指定个数的字符,如果文本长度小于自定字符个数,就将原始文本返回 |
2个,必填 |
LEFT(text,num_chars) |
RIGHT |
文本函数 |
从一个文本字符串的最后一个字符开始返回指定个数的字符,如果文本长度小于自定字符个数,就将原始文本返回 |
2个,必填 |
RIGHT(text,num_chars) |
LEN |
文本函数 |
返回文本字符串中的字符个数 |
1个,必填 |
LEN(text) |
LOWER |
文本函数 |
将一个文本字符串中的所有大写字母转换为小写字母 |
1个,必填 |
LOWER(text) |
UPPER |
文本函数 |
将一个文本字符串中的所有小写字母转换为大写字母 |
1个,必填 |
UPPER(text) |
REPLACE |
文本函数 |
根据指定的字符数,将部分文本字符串替换为不同的文本字符串 |
1个,必填 |
REPLACE(oldtext, startnum, numchars, newtext) |
REPT |
文本函数 |
将文本重复指定次数 |
2个,必填 |
REPT(text, number_times) |
SEARCH |
文本函数 |
在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。返回 0 则表示未查找到 |
3个,前2个必填 |
SEARCH(findtext,withintext,[start_num]) |
MID |
文本函数 |
截取文本的有效部分内容 |
3个,必填 |
MID(text,start_index,end_index) |
ISEMPTY |
文本函数 |
判断值是否为空字符串、空对象或者空数组 |
1个,必填 |
ISEMPTY(text) |
ADD |
数学函数 |
计算多个字段值总和 |
至少1个,必填 |
ADD(number1, [number2], ...) |
AVERAGE |
数学函数 |
求多个数值的平均值 |
至少1个,必填 |
AVERAGE(number1, [number2], ...) |
MAX |
数学函数 |
返回一组数字中的最大值 |
至少1个,必填 |
MAX(Number1, [Number2], ...) |
MIN |
数学函数 |
返回一组数字中的最小值 |
至少1个,必填 |
MIN(Number1, [Number2], ...) |
ABS |
数学函数 |
当数值为负数的时候返回他的绝对值数值 |
1个,必填 |
ABS(Number) |
ROUND |
数学函数 |
数值出现小数点的时候,将小位数指定到对应的位数 |
2个,必填 |
ROUND(number, num_digits) |
CEILING |
数学函数 |
返回将参数 number 向上舍入(沿绝对值增大的方向)为最接近的指定基数的倍数 |
2个,必填 |
CEILING(number, significance) |
FLOOR |
数学函数 |
将参数 number 向下舍入(沿绝对值减小的方向)为最接近的 significance 的倍数 |
2个,必填 |
FLOOR(number, significance) |
INTNUM |
数学函数 |
将数字向下舍入到最接近的整数 |
1个,必填 |
INTNUM(number) |
LOG |
数学函数 |
根据指定底数返回数字的对数 |
2个,必填 |
LOG(number, base) |
MOD |
数学函数 |
返回 2 个数值组件相除的余数 |
2个,必填 |
MOD(number, divisor) |
POWER |
数学函数 |
计算出数值组件乘幂的值 |
2个,必填 |
POWER(number, power) |
FIXED |
数学函数 |
将数字舍入到指定的小数位数,以十进制数格式对该数进行格式设置,并以数字形式返回结果 |
2个,必填 |
FIXED(number, decimals) |
SQRT |
数学函数 |
取数值组件值正的平方根 |
1个,必填 |
SQRT(number) |
SUM |
数学函数 |
函数使所有以参数形式给出的数字相加并返回和 |
至少1个,必填 |
SUM(number1, [number2], ...) |
PRODUCT |
数学函数 |
数字相乘 |
2个,必填 |
PRODUCT(number1,number2) |
SUMPRODUCT |
数学函数 |
在给定的数组中,将数组间对应的元素相乘,并返回乘积之和 |
2个,必填 |
SUMPRODUCT(array1, array2) |
NUMBERCOMPARE |
数学函数 |
数值组件与数值组件2比较,大于返回1,等于返回0,小于返回-1 |
2个,必填 |
NUMBERCOMPARE(数值组件1,数值组件2) |
SUBTRACT |
数学函数 |
减法运算或负号,一个参数时给参数添加负号,两个参数时相减 |
1个或2个 |
SUBTRACT(number)或SUBTRACT(number1,number2) |
MULTIPLY |
数学函数 |
乘法运算 |
至少2个,必填 |
MULTIPLY(number1, [number2], ...) |
DIVIDE |
数学函数 |
除法运算 |
2个,必填 |
DIVIDE(number1,number2) |
NOW |
时间函数 |
返回当前时间,格式为年-月-日 时-分-秒 |
不可填 |
NOW() |
TIMEFORMAT |
时间函数 |
将时间戳转换为指定日期格式 |
2个,必填 |
TIMEFORMAT(date1,'yyyy年MM月dd日') |
GETYEAR |
时间函数 |
获取指定时间的年份 |
1个,必填 |
GETYEAR(date1) |
GETMONTH |
时间函数 |
获取指定时间的月份 |
1个,必填 |
GETMONTH(date1) |
GETDATE |
时间函数 |
获取指定时间的天数,这个月的第几天 |
1个,必填 |
GETDATE(date1) |
GETWEEKDAY |
时间函数 |
获取指定时间的星期几 |
1个,必填 |
GETWEEKDAY(date1) |
COMPARE |
时间函数 |
比较两个时间的大小,日期1 大于 日期2 返回 true,否则返回 false |
2个,必填 |
COMPARE(date1,date2) |
TIMEBETWEEN |
时间函数 |
返回两个日期之间相差的天、月、年、小时等。 第三个参数使用不同的参数返回同的相差类型:天(DAYS)、周(WEEKS)、月(MONTHS)、年(YEARS)、小时(HOURS)、分钟(MINUTES)、秒(SECONDS)。 |
3个,必填 |
TIMEBETWEEN(date1,date2,'DAYS') |
INTERSECTIONSET |
集合函数 |
计算两个集合的交集 |
2个,必填 |
INTERSECTIONSET(array1,array2) |
UNIONSET |
集合函数 |
计算两个集合的并集 |
2个,必填 |
UNIONSET(array1,array2) |
DIFFERENCESET |
集合函数 |
计算两个集合的差集 |
2个,必填 |
DIFFERENCESET(array1,array2) |
SUBSET |
集合函数 |
计算第二个集合是否第一个集合的子集 |
2个,必填 |
SUBSET(array1,array2) |
ARRAYGET |
集合函数 |
返回数据集中第k个值 |
2个,必填 |
ARRAYGET(Array, k) |
LARGE |
集合函数 |
返回数据集中第k个最大值 |
2个,必填 |
LARGE(Array, k) |
SMALL |
集合函数 |
返回数据集中第k个最小值 |
2个,必填 |
SMALL(Array,k) |
USER |
人员类 |
无参数模式:User() 获取当前登录人; |
1个,选填 |
USER() |
有参数模式:User(level) 当前登录人的主管, level 是 获取当前登录人的主管 |
USER([level]) |
|||
USERFIELD |
人员类 |
人员搜索框需要联动带出一些基本信息 |
2个,必填 |
USERFIELD( 成员 ,"userId"),USERFIELD( 成员 ,"name") |
GETUSERNAME |
人员类 |
获取当前登录人昵称 |
不可填 |
GETUSERNAME() |
EMPLOYEE |
人员类 |
返回对应的人员信息对象数组(即人员组件底层的值) |
1个,必填 |
EMPLOYEE(array1) |
DIRECTOR |
人员类 |
获取当前登陆人的主管名称 |
1个,必填 |
DIRECTOR(level) |
LOGINUSER |
人员类 |
登录人 |
不可填 |
LOGINUSER() |
LOGINUSERWORKNO |
人员类 |
获取当前登录人员工唯一ID(员工UserID) |
不可填 |
LOGINUSERWORKNO() |
DEPTNAME |
部门类 |
获取指定人所在部门名称 |
1个,必填 |
DEPTNAME(userId) |
COUNT |
通用类 |
统计指定表单提交的数据总数 |
至少1个,必填 |
COUNT("表单ID") |
JVS函数公式使用场景介绍相关推荐
- SpreadJS + GcExcel 一出,谁与争锋 全栈表格技术轻松应对复杂公式计算场景(一)
设计思路篇 Excel是我们日常办公中最常用的电子表格程序,不仅可满足报表数据的计算需求,还可提供绘图.数据透视分析.BI和Visual Basic for Applications (VBA)宏语言 ...
- 求介绍matlab函数用法的书,MATLAB初学者教程--函数用法的简单介绍
1.4 函数用法的简单介绍 1.4.1什么是函数 似乎很多人一听到函数这个词就会想到数学中的某个概念,然后对于恐惧数学的同学就开始打退堂鼓.在matlab当中到处可以用到函数,它的出现可以让我们用很简 ...
- 水晶报表位置公式_高频、实用函数公式,提升您的工作效率!
在职场办公中,我们经常要整理各种表格.报表,对其进行各种分析处理.如果我们能够熟练掌握一些函数公式,那么,在处理数据时就更加得心应手,更加高效的完成任务. 分析云中,整理了7大类.50多个函数公式,点 ...
- 计算机公式column,函数公式的左膀右臂:ROW、COLUMN函数知多少
一个公式生成乘法口诀表 演示的公式中用到了两个函数:ROW和COLUMN,这两个函数的用途非常广泛,可以配合其他函数实现很多功能(尤其是和VLOOKUP函数),另外和这两个函数相似的还有ROWS和CO ...
- js保留两位小数的函数_使用率低但功能强大的6个Excel函数公式应用技巧解读!...
在Excel函数公式中,有部分函数的使用率是比较低的,但是其功能也是非常强大的. 一.Median函数. 功能:返回一组数的中值.中值就是一组数的中间数值,如果参数包含的数值是偶数,Median函数将 ...
- 忽视大小写函数_使用率低但功能强大的6个Excel函数公式应用技巧解读!
在Excel函数公式中,有部分函数的使用率是比较低的,但是其功能也是非常强大的. 一.Median函数. 功能:返回一组数的中值.中值就是一组数的中间数值,如果参数包含的数值是偶数,Median函数将 ...
- python函数的使用场景_详解python中strip函数的使用场景
python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除序列的字符 s.l ...
- excel常用函数公式及技巧_Excel统计类函数公式应用技巧解读,绝对的硬核干货!...
Excel的功能在于对数据进行统计和计算,其自带了很多的函数,利用这些函数可以完成很多的实际需求,经过加工和处理,还可以组成很多的公式,其功能就更加的强大,今天,小编带大家了解一下Excel中的常用的 ...
- EXCEL常用函数公式和VBA汇总
EXCEL自学之路第一节 1.test01 excel生成目录 2.test02 打开全部隐藏工作表 3.test03 多个工作表汇总到一个工作表 4.test04 隔m列(行)插入n列空白列(行) ...
最新文章
- php自动计算增长率,如何写sql计算增长率?
- 京东一面:Spring 为何需要三级缓存解决循环依赖,而不是二级缓存?我懵了。。...
- 基于http协议的api接口对于客户端的身份认证方式以及安全措施
- mysq对存在null值的字段排序
- 简化Redis数据访问代码RedisTemplate
- C#中如何得到Graphics对象
- winform错误提示 :窗口类名无效(Window class name is not valid)
- truncate python是删除文件内容吗_在Python中操作文件之truncate()方法的使用教程
- spring和mybatis结合做简单的增删查改系统_springbootamp;amp;vue简单的景点信息管理系统...
- day 45 SQLAlchemy,和增删查改
- 【DC-DC开关电源芯片的使用(LM2596)】
- java语言算阴影梯形面积_例1.2 在梯形中阴影部分面积是150平方厘米,求梯形面积。(《信息学奥赛一本通》)...
- 简易版扫雷(C语言实现)
- 信号与电源完整性6:EMI电磁干扰分析及降低解决方案概述
- Rotation - 旋转
- 使用腾讯云sms短信服务
- 解决网课作业无法粘贴问题
- ‘make_unique’ is not a member of ‘std’
- 编程之美 笔记之——24点游戏
- 叮当叮当的优势在那里
热门文章
- 建群网培PMP每日一练2020-7-14
- java 获取秒数_Java获取精确到秒的时间戳(转)
- 旅行箱包在旅行中是必不可少的用品
- 神州信息金融科技产品系列丨神州云鼎云服务平台
- Windows 成功地加载了这个硬件的设备驱动程序,但找不到硬件设备。 (代码 41)
- JS 生成随机数/随机数组
- PS中渐变映射使用方法与技巧
- 杀戮尖塔java启动消失,关于杀戮尖塔闪退和BUG的可能性及官方解决办法
- qt-example之animated picture的学习
- dokuwiki上传图片(文件资源)失败