BOS公式编辑器【常用语法汇总】

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

BOS公式编辑器【常用语法汇总】

持续记录中……

小伙伴们遇到想要实现的更多用法时,可以评论一起交流

一、单据公式编辑器

1、字符串截取

可以通过运算符 [:] 来截取字符串

场景:可以判断物料编码的开头是什么

语法:[从哪一位开始(包含):从哪一位结束(不包含)]

如:现有字符串 kingdee ,内存中,k是第0位,它们在内存中的位置如下:

k  i  n  g  d  e  e

0 1  2  3  4  5  6

"kingdee"[0:2]  结果为  ki  (包含第0位,不包含第2位)

"kingdee"[1:4]  结果为  ing(包含第1位,不包含第4位)

如判断物料FMaterialId的编码的前两位是不是01开头,则可以写为:FMaterialId.FNumber[0:2]

2、if 判断条件(可嵌套使用)

语法1:条件成立值 if(判断条件) else 条件不成立值

语法2:[条件不成立值,条件成立值][判断条件]

示例:在给数量FQty字段赋值时,如果物料FMaterialId的编码是01开头,则另数量=50,否则数量=100

示例的写法为:

写法1:FQty=50 if (FMaterialId.FNumber[0:2]=='01') else 100

写法2:FQty=[100,50][FMaterialId.FNumber[0:2]=='01']

参考:【bos小技巧】if用在带有条件的字段映射 (kingdee.com) 感谢:


3、数字取整,或保留多少位小数

向下取整(得到一个最大的,且小于等于它自己的,称为向下取整)

语法:int(小数)

示例:小数75.123,int(75.123)结果为75

向下保留2位小数

语法:int(小数 * 100) / 100。如果保留3位,则*1000,以此类推

示例:小数75.12345,int(75.12345*100)/100结果为75.12

向上取整(得到一个最小的,且大于等于它自己的,称为向上取整)


相比于上面的【向下取整】,75.123应该得到76就对了,那是不是结果加一就行了呢,并不是,因为如果刚好那个数是整数,比如85,向上取整的结果应该是85,不该加一,所以需要判断是否含小数。

语法:int(小数) + [1,0][int(小数)==小数]。后面的条件判断,int(小数)如果等于它自己,那就说明没有小数,不需要加1,应该加0。

示例:小数85.123,int(85.123)+[1,0][int(85.123)==85.123]结果为86

示例:小数85,int(85)+[1,0][int(85)==85]结果为85

向上保留2位小数


语法:(int(小数 * 100) + [1,0][int(小数 * 100)==小数 * 100) / 100。如果保留3位,则*1000,以此类推

示例:小数75.12345,(int(75.12345*100)+1)/100结果为75.13

示例:小数75.12000,(int(75.12000*100)+0)/100结果为75.12


4、给基础资料字段赋值

经常要给基础资料、辅助资料字段赋值。

配合一个新函数“获取基础资料内码”,可以实现快速配置赋值,不再需要后台查询主键内码赋值。

例如,希望采购部门字段赋值为销售部(编码为BM000013),使用函数GETPKVALUE就,传入基础资料的编码条件,使用等于方式匹配,返回对应基础资料内码给字段赋值。

函数GETPKVALUE——依据基础资料的编码查询返回内码给基础资料字段赋值;
本函数有2个入参:目标字段、匹配值。匹配值可以传入常量或字段标识。
例如:传入供应商的编码查询,给供应商字段赋值。
方式一,取常量查询格式:FSupplierId=GETPKVALUE('FSupplierId','LHSY01');
方式二,取文本字段查询格式:FSupplierId=GETPKVALUE('FSupplierId',field.fname),
取字段标识不需要单引号。

函数GETPKVALUE只有大于等于7.7.0.202106版本才能使用

参考:BOS设计器的公式编辑器增加“表达式测试”功能 (kingdee.com) 感谢官方


5、判断物料的某个辅助属性是否启用

FMaterialID !=null and  len(filter(lambda x:x.IsEnable1==true and x.AuxPropertyId_Id=100002, FMaterialID.MaterialAuxPty))>0

满足条件则为已启用,AuxPropertyId_Id是辅助属性ID

image.webp


二、单据转换-选单策略公式编辑器

无正文



学习了


BOS公式编辑器【常用语法汇总】

持续记录中……小伙伴们遇到想要实现的更多用法时,可以评论一起交流一、单据公式编辑器1、字符串截取可以通过运算符 [:] 来截取字符串场...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息