单据转换.常见问题.较小的小数的处理
【场景】单据转换的字段映射,表单服务策略的超小数处理
【问题原因】
<0>系统中的数值均使用deciaml处理,
![1.webp](/download/01005a1c0d4e8ce942f98f5b49f6cee5b3fb.webp)
<1>但是当使用数值计算后,由于python内置只有浮点数
![2.webp](/download/01004fb1fa9a798445e492609994a57a6f8f.webp)
<2>导致当数值类型较小时转为字符串,会出现科学计数法
![3.webp](/download/0100e1fb28f10080469fab06b11dfee4d168.webp)
![4.webp](/download/0100f5ccf9c7c3444e599db4bbd160960de6.webp)
【场景0】单据的实体服务规则处理
平台做了处理,在将python表达式的计算值,如果是浮点数的话平台会强转为decimal处理
关联补丁:2019年11月, 优化服务“计算定义公式的值填写到指定列”对于小数位数特别小的数值的计算处理
核心代码:Kingdee.BOS.dll
Kingdee.BOS.Scripting.ExpressionContext
【场景1】单据转换的字段映射,使用自定义公式
a)直接将小数转为文本,支持,因为小数存储的是decimal
![5.webp](/download/0100a20c4290c69b45dea8871b05e7fc340d.webp)
b)将计算后的小数转为文本,不支持,因为计算后的是double, 会变为科学计数法
![7.webp](/download/010030ebbf0179af4f8aadb6fc0f0094bd2c.webp)
结论:字段映射,不支持直接将计算后的小数转换为文本
【场景2】单据转换的表单服务策略,使用计算公式
a)将小数字段映射到小数,而后通过表单服务策略,在小数字段中进行计算再赋值到小数字段,最终在将小数转为文本
![6.webp](/download/01008d15fb5a542549eda3acdaf50d60e53b.webp)
结论:不支持直接将计算后的小数转换为文本,需要先存放到一个小数字段,而后将小数字段转换为文本
我有个疑问!如果我先用字段携带设置将数据计算放到小数里,再通过表单服务策略将小数赋值到文本,这样可以嘛!
单据转换.常见问题.较小的小数的处理
【场景】单据转换的字段映射,表单服务策略的超小数处理【问题原因】<0>系统中的数值均使用deciaml处理,![1.webp](/download/01005a1c0d4e...
点击下载文档
上一篇:BOS元素类型修改-xml修改下一篇:套打.二开案例.动态显示总页码
本文2024-09-16 18:32:24发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22806.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章