分享-实体服务规则实现日期计算功能
26人赞赏了该文章
5,742次浏览
编辑于2018年05月17日 15:46:11
需求反馈,希望通过实体服务规则配置实现日期计算
今天研究了下【计算定义公式的值并填写到指定列】,可以实现此需求,与大家分享下
如:单据上三个日期字段
FSDate:开始日期,默认当前日期,如2013.11.21
FMDate:中间日期,默认固定日期,如2013.11.27
FEDate:结束日期,待更新字段
实体服务规则选中【计算定义公式的值并填写到指定列】
如稍复杂点的场景,脚本如下:
FEDate = FSDate.AddDays((FMDate - FSDate).Days + 10)
说明:
结束日期 = 开始日期+差量天数
差量天数 = 中间日期与开始日期的差量天数 + 10天
日期间的差量计算使用 “减法” 运算符,得到运算后日期使用Days属性,即得到两段日期的差量天数
在某一日期基础上,增加天数,使用AddDays方法
同理,年、月、日、时、分、秒应该都可以,使用不同方法与属性罢了,除“AddDays”其他还未验证,需要的同学可验证下
年:AddYears Years
月:AddMonths Months
日:AddDays Days
时:AddHours Hours
分:AddMinutes Minutes
秒:AddSeconds Seconds
可能存在的陷阱:如
FEDate = FSDate + 1
希望开始日期加一天,得到结束日期
这种写法存在问题,日期与整数做加法,找不到合适的重载运算符“+”,通过AddDays(整数)实现
当然,要完整实现这个规则,还要记得勾选字段的【即时触发更新事件】属性:)
赞 26
26人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!