如何确保子表添加字段值不出现重复(简道云开发高阶技能)

简道云官方指定金牌服务商
前言:

 

本文讨论的不是现在子表单行文本控件已有的不允许重复值属性设置,已有的该属性校验的是表单所有子表数据都不允许重复,包含历史数据的子表。而本文讨论的是当前这一条数据的子表不允许重复,实际业务管控中,本文讨论的重复值校验应用更普遍。

 


 
如何确保子表添加字段值不出现重复
 


子表单字段值不能重复是一个常用功能,这里就不再累述不能重复的原因和场景需求了。实现的方法也有很多,这里先介绍2种。



方法一:通过计算子表不允许重复字段值个数的方法



如下建表,并如图写函数:

1.png


表单校验条件是:"下拉框个数字段值之和"==数字1字段值之和

其中子表单.下拉框选项的个数函数:COUNTIF(SPLIT(下拉框集合,","),子表单.下拉框)

的意思是,先将字段“下拉框集合”通过","分割成多个文本字符串,再用函数COUNTIF()对其数“子表单.下拉框”字段的个数,如果不重复,数的结果肯定是1,下面对应字段sum之和肯定和数字1字段值之和一定相等,如果不等则说明子表单值有重复。

表单测试外链:https://jiandaoyun.com/f/5aa3f78398392229c1da06fa



方法二:通过流水号加聚合表校验条件的方式实现

如下建表,并如图写函数:

2.png


再对此表建聚合表,如下图:

3.png


通过聚合表的公式(数字1)做条件校验:公式<=1

此方法的起效的原理是,同一流水号下的子表单数据通过聚合表的汇总后,如果不重复默认数字1控件的值会依然是1,如果重复则会>1,所以只要通过聚合表校验条件确保其永远<=1即可。

表单测试外链:https://jiandaoyun.com/f/5aa405c510d0a96aadf649f9

此法的缺点是有两个,一是需要消耗一个聚合表指标,二是还要考虑到流水号并发的问题以及提交数据时删除数据导致流水号重复的问题。

所以综合考虑,第一个方法是最常用最合适的。



点击查看作者更多博文:

1、盲人妻子的困惑——子表单自动连续编号的问题-------------------------------------------【发布时间: 2017-07-10】
2、让人又爱又恨的子表单-------------------------------------------------------------------时间: 2020-10-08】

发布时间: 2017-12-05--------------------------------------------时间: 2018-02-12】


作者简介:【点击查看作者社区主页】

  • 牛中伟
  • 简道云官方连续6年指定定制服务商
  • 利用简道云帮客户实施项目近300个
  • 在原简道云老社区更新发布博客44篇
  • 新老社区博客总阅读量超50万,留言1000余条
  • 其中关于子表单的一篇博客收到用户打赏金额累计超7000元
  • 关注帆软社区我的这个账号,有新博客更新,第一时间收到提醒
  • 感谢大家一路以来的认可和支持,我会再接再厉,分享更多有价值的内容
  • 如有任何简道云方面的问题,欢迎留言区留言或单独私信给我,期待与你的交流



不自谦能力概述:

  • 精通子表单各类复杂用法
  • 谙熟函数特性、及各种函数组合用法
  • 独创利用简道云处理多级BOM的方法
  • 深刻理解进销存系统及进销存思维模型
  • 有一定的文本书写能力,总结复盘能力
  • 较强的抽象思维能力、逻辑思维能力、统筹能力
  • 对陌生行业陌生业务有快速的信息搜集整合和学习消化能力
  • 拥有一整套成熟有效的整理系统需求文档的思想、方法和工具
  • 很多用户感觉一直解决不了的问题在我们这里可能早已不是问题
  • 了解如何制定完善的报表分析计划,并借此洞察项目业务背景和业务痛点。
  • 理解系统与企业管理的关系,对如何在企业顺利推进管理系统落地有丰富经验和独到见解。
  • 有一整套经上百大小项目锤炼过的适合简道云这类低代码工具帮助客户实施项目的流程和方法,确保系统更好实施,更快部署,更高完整度交付,确保系统更符合客户预期,甚至超预期,给客户真正带来价值!
底图.jpg

 

懂简道云的冬泳高手,关注我的帆软社区账号,交个朋友!
 


编辑于 2020-11-30 11:39  

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 4关注人数 10402浏览人数
最后回复于:2022-3-2 16:02

返回顶部 返回列表