天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

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

框架中打印按钮报错

[复制链接]
xxychao 发表于 2011-5-3 12:04:13 | 显示全部楼层 |阅读模式
本帖最后由 shary 于 2011-5-23 09:32 编辑

框架中打印按钮打印第一个页面,报错显示后几个页面没有获取值,但是后几个页面中都有数据,是哪出错了呢?

org.mozilla.javascript.EcmaError: TypeError: Cannot call method "getItemValueAsString" of null (11e0-513b-237efcd0-9656-f57f36f74950).bc.FilterScript#3)
org.mozilla.javascript.EcmaError: TypeError: Cannot call method "getItemValueAsString" of null (11e0-3b42-e482754b-9531-859a58b906bb).查询01.FilterScript#4)
org.mozilla.javascript.EcmaError: TypeError: Cannot call method "getItemValueAsString" of null (11e0-3b44-4a9ca765-9531-859a58b906bb).查询02.FilterScript#4)
org.mozilla.javascript.EcmaError: TypeError: Cannot call method "getItemValueAsString" of null (11e0-5c30-02d36a16-80fd-11efd2d61732).查询03.FilterScript#4)
shary 发表于 2011-5-3 12:23:51 | 显示全部楼层
您好,您获取的值是空的。所以当您用getItemValueAsString()函数时才会报错。你要先判断是否拿到了值。把你那个部分的脚本贴出来看下。
 楼主| xxychao 发表于 2011-5-3 13:17:39 | 显示全部楼层
var value="";
var dql ="$formname='长期管理";
var doc = getRelateDocument();
var linkmanName = doc.getItemValueAsString("编号");

  dql+= (linkmanName!=null) ?" and 编号='"+linkmanName+"'" : "";

var query = queryByDQL(dql);
   if(query!=null){
        var iter  =query.iterator();
        if(iter != null && iter.hasNext())
        {
                    docx = iter.next();
                    value=docx.getId();
}
}

var dql2 ="$formname='长期子表单";
dql2+= (value!=null) ?" and $parent.$id ='"+value+"'" : "";
dql2;

视图都查询到数据了
shary 发表于 2011-5-3 14:28:49 | 显示全部楼层
您好,请问你是点击表单的打印按钮出错的吗?你打印那里是不是也写有脚本的。
 楼主| xxychao 发表于 2011-5-3 14:58:04 | 显示全部楼层
TOMCAT 报错,系统没有报错
shary 发表于 2011-5-6 09:15:38 | 显示全部楼层
我知道。我的意思是您是点击打印操作,然后tomcat报错的吗?你的打印操作中是否有写脚本。
 楼主| xxychao 发表于 2011-5-6 09:41:37 | 显示全部楼层
什么也没有
shary 发表于 2011-5-17 13:46:39 | 显示全部楼层
错误信息显示是你没有判断对象是否为空就转化为string型。
if(getItem("字段名")!=null){
var value = getItemValueAsString("字段名");
}
 楼主| xxychao 发表于 2011-5-23 18:43:09 | 显示全部楼层
你说的那个判断提示错误,是不是不能这样写呀,我是获取的相关联表单的数据。
下面这段代码同样是打印时出错,显示很正常,点击打印TOMCAT报错,视图打印不出来!
这段代码是包含元素中使用的视图代码:
var dql ="$formname='核减子表单";
var doc = getRelateDocument();
var linkmanName = doc.getItemValueAsString("开始日期");
var linkmanName01 = doc.getItemValueAsString("结束日期");
dql+= (linkmanName!=null) ?" and #日期 >= '"+linkmanName+"'" : "";
dql+= (linkmanName01!=null) ?" and #日期 <= '"+linkmanName01+"'" : "";
dql;

本版积分规则

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

GMT+8, 2026-8-12 12:09

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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