新規投稿
フォローする

自動採番プラグインについて

自動採番プラグインにてソースを見るLIKEを用いたクエリで最新のレコードを取得していると思われるのですが、10万件以上レコードがあった場合には正しく採番されるのでしょうか。
kintoneの制限上、クエリの検索結果が10万件以上ある場合は絞込みが中断されます。

自動採番プラグインは以下リンクです。
https://developer.cybozu.io/hc/ja/articles/209715393-%E8%87%AA%E5%8B%95%E6%8E%A1%E7%95%AA%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3

0

3件のコメント

Avatar
juridon

実際にやってみていないのでわかりませんが、
自動採番プラグインのソースを見た感じ、

"query": '日付 >= "' + dtmin + '" and 日付 < "' + dtmax + '" order by 自動採番 desc limit 1'

で、最新のレコード1件しか取ってこない(つまり、検索結果が1件)なので、大丈夫だと思います。


1
Avatar
nnnng

juridon 様

コメントありがとうございます。
自動採番プラグインの以下ソースでLIKE文で最新の番号を持つレコードを取得していると思ったのですが
 kintoneではorder by や limit で絞り込む前のクエリの抽出結果が10万件以上あると絞込みを中断するため、10万件以上ある場合はそれ以上のレコードを取得できないように思います。そのため最大は10万件目にあたり毎回100001と採番されるように思うのですがどうなのでしょうか。

        getLastNumberByFromAllRecords: function (targetFormat) {
            var self = this;
            return new kintone.Promise(function (resolve, _reject) {
                var query =
                  self.settings.config.FIELD_CODE + ' like "' + targetFormat + '"';
                self.getAllRecordsByApi(query)
                .then(function (resp) {
                    var reg;
                    var index = 0;
                    if (!resp || resp.length === 0) {
                        resolve(self.CONSTANT.NUMBERING_DEFAULT);
                        return;
                    }
                    reg = self.createRegExpBySettingFormat();
                    for (index; index < resp.length; index++) {
                        if (
                          reg.test(resp[index][self.settings.config.FIELD_CODE].value)
                        ) {
                            resolve(
                              self.getNumberBy(
                                resp[index][self.settings.config.FIELD_CODE].value
                              ) + 1
                            );
                        return;
                        }
                    }
                });
            });
        },
nnnngにより編集されました
0
Avatar
juridon

こんにちは!

すみません、ちょっとやってみないとわからないです(汗)

0
サインインしてコメントを残してください。