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

[已解决] 流水号生成方法报错!!!

[复制链接]
北京智源普华 发表于 2014-10-28 11:30:42 | 显示全部楼层 |阅读模式
本帖最后由 nice 于 2014-10-29 10:01 编辑

// tname 表名,cname 字段名, prefix 前缀,digit 流水号位数,pattern 日期格式
function getNextNo(tname, cname, prefix, digit, pattern) {
  if (!digit) {
          digit = 3;
  }
  if (!pattern) {
          pattern = "yyyyMMdd";
  }
  
        var rq= format(getToday(),pattern);//当前日期格式化
        var prefix=prefix+rq;
       
        // 根据前缀取得数据库中的最大流水号数据
        var sql="select * from tlk_"+tname+" where item_"+cname+" like '"+prefix+"%' order by item_"+cname+" desc";

  var doc=findBySQL(sql);
  
  // 最大流水号
  var num=0;
  if (isNotNull(doc)) {
                var cvalue=doc.getItemValueAsString(cname);
                if(isNotNull(cvalue)){
                    var num=parseInt(cvalue.substr(prefix.length()));       
                }
  }
  num++;
  
  // 数据格式化为流水号位数
  var nf = Packages.java.text.NumberFormat.getInstance();
  nf.setMinimumIntegerDigits(digit);
        nf.setGroupingUsed(false);
               
        var s = nf.format(num);
        var value = prefix+s;
       
        return value;
}
使用该方法,当传入的前缀是英文字母而不是数字时,会报错

所报错误

所报错误


平台版本号obpm 20175,联系qq:625231762
nice 发表于 2014-10-28 12:03:47 | 显示全部楼层
parseInt();
这个函数内的参数 如果等于null会出现错误你需要先做判读的!
回复

使用道具 举报

 楼主| 北京智源普华 发表于 2014-10-28 14:12:06 | 显示全部楼层
已做了判断,但还是同样的错误,请仔细看一下所报的错误,之前这个代码一直没有问题,现在报错是平台的原因吗
回复

使用道具 举报

nice 发表于 2014-10-28 14:16:23 | 显示全部楼层
prefix.length()这块也是提示  length 不是一个function!你能在31行之前把31行的参数都打印出来!然后在看看!
回复

使用道具 举报

 楼主| 北京智源普华 发表于 2014-10-28 14:29:35 | 显示全部楼层
试过打印,但是打印不出来,你能否在你那边测试一下看是否报错?
回复

使用道具 举报

nice 发表于 2014-10-28 14:42:08 | 显示全部楼层
建议楼主参考我们精华贴做吧!
http://www.teemlink.com/bbs/view ... 4%B6%AF%B1%E0%BA%C5
回复

使用道具 举报

nice 发表于 2014-10-28 18:33:56 | 显示全部楼层
31行这么改写!      
          var num=parseInt(cvalue.substr(prefix.length));
回复

使用道具 举报

 楼主| 北京智源普华 发表于 2014-10-29 09:15:26 | 显示全部楼层
回复 7# nice


    改过之后还是报同样的错误,另外只是在前缀是英文字母时才会报错,是数字是不报错
回复

使用道具 举报

nice 发表于 2014-10-29 09:30:45 | 显示全部楼层
你打印出这个参数是什么! cvalue.substr(prefix.length())
回复

使用道具 举报

 楼主| 北京智源普华 发表于 2014-10-29 09:58:52 | 显示全部楼层
代码未作改动,功能可正常使用,建议结贴
回复

使用道具 举报

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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