自動採番の番号が重複します。(代替策のJSを教えて下さい)

先程「自動採番の番号が重複します。(自動採番プラグインVer2)」を投稿した者です。

代替策として、レコード番号から「文字列(一行)」の自動計算を使って「SC−(レコード番号)」を作成しようと考えましたが、「文字列(一行)」の自動計算ではレコード番号を取得できないエラーが発生しまして困っています。

そこで、Javaスクリプトで解決できると思われますがサンプルをお持ちの方はご教授頂けると幸いです。

<やりたいこと>

1.レコードの保存時にレコード番号から自動的に「文字列(一行)」に「SC−(レコード番号)」という採番をしたいです。例:レコード番号=123の場合「文字列(一行)」に「SC−123」を登録します。

2.考えられるJavaスクリプトでの処理の流れ

(1)レコード番号を取得する。

(2)「文字列(一行)」に取得したレコード番号を格納する。

(3)格納を完了して、保存後の画面に表示させる。

宜しくお願い致します。

 

こちらにも回答しておきます。以下のような形で可能です。

(() => {
  'use strict';

  let field = '文字列_1行'; // 文字列1行のフィールドコード

kintone.events.on('app.record.create.submit.success', (event) => {
  let appId = event.appId, recordId = event.recordId;
  let body = {
    app: appId,
    id: recordId,
    record: {
      [field]: {
        value: `SC-${recordId}`
      }
    }
  };

    return kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', body);
});

  kintone.events.on([
  'app.record.edit.submit', 'app.record.index.edit.submit'
], (event) => {
  let record = event.record, recordId = event.recordId;

    record[field].value = `SC-${recordId}`;

    return event;
});

  kintone.events.on([
  'app.record.create.show', 'app.record.edit.show', 'app.record.index.edit.show'
], (event) => {
  let record = event.record;

    record[field].disabled = true;

    return event;
});
})();

mls-hashimoto さん

ご丁寧にありがとうございます。

大変助かります。お手数をおかけしてしまいすみませんでした。

 

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。