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

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

[已解决] 在导入Excel时,用脚本把某些记录写入另外的表时,出错。

[复制链接]
青岛融贯汇众 发表于 2014-2-10 10:05:03 | 显示全部楼层 |阅读模式
本帖最后由 sophie 于 2014-2-11 16:09 编辑

错误.jpg
查看T_ACTORRT表中,并没有STATE。这是怎么个原因啊。
 楼主| 青岛融贯汇众 发表于 2014-2-10 10:11:15 | 显示全部楼层
VmyApps2.5SP10.18733  版本号
sophie 发表于 2014-2-10 10:25:52 | 显示全部楼层
您好,请问您的脚本是怎么写的,首先您可自己先排查一下,您导入数据的时候 先不执行插入的脚本,看能否正常执行,然后再测试一下,如果把插入数据的脚本单独执行看能否正常执行插入数据,先确定是不是您的脚本写得有问题,您可以用打印语句一句一句定位问题,看出在哪一句执行出错。
 楼主| 青岛融贯汇众 发表于 2014-2-10 11:59:32 | 显示全部楼层
我是想在导入时,验证一下相关表的记录是否存在,不存在时,进行添加。

校验脚本如下:
  1. var val=getItemValueAsString("销售国家");

  2. var rtn="";

  3. if(val!=null&&val!="")

  4. {

  5.     var sql="select * from TLK_销售国家 where ITEM_销售国家='"+val+"'";

  6.     var datas=queryByDSName("Efficiency",sql);

  7.     if(datas.size()>0)

  8.     {

  9.         rtn="重复数据";

  10.        println("rtnnnnn======="+rtn);

  11.      }

  12.      else

  13.      {

  14.                 var process = new Packages.cn.myapps.core.dynaform.document.ejb.DocumentProcessBean(getApplication());

  15.                 var params = new Packages.cn.myapps.base.action.ParamsTable();

  16.                 var user = getWebUser();

  17.                 var doc = new Packages.cn.myapps.core.dynaform.document.ejb.Document();

  18.                 doc.setAuthor(user.getId());

  19.                 doc.setIstmp(false);

  20.                 doc.setApplicationid(getApplication());

  21.                 doc.setDomainid(user.getDomainid());

  22.                 doc.setFormid("11e3-8632-a478e54d-a6ca-51c8a219ae11");//表单ID

  23.                 doc.setFormname("内部提效软件/整机规划管理/整机规划/销售国家");//表单名

  24.                 doc.setParent("");//主表单的ID

  25.                 doc.addStringItem("销售国家",val);//ITEM_销售国家

  26.                 doc.addStringItem("国家描述",val);//ITEM_国家描述

  27.                 doc.addStringItem("备注",val);//ITEM_备注

  28.                 process.doCreate(doc);

  29.                 rtn=";添加成功";

  30.                 println("rtnnnnn===销售国家:===="+val+rtn);

  31.      }

  32. }rtn;
复制代码
sophie 发表于 2014-2-10 13:05:20 | 显示全部楼层
请问您的这段脚本是写在哪里的?您用打印语句定位是执行到哪一句出错了?
 楼主| 青岛融贯汇众 发表于 2014-2-10 13:08:48 | 显示全部楼层
写在校验脚本框里的。
sophie 发表于 2014-2-10 13:49:23 | 显示全部楼层
本帖最后由 sophie 于 2014-2-10 14:14 编辑

您好,您用打印语句定位看一下您的脚本中哪一句执行不了,还有根据您的需求,既然您是导入的时候校验,建议您写在导入的动作执行后脚本中,如果存在则弹出提示已存在,如果不存在,则插入数据。且把您的脚本修改一下,弹出信息使用createAlert()函数。
 楼主| 青岛融贯汇众 发表于 2014-2-11 15:47:42 | 显示全部楼层
问题解决了。谢谢。
sophie 发表于 2014-2-11 16:09:35 | 显示全部楼层

本版积分规则

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

GMT+8, 2026-8-13 13:41

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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