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

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

[已解决] 脚本出错,求助。

[复制链接]
塞普克 发表于 2013-11-22 15:02:52 | 显示全部楼层 |阅读模式
本帖最后由 kimi 于 2013-11-22 17:59 编辑

错误如下:
QQ截图20131122150013.png
代码如下:

var user = getWebUser();
var selects =getParameter("_selects");
var val = "";
if(selects!=""){
        selects = splitText(selects, ";");
        var user = getWebUser();
        var process = getDocumentProcess(); //new Packages.cn.myapps.core.dynaform.document.ejb.DocumentProcessBean(getApplication());
        var sub_doc = new Packages.cn.myapps.core.dynaform.document.ejb.Document();
        for(var i =0;i<selects.length;i++){
                var doc = findDocument(selects);
                //Packages.java.lang.System.out.println(doc);
                val=val+"id: "+doc.getId()+"; ";
                val=val+"primary_owner: "+doc.getItemValueAsString("primary_owner")+"; ";
                val=val+"app_owner: "+doc.getItemValueAsString("app_owner")+"; ";
                val=val+"bu_region: "+doc.getItemValueAsString("bu_region")+"; ";
                val=val+"office_brewery: "+doc.getItemValueAsString("office_brewery")+"; ";
                val=val+"serial_no: "+doc.getItemValueAsString("serial_no")+"; ";
               
                sub_doc.setFormid('11e2-a252-fc06ad5f-965d-49dc9d947c8d');
                sub_doc.setFormname(getApplication()+'/AssetManagement/form_asset_change_log');
                //sub_doc.setAuthor(user.getUserId());
                sub_doc.setIstmp(false);
                sub_doc.setApplicationid(getApplication());
                sub_doc.setDomainid(doc.getDomainid());
                sub_doc.setParent(doc.getId());
                var curdate = getCurDate("yyyy-MM-dd HH:mm:ss");     
                //var op_time = parseDate(curdate, "yyyy-MM-dd HH:mm:ss");
                sub_doc.addStringItem("sys_asset_no",doc.getItemValueAsString("sys_asset_no"));
                sub_doc.addStringItem("asset_type","COMPUTER&MISC");
                sub_doc.addStringItem("asset_user",user.getLoginno());
                sub_doc.addDateItem("op_time",getToday());       
                sub_doc.addStringItem("op_type","Delete");       
                sub_doc.addTextItem("op_data",val);
                process.doCreate(sub_doc); //这行为啥出错!
        }
       

       
}
kimi 发表于 2013-11-22 15:15:41 | 显示全部楼层
您好:这个提示是说您插入数据时主键重复了,您现在既然采用循环的方式往表单里面插入数据,那建议您表单对应的id指定采用手动的方式去指定,建议您的代码改为如下:

  1. var user = getWebUser();
  2. var selects =getParameter("_selects");
  3. var val = "";
  4. if(selects!=""){
  5.         selects = splitText(selects, ";");
  6.         var user = getWebUser();
  7.         var process = getDocumentProcess(); //new Packages.cn.myapps.core.dynaform.document.ejb.DocumentProcessBean(getApplication());
  8.         var sub_doc = new Packages.cn.myapps.core.dynaform.document.ejb.Document();
  9.         for(var i =0;i<selects.length;i++){
  10.                 var doc = findDocument(selects);
  11.                 //Packages.java.lang.System.out.println(doc);
  12.                 val=val+"id: "+doc.getId()+"; ";
  13.                 val=val+"primary_owner: "+doc.getItemValueAsString("primary_owner")+"; ";
  14.                 val=val+"app_owner: "+doc.getItemValueAsString("app_owner")+"; ";
  15.                 val=val+"bu_region: "+doc.getItemValueAsString("bu_region")+"; ";
  16.                 val=val+"office_brewery: "+doc.getItemValueAsString("office_brewery")+"; ";
  17.                 val=val+"serial_no: "+doc.getItemValueAsString("serial_no")+"; ";
  18.                 var uuid = new Packages.cn.myapps.util.sequence.Sequence().getSequence();
  19.                 sub_doc.setId(uuid);  //这里采用手动动态的方式去设置记录的id
  20.                 sub_doc.setFormid('11e2-a252-fc06ad5f-965d-49dc9d947c8d');
  21.                 sub_doc.setFormname(getApplication()+'/AssetManagement/form_asset_change_log');
  22.                 //sub_doc.setAuthor(user.getUserId());
  23.                 sub_doc.setIstmp(false);
  24.                 sub_doc.setApplicationid(getApplication());
  25.                 sub_doc.setDomainid(doc.getDomainid());
  26.                 sub_doc.setParent(doc.getId());
  27.                 var curdate = getCurDate("yyyy-MM-dd HH:mm:ss");     
  28.                 //var op_time = parseDate(curdate, "yyyy-MM-dd HH:mm:ss");
  29.                 sub_doc.addStringItem("sys_asset_no",doc.getItemValueAsString("sys_asset_no"));
  30.                 sub_doc.addStringItem("asset_type","COMPUTER&MISC");
  31.                 sub_doc.addStringItem("asset_user",user.getLoginno());
  32.                 sub_doc.addDateItem("op_time",getToday());        
  33.                 sub_doc.addStringItem("op_type","Delete");        
  34.                 sub_doc.addTextItem("op_data",val);
  35.                 process.doCreate(sub_doc); //这行为啥出错!
  36.         }  
  37. }
复制代码
您先尝试,有问题我们再沟通。
kimi 发表于 2013-11-22 17:59:29 | 显示全部楼层
电话客户反馈该问题已经解决,故对应的帖子关闭。

本版积分规则

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

GMT+8, 2026-8-13 08:57

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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