UAP开发(NC63)常见问题
by SN2OV
by SN2OV
1、ARRAY类型为枚举? NO,应该为SINGLE类型并需要添加枚举
1、ARRAY类型为枚举? NO,应该为SINGLE类型并需要添加枚举
2、只要修改元数据属性,就需要删除对应的数据表,并重新执行sql语句。枚举类型不需要。
2、只要修改元数据属性,就需要删除对应的数据表,并重新执行sql语句。枚举类型不需要。
3、新建元数据,唯一约束条件错误
3、新建元数据,唯一约束条件错误
3.1 元数据发布成功过
3.1 元数据发布成功过
(连续发布元数据)
错误出现在这个bmf文件,不是数据库的原因
暂时解决办法:
暂时解决办法:SVN还原前一天的bmf文件,然后在修改之前先删除已发布的元数据
解决办法:
解决办法:删除bmf文件中的所有属性,重新导入。(潜在错误:未正确使用脚本导致id重复)
3.2 元数据未发成功过
3.2 元数据未发成功过
解决办法:
解决办法:删掉改实体组件,重新创建新的同名实体组件
因为并未保存到库中,因此没有影响
存储元数据的表,md_component
md_component
4、同步其他人的代码,造成的无法查询和新增
4、同步其他人的代码,造成的无法查询和新增
原因:原因:
新建结点时,修改类路径,造成默认接口路径改变。因此需要导入配置文件到本地的UAP-studio文件夹中。
解决办法:
解决办法:
5、无法看见开发出来的单据
5、无法看见开发出来的单据
清除缓存
6、修改类路径
6、修改类路径
直接在元数据中修改类路径,发布元数据,生成java源码,但是类路径并没有改
手动直接重构-重命名,报无法找到java vo的错误,系统识别的还是更新前的类路径
删除元数据,重新发布元数据,生成java代码,问题解决了
7、no bean named 'context' is defined
7、no bean named 'context' is defined
出错原因:
出错原因:界面文件XXconfig.xml文件的某个Context标签下的类路径无法识别,通常出现于新增的Action/按钮情况。
解决办法:1)
解决办法:1)寻找最近添加的Action/按钮,查看属性的类路径是否正确。
2)检查UPM文件
3)检查代码是否存在,可能是用chengben项目打开bjcj的单据
8、参照的数据在卡片中显示而在列表中不显示
8、参照的数据在卡片中显示而在列表中不显示
参照的字段,只是将参照表的主键存在库里。需要自定义另外的数据(如v_suncontractorname.v_name),来在列表
中显示。
e.g.参照分包商名称里面的字段,则直接将其拖到右边,参照名称中选择分包商名称后,对应的参照数据自动填
上。
9、流程平台缓存中不存在该单据或交易类型=1206(1206不唯一)
9、流程平台缓存中不存在该单据或交易类型=1206(1206不唯一)
解决办法:
解决办法:
1、 重新新建单据,新建单据时会自动把之前建的清除。
2、先执行
再运行
脚本,重新生成对应单据的节点
单据表中没有类型为1206的单据
10、包路径出现问题
10、包路径出现问题
e.g. 正确的为h1h206结果写成h1206
方法:方法:
1、将对应的client和private中的文件(此处为h1206)删除
2、重新新建单据结点,更改为正确的类路径,因为重新创建时会删掉原来的数据。
11、单据模板某个值或某些值卡片中显示而列表中不显示
11、单据模板某个值或某些值卡片中显示而列表中不显示
e.g.业主信息单据中参照的字段都无法再列表中显示,但是卡片中是显示的
特征:特征:
字段的某个属性变灰无法修改,无法修改。类似于这种情况。本例子中是“列表是否显示”属性无法进行修
改。
方法:方法:
删除参照字段,该字段重新创建。
12、推单时出现“出现并发,请重新查询”的错误
12、推单时出现“出现并发,请重新查询”的错误
使用BeanUtils.copyProperties赋值属性,导致将主键同时复制出来,在系统的insert方法出报错
13、The Attribute is not in the ref
13、The Attribute is not in the ref
使用AbstractModel时没设置hiddenFieldCode和pkFieldCode
14、不要参照到4层,否则无法保存单据模板
14、不要参照到4层,否则无法保存单据模板
15、发布元数据时报(元数据主键已存在)而无法发布元数据的错误
15、发布元数据时报(元数据主键已存在)而无法发布元数据的错误
解决办法:
解决办法:svn回滚,新增的话暂时没有好的解决办法
出现原因
出现原因:删除元数据
预防措施
预防措施:发布元数据后,一定不要删除bmf文件相关,否则无法重新发布。预防的话,删文件前务必要右键删除已发布
的元数据。ztb/script下的delete all很少可能或许可以一试??
16、所有UAP相关的类无法识别
16、所有UAP相关的类无法识别
项目上右键,选择MDE工具->断开UAPHOME链接,然后链接UAPHOME
17、单据无法看见,显示用户没有权限
17、单据无法看见,显示用户没有权限
解决办法:
解决办法:清除NCCACHE,重新打开即可
出现原因:
出现原因:切换系统/数据源后重新打开项目导致的
18、参照字段不触发表体编辑后事件(或参照无法自动带值出来)
18、参照字段不触发表体编辑后事件(或参照无法自动带值出来)
出现原因1:
出现原因1:该参照引用不存在的字段,导致选择参照时不能给模板中该参照子字段赋值,导致无法触发
解决办法:
解决办法:单据模板初始化,将该参照引用的不存在的字段删除,因为NC不会在模板中自动报错,所以比较坑。
同理,在获取参照下的某值时e.getBillCardPanel().getHeadItem("r_projname.XXXX"),需要将r_projname.XXXX字段
拖过来。
出现原因2
出现原因2:参照元数据类型和单据模板中配置的参照类不是对应同一张单据
19、预警无法触发
19、预警无法触发
出现场景:
出现场景:点击立即执行无法触发,无法进行debug
出现原因:
出现原因:UAP-Studio的环境问题
解决办法:
解决办法:更换一个特定的UAP-Studio
20、做档案结点时不要运行脚本
20、做档案结点时不要运行脚本
出现过因为运行脚本导致的档案单据中的元数据无法更新的错误,最终新建结点
21、UAP-Studio无法生成单据结点
21、UAP-Studio无法生成单据结点
看其他工程可不可以新建,不可以的话重新把项目导入工作空间
22、查询单据没有值
22、查询单据没有值
看组织是否正确
调试private的代码,调试query函数的参数schema。可以查询到sql语句,根据sql语句进行调试
上次出现问题时因为单据日期没有值,导致查不到。没有值是因为单据日期在模板中被删掉了,导致无法赋值
23、无法进行update语句
23、无法进行update语句
oracle被锁住,需要找出锁住的地点并解锁。
-- 查询
selectobject_name,machine,s.sid,s.serial#,s.logon_time
fromv$locked_object l,dba_objects o ,v$session s
wherel.object_id = o.object_id andl.session_id=s.sid;
-- 解锁
-- alter system kill session 'sid, serial#'
-- 根据查询出来的锁表记录的SID和SERIAL#来释放session
-- 如果提示权限不足的话,请用DBA用户登录进行解锁操作。
24、改private的代码,一定要重启服务!!!
24、改private的代码,一定要重启服务!!!
25、修改oracle数据如果不commit无法反映到NC平台。
25、修改oracle数据如果不commit无法反映到NC平台。
26、职责/省份等参照无法获取值
26、职责/省份等参照无法获取值
原因:原因:表中没有pk_deftable_h
e.g.
27、项目出现红色叹号,无法自动构建clean,删除组件问题
27、项目出现红色叹号,无法自动构建clean,删除组件问题
原因:原因:删除组件没删除干净
解决办法(即删除业务模型方式)
解决办法(即删除业务模型方式):
项目根目录中的.classpath和manifest.xml中的业务模型对应项删除即可
28、图元实体不存在,某个ID实体不存在
28、图元实体不存在,某个ID实体不存在
出现场景:
出现场景:导入新的项目,元数据无法本地保存
解决办法:
解决办法:MDE Exploer点击刷新
29、删除已发布的元数据造成的无法打开单据造成的错误
29、删除已发布的元数据造成的无法打开单据造成的错误
出现场景:
出现场景:(修改正式库的代码,但是无法更新元数据,删除已发布的元数据时造成单据无法打开)元数据删除
解决办法:
解决办法:从测试库导出元数据脚本,从正式库执行还原
使用NC6X脚本导出工具V3.0
30、发布元数据,出现实体名重复问题
30、发布元数据,出现实体名重复问题
错误原因:
错误原因:类名称错了。。导致重复(实则发布的元数据在项目删除时没有删除,导致库里面存在同名元数据)
31、生成sql时遇到写文件错误
31、生成sql时遇到写文件错误
出现场景:
出现场景:新建一个项目,新建元数据生成sql脚本时
出现原因:
出现原因:属性中的多语资源模块名、名称空间、所属模块没有值。
解决办法:
解决办法:项目删除重建,简单发布元数据进行测试
32、报表穿透不过去原因
32、报表穿透不过去原因
注意,报表穿透涉及的两张表字段名要一样,仅仅值是相同时不行的。
33、表体编辑事件不触发
33、表体编辑事件不触发
检查单据模板是否分页签,默认只会触发第一页的项
34、单据无法保存
34、单据无法保存
控制台报null错误
原因:原因:单据模板中将“组织”误删,导致没有值,无法保存
35、编码规则为空
35、编码规则为空
原因:原因:数据库连接问题,重启数据库
36、新建单据后出现
36、新建单据后出现
Cannot find class [nc.ui.chengben.ht.h4h404.ace.serviceproxy.AceHth404MaintainProxy] for bean with name
'maintainProxy' defined in class path resource [nc/ui/chengben/ht/h4h404/ace/view/Hth404_config.xml];
nested exception is java.lang.ClassNotFoundException:
nc.ui.chengben.ht.h4h404.ace.serviceproxy.AceHth404MaintainProxy
37、新建单据保存后出现“重复的列名”问题
37、新建单据保存后出现“重复的列名”问题
表中是新建了重复的数据,在字段名称中,排序后再看看。
38、生成单据结点时,在功能注册多语资源处卡主无法生成
38、生成单据结点时,在功能注册多语资源处卡主无法生成