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

 找回密码
 注册成为天翎用户
楼主: 上海中信

[已解决] 子表中视图列表中点击打印按钮后报错

[复制链接]
irene 发表于 2012-7-10 16:09:14 | 显示全部楼层
您好,不好意思。请问您是按顺序从第1个补丁打到第35个补丁吗?如果不是,麻烦您按顺序打入补丁后再确认,因为补丁是从源码上弄出来的,修复一个补丁也许会涉及到多个文件,为了避免出现问题,所以还是麻烦您按顺序打入补丁后再确认
 楼主| 上海中信 发表于 2012-7-10 18:01:14 | 显示全部楼层
回复 11# irene


    补丁依次打入后,因为在子表单中的文本框中写了一个只读脚本,脚本代码如下:
  1. var ret = false;
  2. var st = getParentDocument().getStateLabel();
  3. if(st.equals("")||st.equals("未提交")||st.equals("行政部审核通过")){
  4. ret = false;
  5. }
  6. else{
  7. ret = true;
  8. }
  9. ret;
复制代码
报了一个
  1. org.mozilla.javascript.EcmaError: TypeError: Cannot call method "getStateLabel" of null (11e1-ab66-71191a85-bf77-affc086bf366).数量.readOnlyScript#3)
复制代码
这样的错,请问,打印中是不是不能用getParentDocument()这个函数?如果不能用,我还有其它方法解决这个问题吗?
purple 发表于 2012-7-10 18:20:38 | 显示全部楼层
您好,错误信息是getStateLabel方法不能为空,不是打印语句中不能用getParentDocument()的原因,请问您的脚本是写在什么地方?
 楼主| 上海中信 发表于 2012-7-11 09:36:12 | 显示全部楼层
回复 13# purple

脚本是写在表单中文本框中的只读脚本里。
难道不是因为getParentDocument()这个函数获取的对象为空引起的错吗?我在后台打印这个函数是null呀
irene 发表于 2012-7-11 09:55:26 | 显示全部楼层
您好,由于getParentDocument()这个函数返回的是当前打开文档的父文档对象,由于您的getParentDocument()返回的是一个空对象,空对象无法调用getStateLabel()方法,所以会报您这个错。请再次确认您的包含元素是否有勾上“父子关系”。如果没有勾上,需使用getRelateDocument()这个方法获取相关联文档对象。
 楼主| 上海中信 发表于 2012-7-11 10:08:07 | 显示全部楼层
回复 15# irene


首先,包含元素是勾上了父子关系的;其次,如图:
QQ截图20120711100524.png
点击打印,是另外弹出一个页面(报错那个页面),如下图:
QQ截图20120711100744.png
这样,还能用getParentDocument()?
irene 发表于 2012-7-11 10:19:42 | 显示全部楼层
您好,getParentDocument()只能在当前打开的子表单中使用。不知道您的脚本是写在哪个表单的控件中呢?如果是写在子表单中,那么新建子表单时是否正常?另外,我这边也用打好补丁的版本测试一下
 楼主| 上海中信 发表于 2012-7-11 10:28:34 | 显示全部楼层
回复 17# irene

脚本是写在子表单中的,新建表单是正常的。您测试一下吧
irene 发表于 2012-7-11 10:52:16 | 显示全部楼层
您好,我刚测了,没有您反馈的问题。方便跟您远程看看嘛?我的QQ:2676466983
irene 发表于 2012-7-11 11:33:06 | 显示全部楼层
由于客户方禁止了远程,下午才修复,故下午再和客户远程

本版积分规则

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

GMT+8, 2026-8-12 13:43

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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