站长蚂蚁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 542|回复: 0
打印 上一主题 下一主题

怎么用条码软件的脚本编程打印含特殊校验位流水号

[复制链接]

1211

主题

1211

帖子

3742

积分

成年蚂蚁

Rank: 8Rank: 8

积分
3742
跳转到指定楼层
楼主
发表于 2021-8-2 08:58:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

不知道大家还记得不记得很早之前介绍的用软件打印含特殊校验位的流水号,流水号组成部分就是:流水号+校验位(如下图5位长度流水号+校验位),其中校验位就是由前面的流水号各项数字求和取个位数得出,之前介绍的是利用Excel对原数据进行处理再导入条码软件打印,那么利用刚刚给大家介绍的中琅条码软件脚本编程求固定数据之和的方法也可以实现这个功能,只需要稍微修改一下代码即可,下面就来详细的介绍一下。

在中琅条码打印软件中新建一个空白标签,然后利用条码软件左侧工具栏中的“A”图标在标签上添加一个普通文本,双击普通文本打开“图形属性-数据源”,点击数据对象下面的修改按钮,弹出数据对象管理窗口,数据对象类型修改为“序列生成”,开始字符串修改为“69901”,然后点“+”再添加一个,同样是用序列生成,开始字符串改为“69001”,和上面一样。(数据源中添加了两个一模一样的流水号,下面的流水号通过脚本进行处理得出校验位)

选择第二个流水号,点击右侧处理方法下方的“+”,添加一个“脚本编程”的处理方法,输入以下代码:


//vars:thisObj,dataObj

var b =strReturn.split("");    //split()函数,把原数据分裂成b[0]、b[1]、b[2]、b[3]、b[4]五部分,以此类推数据长度有多少就能分裂成多少

var c = Number(b[0])+Number(b[1])+Number(b[2])+Number(b[3])+Number(b[4]);   //求和,Number()函数把个对象数值转换成数字

Var d = c%10;  //取和值的个位数

strReturn = d.toFixed(0);   //由于输出数据含小数点,所以取整输出

利用split()函数,把原数据分成多个部分,用b[0]、b[1]、b[2]…………表示,利用Number()函数把各对象转换成数字相加就得出各项数字之和了,然后再取和值的个位数输出即可。打印预览也可以看到批量生成流水号+校验位的效果。

综上所述就是用中琅条码软件脚本编程打印含特殊校验位流水号的方法,本站搜索《如何批量打印含特殊校验位的流水号》查看另一种打印此种含特殊校验位的方法。




回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|站长蚂蚁-站长之家 ( 赣ICP备15000807号

GMT+8, 2024-11-23 02:43

Powered by 蚂蚁站长论坛

© 2007-2024 bbs.jzmayi.com

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