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

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

[已解决] Excel导入时不更新主键重复数据

[复制链接]
青岛融贯汇众 发表于 2014-1-8 16:22:45 | 显示全部楼层 |阅读模式
本帖最后由 kimi 于 2014-1-9 15:43 编辑

您好,我想在EXCEL导入时不更新掉主键重复的数据,故在主键脚本中写了如下脚本,请问返回字符串应该以什么方式返回才行啊,以下脚本什么地方有错误请指导!
  1. var val=getItemValueAsString("商品编码");
  2. var rtn;
  3. if(val!=null&&val!=""){
  4. var sql="select * from tlk_商品基本信息表单 where item_商品编码='"+val+"'";
  5. var datas=queryByDSName("dfs",sql);
  6. if(datas!=null){
  7. rtn="重复数据";
  8. println("rtnnnnn======="+rtn);
  9. return rtn;
  10. }
  11. }
复制代码
sophie 发表于 2014-1-8 16:30:32 | 显示全部楼层
本帖最后由 sophie 于 2014-1-8 16:32 编辑

您好,您是说,您在该列中写校验脚本么,校验脚本写法与我们在表单中的定法类似呀,类似 :
var value=getItemValue("");
var rnt="";
if(value==3)
rnt="字段a不能等于3";
rnt;

您不用再retrun了 请问你现在这样写以后 页面上报的错是什么,可直接根据错误信息排查 一下。
 楼主| 青岛融贯汇众 发表于 2014-1-8 16:36:16 | 显示全部楼层
如果直接写rtn;   出现重复数据的话  重复的主键会直接变成我的字符串了  而不是被回退,我是参照以下这个帖子的方法。您明白的目的不。
http://www.teemlink.com/bbs/view ... t=Excel%B5%BC%C8%EB
kimi 发表于 2014-1-8 16:40:16 | 显示全部楼层
您好:麻烦你把代码改为如下:

  1. var val=getItemValueAsString("商品编码");
  2. var rtn="";
  3. if(val!=null&&val!=""){
  4.     var sql="select * from tlk_商品基本信息表单 where item_商品编码='"+val+"'";
  5.     var datas=queryByDSName("dfs",sql);
  6.     if(datas!=null){
  7.         rtn="重复数据";
  8.        println("rtnnnnn======="+rtn);
  9.      }
  10. }rtn;
复制代码
然后你excel导入的设置要是回退异常数据,这样如果您重复了的数据就不会更新,只会导入不重复的数据
 楼主| 青岛融贯汇众 发表于 2014-1-8 16:52:44 | 显示全部楼层
回复 4# kimi


   您好,我按照您修改的脚本进行测试,会出现将我重复数据的主键替换为我返回的字符串的问题,如下图: 111.jpg
sophie 发表于 2014-1-8 16:53:56 | 显示全部楼层
亲 您的脚本是怎么写的,怎么把提示信息更新到表单字段中了。
 楼主| 青岛融贯汇众 发表于 2014-1-8 17:10:55 | 显示全部楼层
直接复制的4楼给的脚本,就出现这种现象!
kimi 发表于 2014-1-8 17:16:17 | 显示全部楼层
您好:您的if中要加一个判断条件啊,应该是看这个数据集合的大小有没有大于0,代码如下:
  1. var val=getItemValueAsString("商品编码");
  2. var rtn="";
  3. if(val!=null&&val!=""){
  4.     var sql="select * from tlk_商品基本信息表单 where item_商品编码='"+val+"'";
  5.     var datas=queryByDSName("dfs",sql);
  6.     if(datas.size()>0){
  7.         rtn="重复数据";
  8.        println("rtnnnnn======="+rtn);
  9.      }
  10. }rtn;
复制代码
 楼主| 青岛融贯汇众 发表于 2014-1-9 08:59:50 | 显示全部楼层
还是不行啊,这个跟之前的效果是一样的,主键会变成字符串。
kimi 发表于 2014-1-9 09:03:13 | 显示全部楼层
您好:请问您这段脚本是写在excel配置列中的校验脚本中的吗?还有导入excel时,如果主键重复的话,请问您导入excel的时候执行到您if中的判断了么?

本版积分规则

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

GMT+8, 2026-8-13 11:14

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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