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