金蝶BOS单据值更新事件实现计算日期差

小伙伴遇到在金蝶BOS单据值更新事件中无法实现计算两个日期字段的差值,在值更新事件「计算公式的值并填写到指定列」的设置中,日期字段都不显示,根本无从谈起设置日期差公式。其实是可以变通实现的...

具体实现方法是手工在后台数据库更改单据对应字段的值更新事件公式,以如下BOS单据为例,来说明如何实现:


单据体中有两个日期字段「开始日期」和「结束日期」以及一个「日期差」字段,实现目标是以天为单位「日期差」=「结束日期」-「开始日期」,其中「开始日期」、「结束日期」和「日期差」字段对应的FKey分别为「FDate」、「FDate1」和「FInteger」,下面例子以「结束日期」的值更新事件为例去实现。

随便给「结束日期」添加个值更新事件,保存单据后,去数据库中进行以下操作:

----更新ICClassActionList表的FAction字段

update ICClassActionList set FAction='FInteger=FDate1 - FDate' where FClassTypeID=200000105 and FObject='FDate1'

----更新ICClassTableInfo表的FAction字段

update ICClassTableInfo set FAction='Calculate{FInteger=FDate1 - FDate}:{FDate - FDate1 < 0}' where FClassTypeID=200000105 and FKey='FDate1'

--更新缓存
update ICClassType set FID=FID

GO

依照小伙伴的实际需求,具体实现效果如下:


填写「开始日期」或者「结束日期」后,自动计算出「日期差」和「工资」。

动手测试一下吧!

猜你喜欢

转载自blog.csdn.net/Eypsn/article/details/109066589