分享-实体服务规则实现日期计算功能
金蝶云社区-陈旭身份
陈旭
26人赞赏了该文章 5,662次浏览 未经作者许可,禁止转载编辑于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人打赏
还没有人打赏,快来当第一个打赏的人吧!