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

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

动作脚本出错

[复制链接]
i945 发表于 2012-5-29 17:31:51 | 显示全部楼层 |阅读模式
本帖最后由 irene 于 2012-5-30 15:44 编辑

var id=getItemValueAsString("ID");
var nam=getItemValueAsString("NAME");
var addr=getItemValueAsString("ADDRESS");
var iou=getItemValueAsString("INSORUPD");


//var process = getDocProcess(getApplication());     
var process = new Packages.cn.myapps.core.dynaform.document.ejb.DocumentProcessBean(getApplication());   
var formProcess = new Packages.cn.myapps.core.dynaform.form.ejb.FormProcessBean();
var form = formProcess.doView("11e1-a615-f78a10ec-b0aa-d55d986525ba");
var doc = process.doNew(form,getWebUser(),new Packages.cn.myapps.base.action.ParamsTable());  

if (iou==1){

        doc.findItem("ID").setValue(id);
        doc.findItem("NAME").setValue(nam);
        doc.findItem("ADDRESS").setValue(addr);
        doc.findItem("INSORUPD").setValue("1");
        process.doUpdate(doc);
        $PRINTER.println("修改成功");

}else{

       doc.addStringItem("ID",id);
       doc.addStringItem("NAME",nam);
       doc.addStringItem("ADDRESS",addr);        
       doc.addStringItem("INSORUPD","1");   
       process.doCreate(doc);
       $PRINTER.println("新增成功");
}
提示 TypeError:Cannot find function doCreate
shary 发表于 2012-5-29 17:40:39 | 显示全部楼层
您好,doCreate方法需要两个参数。process.doCreate(doc,getWebUser());//第二个参数为设置新建单的作者。
如果方便的话麻烦留下您的联系方式(QQ、电话)以便我们及时跟进和解决您的问题。谢谢!!!
 楼主| i945 发表于 2012-5-29 17:47:08 | 显示全部楼层
我改了一下,还是报这个错,是不是我上面写的都不对,还是版本太低,我用的是v2.28
purple 发表于 2012-5-29 18:13:32 | 显示全部楼层
您好,文档对象才会有doCreate()方法的。新增记录具体脚本您可参考这个贴:http://www.teemlink.com/bbs/view ... 26amp%3Btypeid%3D35,有问题,我们再沟通。
 楼主| i945 发表于 2012-5-29 18:46:30 | 显示全部楼层
我就是从那里看到的代码,getDocumentProcess用的时候会提示:ReferenceError:"getDocumentProcess"is not defined
irene 发表于 2012-5-30 10:40:14 | 显示全部楼层
您好,方便跟您远程看一下吗?我的QQ是:2676466983
 楼主| i945 发表于 2012-5-30 11:20:31 | 显示全部楼层
那是内网的机子,我在自己的电脑上试试,可以保存,但是数据库里会出现两条数据
 楼主| i945 发表于 2012-5-30 11:24:44 | 显示全部楼层
内网的机子可能是因为版本低或者源码被改了,我在学习,就想知道doCreate,doUpdate应该怎么用
irene 发表于 2012-5-30 11:25:40 | 显示全部楼层
您好,请问您的这段脚本是写在什么位置呢?数据库里会出现两条数据是不是说点击保存后,数据库会保存两条一样的数据呢?如果方便的话麻烦留下您的联系方式(QQ、电话)以便我们及时跟进和解决您的问题。谢谢!!!
 楼主| i945 发表于 2012-5-30 11:42:03 | 显示全部楼层
var id=getItemValueAsString("ID");
var nam=getItemValueAsString("NAME");
var iou=getItemValueAsString("INORUP");

var process = getDocumentProcess();      
var formProcess = new Packages.cn.myapps.core.dynaform.form.ejb.FormProcessBean();
var form = formProcess.doView("11e1-8aba-35996187-a4d1-83510de32a4b");
var doc = process.doNew(form,getWebUser(),new Packages.cn.myapps.base.action.ParamsTable());  

if (iou==1){
        doc.findItem("ID").setValue(id);
        doc.findItem("NAME").setValue(nam);
        doc.findItem("INORUP").setValue("1");
        process.doUpdate(doc);
        $PRINTER.println("*****************************修改成功*********************************");
}else{
       doc.addStringItem("ID",id);
       doc.addStringItem("NAME",nam);
       doc.addStringItem("INORUP","1");   
       process.doCreate(doc);
       $PRINTER.println("******************************新增成功*********************************");
}


脚本在保存按钮的动作执行前脚本, 保存的时候会保存两条一样的数据

本版积分规则

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

GMT+8, 2026-8-13 02:32

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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