如何实现会议室预约
某个会议室在某个日期的某个时间段,不能重复预约。所以,这里主要用到了简道云的校验与函数的功能。
1. 制作会议室预约表单
2. 如何判断是否已经有预约
(1)添加一个「辅助字段」。
记录会议室预约的情况。编辑公式,并设置为不可见。 ↓↓↓
(2)添加一个「校验值」字段。
判断本次选中的「时段&会议室&日期」有没有被预约掉。编辑公式,并设置为不可见。 ↓↓↓
分步解释一下这个函数的意思:
MAPX("LAST",辅助字段,辅助字段,辅助字段):选择好会议室、预约时段、预约日期之后,查找辅助字段中有没有出现过一样的值,有则返回该值,没有则会返回空值。
LEN(MAPX("LAST",辅助字段,辅助字段,辅助字段)):对上一步MAPX函数的返回值取字符长度。如果MAPX的返回值为空值(当前选中的日期&时间段&会议室,并没有被预约过),那么LEN函数的值为0;如果MAPX的返回值不为空值(即表示该会议室、预约时段、预约日期的组合被预约过),那么LEN函数的值不为0。
IF(LEN(MAPX("LAST",辅助字段,辅助字段,辅助字段))==0,'A','B'):对上一步中的字符长度进行判断,如果长度为0(即当前选中的日期&时间段&会议室,没有被预约过),返回值为A,否则返回值为B。
公式编辑的具体步骤见下图 ↓↓↓
(3)在表单属性 > 添加校验条件 ↓↓↓
根据上面的公式解释可知,当前选中的日期&时间段&会议室,没有被预约过时,「校验值」字段的值为A,因此在表单校验中的公式为校验值=='A'
(4)表单属性中的「不可见字段赋值」,设置为始终重新计算 ↓↓↓
3. 最后看下实际效果
为了直观显示,先把「辅助字段」与「校验值」设置为可见。大家在测试通过之后,记得把这两个字段设置为不可见。
当前选中的日期&时间段&会议室已经被预约过了,则会触发校验提示 ↓↓↓
当前选中的日期&时间段&会议室未被预约过,则可以通过校验提交数据 ↓↓↓