2022.01.18 版本更新-公式体验全新升级
版本范围:所有版本
本次宜搭针对公式场景进行了全新的体验升级,覆盖公式的5大场景,并针对社区反馈的高频问题,提高公式创建与编辑效率。
低代码平台中,公式可方便的对数据进行轻量级加工
优化覆盖5大公式场景:
场景1:公式选中更高效
- 公式焦点优化:插入公式光标自动居中、表单字段实现整体编辑
场景2: 公式检索更聪明
支持字段名称、公式名称、公式图谱信息的快速检索
- 公式的名称、描述、场景描述均可被智能识别。
检索更人性化
可以搜索含语义化的描述,自动过滤出所有有关的函数
- 例如:
- 搜汉字 “加法”,自动检索出【SUM】
- 搜汉字 “今天”,自动检索出【TODAY】函数
- 搜汉字 “首字母”,自动检索出【PINYINHEADCHAR】函数
- 搜汉字 “某某”,自动猜出你想要的公式.... 👍🏻
ps:欢迎大家在文档下发留言【你希望的公式联想词】,我们会选择合适的建议录入推荐内容
4大业务场景全兼容
- 覆盖表单字段公式、表单业务关联、连接器公式等场景的公式使用入口均支持搜索功能
场景 | 支持搜索功能后 |
1、表单设计器:组件公式编辑面板 | |
2、表单设置:页面公式校验、业务关联规则校验 | |
3、流程:节点规则公式设置 | 普通流程-节点提交规则设置 高级流程-节点提交规则公式设置 |
4、集成&自动化 :流程设置-节点提交规则设置 |
场景3:公式识错更及时
公式函数名:点击即可即时反馈使用说明
语法检测即时反馈:函数名、函数参数、函数返回值嵌套、语法解析
场景4:新增5个函数:
面向有一定IT经验的开发者,提供了5个新型高级函数,以覆盖多部门、多主管的人员通讯录复杂场景:
- 3个构造器函数(DeptBuilder、UserBuilder、DirectorBuilder)
- 2个工具型函数(GetArrayItem、GetObjectField)
复杂场景介绍:
当涉及多部门、多主管的场景时会遇到3个场景,极限情况下可能会同时发生
- 场景1:成员组件通过选人可选取多人(1对多)
- 场景2:每一个人可能同时所属与多个部门(1对多)
- 场景3:么在每个部门时都可能对应1个主管(1对1)
为了更好的解决 【场景1 、场景 2、场景3】,我们提供下面的几个函数,通过配合表单组件的选择,可基本解决各种多部门、多主管的业务场景。
3个构造器函数
函数介绍 | 函数参数说明 | 函数返回值说明 | 函数使用介绍 |
UserBuilder 作为成员构造函数,用于生成指定 userId 列表或指定成员组件所对应的人员对象列表集合。 | 成员组件 或 指定员工工号 | 一个成员集合 | 说明: UserBuilder(成员组件)或UserBuilder(["userId_1","userId_2"] )
UserBuilder(成员组件) 生成指定成员组件选取后的人员模对象' |
DirectorBuilder 作为主管构造函数,用于生成当前登录人或指定某1个人的第n级主管,level>=1,返回对应主管的人员模型集合(支持多主管场景) | 参数1:空串代表当前登录人 参数2:上级主管的层级 | 一个成员集合 | 说明: DirectorBuilder("" , 1) 获取当前登录人的1级直接主管集合 、DirectorBuilder("userId_123", 2 ) 获取指定userId人员的2级直接主管集合
DirectorBuilder( GetObjectField( GetArrayItem(成员组件, 1) , "userId_123"), 2) 获取工号为 userId_123 员工的2级主管的人员对象列表 |
DeptBuilder 用于生成 指定人员所在的部门集合(支持多部门场景),其指定类型可以是当前登录人、指定userId的人员、或单选模式下的成员组件。 | 不传任何参数可获得当前登录人部门 指定人员信息 | 一个部门集合 | 说明:
|
2个工具型函数
函数介绍 | 函数参数说明 | 函数返回值说明 | 函数使用介绍 |
GetObjectField用于对指定的标准json对象中获取指定key对应的value属性值 | (标准Json对象类型,属性ID) | 文本 | 用法举例: GetObjectField(GetArrayItem(成员组件,1), "label") |
GetArrayItem(标准JsonArray类型,n) | (标准JsonArray数组类型,n) n为大于1的正整数 , n=1代表第1项 | Json | 用法举例: GetArrayItem(部门组件,1) 获取指定数组中第1个数据单元。对于部门组件则返回对应的部门ID
GetArrayItem(成员组件数组,1) 获取指定成员数组中第1个数据单元 |
场景5:部门组件支持函数默认值
配合 DeptBuilder 公式,可以快速初始化 表单部门组件默认值
- DeptBuilder支持3种场景:
- 无参数, 代表当前登录人的所在直接部门
- 或 userid ,指定成员id的所在直接部门
- 或 单选的成员组件,成员组件对应成员所在直接部门
已知问题修复:
1. 提升公式执行可靠性:
背景说明:
公式是一套规则表达式,并分为编写表达式,和执行表达式并获得计算结果。
触发条件:
由于部分公式逻辑需借助网络传输采用云端计算,在特定弱网场景下,部分公式计算结果若还未完成,就提交表单的话,会造成落库数据与业务预期不一致的情况。
解决方案:
此次通过对宜搭公式的前后端的能力升级,通过引入公式【执行锁】的能力,提升宜搭的公式结算在极端情况下的可靠性保证。
2. 解决公式型字段默认值引用无法修改问题
触发条件:
表单设计态:表单组件A通过公式设置了默认值,如果组件B通过公式又引用了组件A。
表单运行态:则A的表单无法2次修改
解决方案:
目前支持运行态时,上述的表单组件A可自由修改。组件A为宜搭表单中所有支持公式默认值的组件。