zoukankan
html css js c++ java
产品生成器模块的问题
今天看到设置规则这个地方,在设置本地规则时,验证类型选择 公式,在公式设置选项卡的类型处选择 已计算(这个地方那个英文为Calculated,翻译为已计算不太好理解,翻译成通过计算可能会好一些),然后点击已计算按钮,设定公式,在检查规则语法时出现了如下错误:
跟踪代码后得知,是类PBARuleExpressionActionValue的methodName出现了问题
str methodname()
{
return
(
this
.parmnameRecId()
?
enum2str(PBARuleValueRelation) :
''
)
+
PBARuleExpressionActionValue::methodnameParm(PBAVar,PBARuleArrayIdx,PBARuleActionType)
+
(
this
.parmnameRecId()
?
PBARuleChecker::methodname(
this
.parmnameRecId()) :
''
);
}
我们知道enum2str的结果是标签的内容,如果在中文环境下,该函数的返回结果为中文,这样该方法执行后得到函数名类似于
"公式Table_0_false5637144582",由于在X++中函数名中不能出现汉字,因为汉字并不是合法的标识符的组成元素,于是就出现了不能在脚本中使用此符号的错误。
将该函数更改为如下代码即可:
str methodname()
{
SysDictEnum sysDictEnum
=
new
SysDictEnum(EnumNum(PBARuleValueRelation));
return
(
this
.parmnameRecId()
?
sysDictEnum.value2Symbol(PBARuleValueRelation) :
''
)
+
PBARuleExpressionActionValue::methodnameParm(PBAVar,PBARuleArrayIdx,PBARuleActionType)
+
(
this
.parmnameRecId()
?
PBARuleChecker::methodname(
this
.parmnameRecId()) :
''
);
}
既然中文不能作为标识符,又用Enum2Str的返回结果当成函数名的一部分,不报错才怪。
查看全文
相关阅读:
java的枚举
java解析XML的三种方法
java静态代理
java注释
Jquery基础之DOM操作
sql点滴43—mysql允许用户远程登陆
js实现复制功能
MVC ViewData和ViewBag
Visual Studio 2013 Web开发新特性
VisualStudio2013快捷键
原文地址:https://www.cnblogs.com/Farseer1215/p/789847.html
最新文章
jsp+javaBean 计算器实例
运用BigDecimal精确计算
jsp:javaBean
web.xml配置
jsp的一些基本语法
jsp页面编译成Servlet类文件
java中使用session的一些细节
解决提交数据的乱码
java生成验证码图片
jsp页面的使用
热门文章
http示例代码
30天轻松学习javaweb_Range实现断点续传
http头信息
手动编码运行java程序
在dom4j中使用XPath
大数据量处理的几种方法
DTD限制XML文件
java泛型的使用
使用BeanUtils操作Bean属性
java的内省(introspector)
Copyright © 2011-2022 走看看