电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

小技巧 - 判断条件中,如何比较字段值

来源:金蝶云社区作者:金蝶2024-09-2329

小技巧 - 判断条件中,如何比较字段值

金蝶云星空很多地方允许设置条件,根据条件解析结果,决定功能是否处理,如实体服务规则执行条件、操作校验条件、反写规则执行条件、工作流连线跳转条件等。

条件中,允许使用单据上的字段,与常量值进行比较。但不同的字段类型,允许比较的常量值会有很大不同。


例1:普通文本字段,与之比较的字符串,需要使用单引号括起

F_JD_Text1 = '文本内容'

搜索字段中是否包含某段文本
F_JD_Text1.find('文本内容') >= 0

更多文本处理,请参阅:
学习笔记 - Python字符串操作

例2:多语言文本字段
多语言文本字段,在内存中,并不是简单的字符串,而是一个复杂对象LocalValue类型,其中包含了各种语言下的字段内容。

可以使用如下语句把多语言对象,转换为简单文本字符串:

str(F_JD_MulLangText) = '文本内容';


str(F_JD_MulLangText).find('文本内容') >= 0;


例3:数值字段,直接与数值比较

F_JD_Decimal1 = 1

例4: 复选框字段,必须与true, false比较,不能与0,1比较

F_JD_CheckBox1 = true and F_JD_CheckBox2 = false


例5:下拉列表字段
下拉列表字段,存储的是枚举项,显示的是枚举名称,公式中,需要与枚举项进行比较
如F_JD_Combo1绑定的枚举类型为价格类型,有两个枚举项('1' : 到岸价; '2' : 出厂价)

F_JD_Combo1 = '1'


例6:日期字段,字段值为日期型,不能与字符串常量进行比较。
可以采用公用函数,把日期转换为字符串进行比较:

F_JD_Date1.ToString('yyyy-MM-dd') = '2016-07-07'


实际上,日期字段通常不会与常量值比较,常见的是与一些系统变量进行比较。
如判断日期是否大于今天,'今天'需要用系统变量替代

F_JD_Date1 > @currentshortdate


附:其他可用的系统变量(大小写必须一致)
@currentshortdate : 今天,短日期,不包含时间
@currentlongdate : 此时,长日期,包含时间
@maxdate : 系统最大时间
@mindate : 系统最小时间
@userid : 当前登录用户内码
@currentorgid : 当前登录组织内码
@null : null 值
@getstkclosedate : 未知


另外,系统支持对日期字段值进行计算:
计算日期差: (F_JD_Date1 - F_JD_Date2).Days
增加天数:F_JD_Date1.AddDays(-1)
增加月份:F_JD_Date1.AddMonths(-1)
增加年份:F_JD_Date1.AddYears(-1)


取每个月最后一天(复杂):
FENDDate = FSTARDate.AddDays(1-float((FSTARDate.ToString("dd")))).AddMonths(+1).AddDays(-1)
此公式解读:
FENDDate = {2016-07-07}.AddDays(1-float(({2016-07-07}.ToString("dd")))).AddMonths(+1).AddDays(-1)
FENDDate = {2016-07-07}.AddDays(1-float('07')).AddMonths(+1).AddDays(-1)
FENDDate = {2016-07-07}.AddDays(1-7).AddMonths(+1).AddDays(-1)
FENDDate = {2016-07-01}.AddMonths(+1).AddDays(-1)
FENDDate = {2016-08-01}.AddDays(-1)
FENDDate = {2016-07-31}


例7:基础资料字段
基础资料字段,F_JD_Base1返回的是一个复杂对象 BaseFieldDynamicRow,包含了很多的属性,不能与一个简单常量进行比较。

如 F_JD_Base1 = '资料名称',达不到预期效果。

需要明确的指定属性与常量值进行比较:
F_JD_Base1.Id = 100001
F_JD_Ba

小技巧 - 判断条件中,如何比较字段值

金蝶云星空很多地方允许设置条件,根据条件解析结果,决定功能是否处理,如实体服务规则执行条件、操作校验条件、反写规则执行条件、工作流...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信