不知道大家還記得不記得很早之前介紹的用軟體列印含特殊校驗位的流水號,流水號組成部分就是:流水號+校驗位(如下圖5位長度流水號+校驗位),其中校驗位就是由前面的流水號各項數字求和取個位數得出,之前介紹的是利用Excel對原數據進行處理再導入條碼軟體列印,那麼利用剛剛給大家介紹的中琅條碼軟體腳本編程求固定數據之和的方法也可以實現這個功能,只需要稍微修改一下代碼即可,下面就來詳細的介紹一下。
在中琅條碼列印軟體中新建一個空白標籤,然後利用條碼軟體左側工具欄中的「A」圖標在標籤上添加一個普通文本,雙擊普通文本打開「圖形屬性-數據源」,點擊數據對象下面的修改按鈕,彈出數據對象管理窗口,數據對象類型修改為「序列生成」,開始字符串修改為「69901」,然後點「+」再添加一個,同樣是用序列生成,開始字符串改為「69001」,和上面一樣。(數據源中添加了兩個一模一樣的流水號,下面的流水號通過腳本進行處理得出校驗位)
選擇第二個流水號,點擊右側處理方法下方的「+」,添加一個「腳本編程」的處理方法,輸入以下代碼:
//vars:thisObj,dataObj
var a = dataObj.getOriginalDataValue() + "";
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()函數把各對象轉換成數字相加就得出各項數字之和了,然後再取和值的個位數輸出即可。列印預覽也可以看到批量生成流水號+校驗位的效果。
綜上所述就是用中琅條碼軟體腳本編程列印含特殊校驗位流水號的方法,本站搜索《如何批量列印含特殊校驗位的流水號》查看另一種列印此種含特殊校驗位的方法。