NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 数据库 .: 格式化搜索的小说明

格式化搜索的小说明

用格式化搜索取数时,会遇到一些常见问题,和大家分享一下解决方法:

格式化搜索取数据方式:
1.
表头:$[表名.字段名]
2.
行明细:$[Item.Column.0/number/currency/date],最常用的还是0number这个2个参数。例:在采购订单中,取行中不含税单价值,$[$38.14.0/number]

常见问题1:需要取的行中带有货币符号的金额进行计算,虽然只需要数字,但是每次都会把货币符号带上,导致无法计算。
问题原因:参数0number取得的结果值时不一样的,特别是带有货币符号的字段。
解决方法:以采购订单中不含税单价为例,若单价显示为“100RMB”,使用$[$38.14.0]时,得到的结果就是字符串形式的“100 RMB”。这是可以修改格式化搜索的参数为number,即“$[$38.14.number]”,就可以得到数值型“100”
Tips
:用参数0取字符串时,要注意系统取得的值可能会包含很多空白,例如取物料号时,单据上显示【ITEM001】,但是取得的会是【ITEM001               】。所以记得使用rtrim函数,去掉多余的空白。

常见问题2:已经取得我要的数字了,我希望得到的计算结果保留小数,但是为什么只能看到整数,使用了round函数也无效。
问题原因:这种问题,会发生在两个整数计算时,如果参与计算的数值本身就是带有小数点后的值的话,就不存在问题了。
例如:我想计算单个重量,单据上【数量】显示为100,【总重量】显示为120.00,【单个重量】=【总重量】/【数量】。通过格式化搜索,取值再计算的结果,往往得到的就是“1”,而非“1.2”
原因:用格式化搜索取得数值后,计算公式为 “120/100”,系统会自动认定这是一个整数计算而非浮点计算,因此得到的结果也是一个整数。为了解决这个问题,可以在计算的公式上增加一个1.0。改变公式为“120*1.0/100”,那么就可以得到想要的“1.2”的结果值。

常见问题3:用了格式化搜索的自动刷新,但是字段里总是无法显示结果。
问题原因:自动刷新,是我们人为规定的一个刷新顺序,但是要注意系统本身也有自己的字段刷新顺序,如果格式化搜索刷新快于系统的,那么我们的自动刷新出来的值就会被系统的刷掉。
解决方法:一种是自己设置自定义字段,临时存放,然后再刷新到目标字段(往往是系统的默认字段)里;另一种方法,就是多试几次,找出系统刷新字段的顺序,调整格式化搜索的自动刷新的依赖字段。

常见问题4:写好了格式化搜索,但是在执行时,出来的结果不正确,如何调试?
解决方法:格式化搜索出来的结果不正确时,保持当前单据界面,将点击带有格式化搜索的字段,然后打开【工具】->【查询】->【用户自定义查询】->出错的格式化搜索,这样就能够看到查询语句中是否取值正确,取值成功的话,数值会被带到查询里,这样就能够帮助查错了。


这篇文章对你多有用?

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited