二开案例.表达式.表达式不支持中文字符?

【应用场景】BOSIDE,编写表达式,对含有中文的字段进行运算。
【案例演示】BOSIDE,编写表达式,当字段是全英文时,运行时工作正常,当字段含有中文时,运行时系统报错,如何避免?

【问题重现】
<1>BOSIDE扩展采购订单,新增文本字段和整数字段,文本字段启用【即时触发更新事件】,值更新事件如下图,保存元数据。

计算公式:F_Jac_Integer = str(F_Jac_Text).count('#')
<2>登录业务站点,打开采购订单,文本字段录入中文,公式运行报错下如图:

【原因分析】
内建函数str只支持ascii字符,如果字段包含了中文,那该字段的值一定不会是ascii字符,因此报错。
且在当前python版本下,无论怎么转码解码都无效(例如:str.decode(FText,'utf-8'))。
此问题的终极解决办法就是不要用这个str函数。
如果确实绕不开,一定要用到str的某些功能,那就请使用自定义函数吧,python能干的,C#也能干,只是波折了些。
参考案例:【二开案例.表达式函数.编写自定义的表达式函数(字符串包含函数)】https://vip.kingdee.com/arti
二开案例.表达式.表达式不支持中文字符?
【应用场景】BOSIDE,编写表达式,对含有中文的字段进行运算。【案例演示】BOSIDE,编写表达式,当字段是全英文时,运行时工作正常,当字段...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



