ninox 通しNo.を付ける

パソコン

自動でナンバーを振ってくれるスクリプトを作ろう

ninoxのサンプルのCustomer Relation Management の中のOfferesテーブルの Tigger on new recordのスクリプト

1	let myLastNumber := last(((select Offers where 'Offer number') order by 'Offer number').number(extractx('Offer number', "\d+")));
2	'Offer number' := "AN" + format(myLastNumber + 1, "000000")

extractxは正規表現を使って対象を取り出す関数。
\dは正規表現で、数字で有る事を表している。後に続く+は繰り返し。
これは、「AN000001」と言った番号から次の番号を得るためのスクリプト。

こんなにややこしくしなくてもただ、ナンバーが振られていれば良いのなら、

1	let i := number(max((select '見積・請求DB2015').No_fld));
2	No_fld := i + 1

No_fldと言うフィールドが作ってあり、他から読み込んだ数字がすでに入っていると仮定しています。
1行目、変数iを宣言して、「見積DB」テーブルの「No_fld」の最大値をiへ入れています。
2行目、「No_fld」フィールドへ変数iに1加えた数を入れています。
セミコロンが必要ないのは1バイト文字でスペース無しだから

タイトルとURLをコピーしました