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

sp6视图选择框 执行确定脚本 报错 获取对象为null【bugId:3297】

[复制链接]
about5200ych 发表于 2012-11-1 16:30:45 | 显示全部楼层 |阅读模式
本帖最后由 spiral 于 2012-12-5 15:59 编辑


报错信息为

代码为
var parent = getParentDocument();
var 产品编号_abc=parent.getItemValueAsString("产品编号");
var 产品名称_abc=parent.getItemValueAsString("产品名称");
$PRINTER.println("*****************************->1"+产品编号_abc);
$PRINTER.println("*****************************->2"+产品名称_abc);


//在视图添加一个查询按钮 执行前脚本
var text = getParameterAsText("_selects");
var docids = text.split(';');
for (var i=0; i < docids.length; i++ ) {
        if(docids != null && !docids.equals("undined") && !docids.equals("null") ){
                var doc = findDocument(docids);
                $PRINTER.println("*****************************->输出doc______"+产品名称_abc);
                //获取字段值
                var 工序编号_abc = doc.getItemValueAsString("工序编号");
                var 工序名称_abc = doc.getItemValueAsString("工序名称");

                if(产品编号_abc==""||产品名称_abc=="") break;

                //1. 校验唯一性
                sql="select * from tlk_期初余额设置表 where ITEM_工序编号='"+工序编号_abc+"' and ITEM_产品编号='"+产品编号_abc+"'";
                var docs=queryBySQL(sql);
                sql1="select * from tlk_期初余额设置表 where ITEM_工序编号='"+工序编号_abc+"' and ITEM_产品编号='"+产品编号_abc+"' and VERSIONS=2";
                var docs1=queryBySQL(sql1);

                if((docs !=null && docs.size()>0)||(docs1 !=null && docs1.size()>0)) break;

                #include "doclib";
                InsertDataOnOtherDoc("计件工资系统/计件工资核算/期初余额设置表", "11e2-1998-603426fc-a585-dbdea3dd946e",
                ["工序编号","工序名称","产品编号","产品名称"], [工序编号_abc,工序名称_abc,产品编号_abc,产品名称_abc]);//调用
        }
}

函数库
/**
create new object, insert data onto other form
*formName 表单名
*formId 表单id
*fieldNames 字段名,数组或字符串
*fieldValues 字段值,数组或字符串
*parentDoc 父文档,可不传
*isDateNames date类型的字段名(可不传)(string类型)
*isDateValues date 类型的值 (可不传)(date类型)
*/
function InsertDataOnOtherDoc(formName, formId, fieldNames, fieldValues, parentDoc,isDateNames,isDateValues) {
        var doc = getCurrentDocument();
        var domain = getDomainid();
        var application = getApplication();
        var process = getDocProcess($WEB.getApplication());
        var uuid = new Packages.cn.myapps.util.sequence.Sequence();
        var child = new Packages.cn.myapps.core.dynaform.document.ejb.Document();
        child.setId(uuid.getSequence());
        if(parentDoc) child.setParent(parentDoc);
        child.setFormname(formName);
        child.setAuthor(getWebUser());
        child.setFormid(formId);
        child.setIstmp(false);
        child.setApplicationid(application);
        child.setLastmodifier(getWebUser().getId());
        child.setDomainid(domain);
        child.setMappingId(child.getId());
        var count = 1;
        var fieldName = "";
        var fieldValue = "";
        if (fieldNames.constructor == Array) {
                count = fieldNames.length;
        } else {
                fieldName = fieldNames;
        }
        if (fieldValues.constructor != Array) {
                fieldValue = fieldValues;
                child.addStringItem(fieldName, fieldValue);
        } else {
                for (var i = 0; i < count; i++) {
                        child.addStringItem(fieldNames, fieldValues);
                }
        }
        if(isDateNames && isDateValues){
                var datecount = 1;
        var dateName = "";
                var dateValue = "";
                if (isDateNames.constructor == Array) {
                        datecount = isDateNames.length;
                } else {
                        dateName = isDateNames;
                }
                if (isDateValues.constructor != Array) {
                        dateValue = isDateValues;
                        child.addDateItem(dateName, dateValue);
                } else {
                        for (var i = 0; i < datecount; i++) {
                                child.addDateItem(isDateNames, isDateValues);
                        }
                }
        }
        process.doCreate(child);
}

本帖子中包含更多资源

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

×
spiral 发表于 2012-11-1 17:06:31 | 显示全部楼层
正在为您进行本地测试,请稍后
回复

使用道具 举报

spiral 发表于 2012-11-1 18:34:44 | 显示全部楼层
您好,经过本地测试,该问题确实存在问题,稍后会转交给研发,对您带来的比便表示歉意
回复

使用道具 举报

 楼主| about5200ych 发表于 2012-11-19 11:02:20 | 显示全部楼层
这个问题有些急啊   到现在还没有出补丁  期待下个补丁可以解决问题
回复

使用道具 举报

spiral 发表于 2012-11-19 11:03:00 | 显示全部楼层
您好,关于您的问题,稍后我们这边会发出邮件,请研发部门尽快修复的,请知悉.
回复

使用道具 举报

spiral 发表于 2012-11-20 14:37:28 | 显示全部楼层
本帖最后由 spiral 于 2012-11-20 15:18 编辑

您好,我们这边给出的解决方案是:使用字符串操作把“undefined”去掉
您可以参考以下帖子中的内容:
http://www.teemlink.com/bbs/viewthread.php?tid=164508
回复

使用道具 举报

spiral 发表于 2012-12-5 15:39:36 | 显示全部楼层
您好,该问题在MyApps-2.5.SP6-13557版本已经修复
下载地址:http://www.teemlink.com/downloads.jsp
回复

使用道具 举报

spiral 发表于 2012-12-5 15:59:31 | 显示全部楼层
客户反馈暂时不会升级,等以后有机会会尝试,经过本地测试,该问题已经修复,帖子关闭,麻烦楼主在升级以后告知结果
回复

使用道具 举报

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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