首页 >> 大全

ZohoCRM-Deluge-函数应用-时间验证

2023-11-12 大全 23 作者:考证青年

关于

Zoho专有脚本语言可以处理开发人员可能要执行的任何任务。 凭借内置的包装程序和强大的执行引擎,它已发展成为最快,最灵活的脚本语言之一。(官方介绍自动翻译结果)

我这次要干什么

使用不到3个月,想在里面配置一个字段验证规则,确保结束时间必须大于开始时间。

实现的步骤 找可行的方法

中国的服务商建议我用函数验证实现,他们服务是收费的,所以只能告诉我怎么实现,我要自己研究实现。

鼓捣脚本我最擅长了,那就开始对着文档敲吧,当然敲之前心里还是屡一下实现的逻辑,虽然这个并不复杂。

函数实现的逻辑

在保存和编辑表单时,验证开始时间和结束时间的关系。

验证结束时间必须大于开始时间。验证开始时间必须小于结束时间。

将上述函数验证分别分配到结束时间和开始时间的验证逻辑即可。

实现的代码

数据验证函数_验证函数的正确性是什么意思_

Zoho

entityMap = crmAPIRequest.toMap().get("record");
// field17,field16 的确认参考下图
endTime = entityMap.get("field17").toTime("yyyy-MM-dd'T'HH:mm:ss");
startTime = entityMap.get("field16").toTime("yyyy-MM-dd'T'HH:mm:ss");
response = Map();
if(endTime > startTime)
{response.put('status','success');
}
else
{response.put('status','failure');response.put('message','服务开始时间不能晚于结束时间.');
}
return response;

确认字段的名称需要到开发者空间的API里找。

我踩过的坑

本身这件事情可以自己搞定的,结果花费了很多时间去找zoho的官方客服,官方客户直接在线联系即可,非常方便,服务及时,热情,有问必答,帮写代码,文末附上他们提供的函数代码。

为什么花了这么多时间呢?代码就这么简单。

一开始我的代码是这么写的,没加 “yyyy-MM-dd’T’HH:mm:ss”,使用说明上也没说要加。

结果获取的时间只有日期,时间都是00:00:00


endTime = entityMap.get("field17").toDateTime();
startTime = entityMap.get("field16").toDateTime();

官方的客服是很热情,但是一直没有看出来这个问题,给了我一个逻辑更复杂的验证代码,让我测试,直到第二次才解决,远程的时候也是必须使用zoho join,那叫一个卡,经常说不能控制。

数据验证函数__验证函数的正确性是什么意思

已经做得那么好了,不能兼容一下吗?

Zoho 官方给的函数验证代码

entityMap = crmAPIRequest.toMap().get("record");
d2 = entityMap.get("field16").toDateTime();
d1 = entityMap.get("field6").toDateTime();
response = Map();
diff = d1.daysBetween(d2);
if(diff > 0)
{response.put('status','success');
}
else if(diff == 0)
{hdiff = d1.hoursbetween(d2);if(hdiff == 0){m1 = d1.getMinutes();m2 = d2.getMinutes();h1 = d1.getHour();h2 = d2.getHour();if(h1 < h2){response.put('status','success');}else if(h1 == h2){m = m1 - m2;if(m >= 0){response.put('status','failure');response.put('message','end Time should earlier then start time.');}}}else{response.put('status','success');}
}
else if(diff < 0)
{response.put('status','failure');response.put('message','end Time should earlier then start time.');
}
return response;

我的提议

把文档写清楚,你好,我好,大家好,自助解决问题,节省多少时间。

本着造福后人的原则,我就给zoho 提了些意见,希望在使用说明上加强一下,但是人家的回复是这是因为CRM的时间是ISO时间,必须指定格式,没接下茬儿。

那我就写出来分享一下吧,希望能节省你一点儿时间。

官方的答复如下,供您参考:

find the below from the team

() and (yyyy-MM-dd’T’HH:mm:ss); and (yyyy-MM-dd’T’HH:mm:ss); -->These are same, but will for the from .On of the , ie From which to which , it will be .

zoho..();

from CRM field, we will in ISO so have to use the below .

= .get(“”).(yyyy-MM-dd’T’HH:mm:ss);

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了