低代碼開發(fā)平臺的單據(jù)序列號怎么做?(低代碼開發(fā)平臺的單據(jù)序列號怎么做的)
發(fā)現(xiàn)朋友們試用了我們的低代碼開發(fā)平臺以來,怎么生成序列號是一個(gè)咨詢得比較多的問題,因?yàn)槟承┣闆r下確實(shí)需要序列號。
我們的低代碼平臺專門提供了一個(gè)“單據(jù)序列號”控件:
我們提供了專門的序列號字段
序列號字段和普通文本框的區(qū)別在于多了幾個(gè)屬性:
單據(jù)序列號控件的屬性
編號前綴:
比如我們希望以公司名首字母來(或者模塊名)做前綴可以輸入“HH”這樣的,如果您希望加上年月(yyyyMM)則可以設(shè)為:"HH" Date2String(ToDay(),"yyyyMM"),那么生成的編號前綴就是“HH202301”這樣的了。這里的腳本還可以通過GetValue("字段名")來獲取本單據(jù)上的其他字段值來一起生成序列號;
可變前綴:
“編號前綴”中已經(jīng)可以通過腳本實(shí)現(xiàn)可變的部分,但是,如果“編號前綴”中加年月后,則只要年月改變那么自增部分都會重新從0開始,比如1月份是:HH20230100001,..HH20230100999這樣的,而2月份HH20230200001,..HH20230200999,只要年月變了可變部分就會從1開始;
怎么解決這種問題呢?可以把上面提到的“年月”部分設(shè)置在本“可變前綴”屬性上。這樣的話得到的單據(jù)編號就會是:HH20230100001,HH20230100002,..HH20230100099,HH20230200100,HH20230200101,HH20230200999這樣連續(xù)的了。
編號后綴:
如果我們希望可變部分在中間,比如:HH2023010000001CAR,…HH2023010000999CAR,結(jié)尾用CAR這樣的標(biāo)志,那么這里就可以設(shè)置單據(jù)后綴了,單據(jù)后綴同樣支持腳本;
編號可變部分長度:
這個(gè)屬性很好理解,就是可變部分的長度,比如可變部分長度填10則生成的序號部分為:0000000001這樣的,如果為5則是這樣的:00001;
設(shè)置好規(guī)則后自動生成編號
但是,一個(gè)系統(tǒng)不可能只有一個(gè)人在操作,那么如果多個(gè)人在差不多的時(shí)間內(nèi)點(diǎn)“新增”某個(gè)單據(jù),他們界面上看到的單據(jù)都將會是HH202300001這樣的,因?yàn)樗麄兌歼€沒有保存,所以系統(tǒng)判斷不了實(shí)際的單據(jù)序號,這種情況如果接入一個(gè)其他服務(wù)來做(比如一個(gè)能夠序號自增的服務(wù)等等)應(yīng)該可以解決,當(dāng)然這種解決辦法也可能會存在斷號,比如我點(diǎn)新增后不保存又關(guān)閉了頁面。
但是這樣就會引入并依賴于其他服務(wù)了,我們的解決方法是在保存的時(shí)候再次重新計(jì)算編號,按照這幾個(gè)人保存的順序重新對這幾個(gè)人進(jìn)行編號。