レコードを複製した際に、どのレコードから複製したかがわかるようにしたいと考えて、
下記フィールドを設けました。
フィールド名:フィールドコード
レコード番号:レコード番号、中間:中間、複製元レコード番号:複製元レコード番号
※中間、複製元レコードはいずれも「数値」
プログラムで実現したい内容としては下記の通りです。
1.①新規にレコードを作成した際に、保存する際にレコード番号を中間に保存
1.②①のレコードの編集を押した際に、中間の番号が複製元レコードに保存される。
※ただし、複製元レコード番号が空白になっている時だけ
空白でないと、編集を押す度に中間のレコード番号が複製元レコード番号に保存されるため
2.1.②で保存されたレコードを複製して保存する際には、
レコード番号が中間に保存されるだけで、複製元レコード番号は何も編集されない
ちなみに、このアプリはレコードの編集者が2人に分かれているので、
必ず2回以上編集があることを前提にしています。
そこで、下記コードを作成して読み込ませているのですが、
全然うまくいきません。
最初はレコード番号を中間に保存するという式も組み込んでいましたが、
新規でレコードを作成した際に、保存するまでレコード番号が空白になって、
エラーを起こすため、
計算式プラグインというものを使って、レコード番号→中間とコピーするようにしています。
結局は複製元レコード番号が空白の時だけ、
中間→複製元レコード番号をコピーするという内容になっています。
エラーとしては、何もコピーがされませんが、レコードの保存自体はできます。
F12を押してもエラーとして表示されませんでした。
原因がお分かりになる方がいれば、ぜひご教示いただけますと幸いです。
よろしくお願いいたします。
(function () {
"use strict";
kintone.events.on([
'app.record.create.submit',
'app.record.edit.submit',
'app.record.index.edit.submit'], function (event) {
var record = event.record;
if (record['複製元レコード番号']['value'] === ""){
record['複製元レコード番号']['value'] = record['中間']['value'];
}
return event;
});
})();
1件のコメント
kyodenさん
こんにちは。
複製元レコード番号が数値フィールドのため、空の場合はundefined が入ってしまっており、
if文を抜けているのではないかと思います。
こちらのような感じで判定処理をすることで、うまくいかないでしょうか?