扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
域基本类型只有数字、文本、日期时间三种。
初始或编辑时,需要将域值清空,则此域的类型一律为文本,不管域定义时的类型是什么。即如果域值为空,可以使用ShuLiang = "" 来判断条件,不管域是否是数字类型还是日期时间类型。而一旦数字域输入了数字,则ShuLiang = ""将会出错,因为犯了1 = ""的类型不匹配的错误。
问题1、三个数字域,分别为:DanJia,ShuLian,JinE,其中JinE为计算域,计算公式为:DanJia * ShuLiang,则当DanJia ,ShuLiang为空值时,JinE就会出错,怎么解决?前提是DanJia,ShuLiang空值是绝对需要的。
首先可以使ShuLian,DanJia的初始值为0,则没有任何问题,单如果程序需要将其值清空,或用户无意清空则显示错误,如何避免呢?
JinE的正确计算公式是:@If(@IsNumber(ShuLiang)&@IsNumber(DanJia); ShuLiang*DanJia ; 0)
问题2、一个没有设置为多值数字域的初始值为:1:2:3,新建文档不作任何修改,刷新时没有任何问题,而如果修改一下域值则系统显示出错,为什么?
首先可以肯定这是设计错误,不能在没有选择“允许多值”的域赋值列表类型。Notes没有发现错误的原因是因为其域能够自动将输入值转换为能够的识别的类型,如:
文本域的初始值可以为数字1,同样,数字域的初始值可以为文本"1",Notes都不会出错。
因此,在单值域的初始值为1:2:3时,Notes自动认为此域为多值域,并自动刷新为显示方式1;2;3。因此刷新,保存都不会有错。
但用户进入域进行编辑修改,刷新文档时,Notes在检查域输入的合法性时,发现被设计为单值的域,输入了空格、分号、逗号或空行等非数字类型,因此显示错误。
因为,Notes只对变化了的域进行域值合法性检查。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者