不知道大家還記得不記得很早之前介紹的用軟件打印含特殊校驗位的流水號,流水號組成部分就是:流水號+校驗位(如下圖5位長度流水號+校驗位),其中校驗位就是由前面的流水號各項數(shù)字求和取個位數(shù)得出,之前介紹的是利用Excel對原數(shù)據(jù)進行處理再導入條碼軟件打印,那么利用剛剛給大家介紹的中瑯條碼軟件腳本編程求固定數(shù)據(jù)之和的方法也可以實現(xiàn)這個功能,只需要稍微修改一下代碼即可,下面就來詳細的介紹一下。
在中瑯條碼打印軟件中新建一個空白標簽,然后利用條碼軟件左側(cè)工具欄中的“A”圖標在標簽上添加一個普通文本,雙擊普通文本打開“圖形屬性-數(shù)據(jù)源”,點擊數(shù)據(jù)對象下面的修改按鈕,彈出數(shù)據(jù)對象管理窗口,數(shù)據(jù)對象類型修改為“序列生成”,開始字符串修改為“69901”,然后點“+”再添加一個,同樣是用序列生成,開始字符串改為“69001”,和上面一樣。(數(shù)據(jù)源中添加了兩個一模一樣的流水號,下面的流水號通過腳本進行處理得出校驗位)
選擇第二個流水號,點擊右側(cè)處理方法下方的“+”,添加一個“腳本編程”的處理方法,輸入以下代碼:
/*javascript*/
//vars:thisObj,dataObj
var a = dataObj.getOriginalDataValue() + "";
var b =strReturn.split(""); //split()函數(shù),把原數(shù)據(jù)分裂成b[0]、b[1]、b[2]、b[3]、b[4]五部分,以此類推數(shù)據(jù)長度有多少就能分裂成多少
var c = Number(b[0])+Number(b[1])+Number(b[2])+Number(b[3])+Number(b[4]); //求和,Number()函數(shù)把個對象數(shù)值轉(zhuǎn)換成數(shù)字
var d = c%10; //取和值的個位數(shù)
strReturn = d.toFixed(0); //由于輸出數(shù)據(jù)含小數(shù)點,所以取整輸出
利用split()函數(shù),把原數(shù)據(jù)分成多個部分,用b[0]、b[1]、b[2]…………表示,利用Number()函數(shù)把各對象轉(zhuǎn)換成數(shù)字相加就得出各項數(shù)字之和了,然后再取和值的個位數(shù)輸出即可。打印預(yù)覽也可以看到批量生成流水號+校驗位的效果。
綜上所述就是用中瑯條碼軟件腳本編程打印含特殊校驗位流水號的方法,本站搜索《如何批量打印含特殊校驗位的流水號》查看另一種打印此種含特殊校驗位的方法。
共有條評論 網(wǎng)友評論