找回密码
 注册成为天翎用户
查看: 1941|回复: 7

导入Excel出现错误

[复制链接]
jianjia 发表于 2012-12-3 08:22:48 | 显示全部楼层 |阅读模式
本帖最后由 jianjia 于 2012-12-4 14:48 编辑

导入Excel时,一个字段ID通过函数库中的函数获取,结果出现导入错误。


函数库中的函数的代码如下:
function userIduser(name){
        var doc = getCurrentDocument();
        var value1 = "";   
        var sql = "select * from obpm.t_user where NAME='"+name+"'";
        println("11============================'"+sql+"'");
        var datas = queryByDSName("obpm",sql);
        println("22==========================");
        if(datas != null) {
                        println("22==========================");
                for(var iterator = datas.iterator();iterator.hasNext();){
                        var map1 = iterator.next();
                        println("22============================'"+iterator.next()+"'");
                        value1 = map1.get("ID");
                }
        }   
        println("33============================'"+value1+"'");
        return value1;
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
bess 发表于 2012-12-3 08:53:47 | 显示全部楼层
您好,错误信息是您的业务员名称字段的脚本出错了。但是看您的截图,却是贴出的现场负责人名称字段的代码。。
请您先行检察您的   业务员名称   这个字段的脚本,是否有写错,您可以通过debug模式结合打印语句来定位问题、
回复

使用道具 举报

 楼主| jianjia 发表于 2012-12-3 09:47:39 | 显示全部楼层
本帖最后由 jianjia 于 2012-12-3 10:22 编辑

回复 2# bess


控制台:
JsUtil:11============================'select * from obpm.t_user where NAME='汪健''
org.mozilla.javascript.WrappedException: Wrapped java.lang.NullPointerException (baselib#1725)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(Unknown Source)
at org.mozilla.javascript.NativeJavaMethod.call(Unknown Source)
at org.mozilla.javascript.optimizer.OptRuntime.callN(Unknown Source)
at org.mozilla.javascript.gen.c677._c107(baselib:1725)
at org.mozilla.javascript.gen.c677.call(baselib)
at org.mozilla.javascript.optimizer.OptRuntime.callName(Unknown Source)
at org.mozilla.javascript.gen.c678._c1(importExcel:6)
at org.mozilla.javascript.gen.c678.call(importExcel)
at org.mozilla.javascript.optimizer.OptRuntime.callName(Unknown Source)
at org.mozilla.javascript.gen.c679._c0(Form.设备签收表单.Field(13b5e4f9111-11e2-3b7a-6eb60e71-9634-95729c596b46).业务员名称.ValueScript:3)
at org.mozilla.javascript.gen.c679.call(Form.设备签收表单.Field(13b5e4f9111-11e2-3b7a-6eb60e71-9634-95729c596b46).业务员名称.ValueScript)
at org.mozilla.javascript.ContextFactory.doTopCall(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.doTopCall(Unknown Source)
at org.mozilla.javascript.gen.c679.call(Form.设备签收表单.Field(13b5e4f9111-11e2-3b7a-6eb60e71-9634-95729c596b46).业务员名称.ValueScript)
at org.mozilla.javascript.gen.c679.exec(Form.设备签收表单.Field(13b5e4f9111-11e2-3b7a-6eb60e71-9634-95729c596b46).业务员名称.ValueScript)
at cn.myapps.core.macro.runner.JavaScriptRunner.run(JavaScriptRunner.java:117)
at cn.myapps.core.dynaform.form.ejb.FormField.runValueScript(FormField.java:461)
at cn.myapps.core.dynaform.form.ejb.FormField.recalculate(FormField.java:404)
at cn.myapps.core.dynaform.form.ejb.Form.recalculateDocument(Form.java:2119)
at cn.myapps.core.dynaform.form.ejb.Form.createDocument(Form.java:1187)
at cn.myapps.core.dynaform.form.ejb.Form.createDocument(Form.java:1113)
at cn.myapps.core.dynaform.form.ejb.Form.createDocument(Form.java:1091)
at cn.myapps.core.dynaform.dts.excelimport.config.AbstractImportProvider.creatDocument4Rollback(AbstractImportProvider.java:302)
at cn.myapps.core.dynaform.dts.excelimport.config.AbstractImportProvider.creatDocument(AbstractImportProvider.java:207)
at cn.myapps.core.dynaform.dts.excelimport.config.ImpExcelToDoc.creatDocument(ImpExcelToDoc.java:35)
at cn.myapps.core.dynaform.dts.excelimport.config.action.ImportExcelAction.improtExcelToDocument(ImportExcelAction.java:159)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:217)
at com.opensymphony.webwork.interceptor.BackgroundProcess$1.run(BackgroundProcess.java:28)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at cn.myapps.core.dynaform.dts.datasource.ejb.DataSourceProcessBean.getConnection(DataSourceProcessBean.java:35)
at cn.myapps.core.dynaform.dts.datasource.ejb.DataSourceProcessBean.queryDataSourceSQL(DataSourceProcessBean.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
... 34 more
JsUtil:select * from `tlk_设备签收表单` t1 where t1.`ITEM_导入人员`='傅丽娟' and (t1.`ITEM_是否确认签收` is null or t1.`ITEM_是否确认签收`='') and ITEM_合同号 LIKE '%%' and ITEM_物料名称 LIKE '%%' and ITEM_规格型号 LIKE '%%' and ITEM_供应商 LIKE '%%' and ITEM_单据编号 LIKE '%%' and ITEM_业务员 LIKE '%%'


我觉得是函数库中函数代码错误,我把代码修改如下:
function userIduser(name){
var doc = getCurrentDocument();
var value1 = "";   
    var sql = "select * from tlk_用户 where name='"+name+"'";
println("11============================'"+sql+"'");
    var datas = queryBySQL(sql);
println("22============================'"+datas+"'");
    if(datas != null && datas.size() > 0) {
      var doc=datas.get(0);
      value1=doc.getId();
println("33============================'"+value1+"'");
}   
return value1;
}
结果导入成功。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

spiral 发表于 2012-12-3 10:35:57 | 显示全部楼层
本帖最后由 spiral 于 2012-12-3 10:39 编辑

请问您的意思是,修改为楼上的代码后,虽然报错,但是可以成功导入嘛?
回复

使用道具 举报

 楼主| jianjia 发表于 2012-12-3 14:28:15 | 显示全部楼层
回复 4# spiral

没有报错,成功导入。但是问题还是没有解决,能成功导入的代码是要通过系统库查找的,我要的是通过业务库查询的。
function userIduser(name){
        var doc = getCurrentDocument();
        var value1 = "";   
        var sql = "select * from obpm.t_user where NAME='"+name+"'";
        println("11============================'"+sql+"'");
        var datas = queryByDSName("obpm",sql);
        println("22==========================");
        if(datas != null) {
                        println("22==========================");
                for(var iterator = datas.iterator();iterator.hasNext();){
                        var map1 = iterator.next();
                        println("22============================'"+iterator.next()+"'");
                        value1 = map1.get("ID");
                }
        }   
        println("33============================'"+value1+"'");
        return value1;
}
这个代码哪里有错误?
回复

使用道具 举报

spiral 发表于 2012-12-3 15:58:13 | 显示全部楼层
您好,麻烦您检查一下,软件默认是没有“obpm”这个数据源,您需要手动添加

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

 楼主| jianjia 发表于 2012-12-4 14:47:57 | 显示全部楼层
回复 6# spiral


    解决了。谢谢哦!
回复

使用道具 举报

spiral 发表于 2012-12-4 14:56:15 | 显示全部楼层
好的,感谢楼主反馈
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 16:03

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表