何を実現したいのかを書きましょう
レコードの保存時に、サブテーブル内に保存されているユーザー選択の値と同じものがサブテーブル外のユーザー選択フィールドに入るようにしたいです。
文字列フィールドへのコピーは出てくるのですが、同じユーザー選択フィールドへのコピーの記事が見つからず質問させていただきます。
参考にしているページ
実行したコードをコピー&ペーストしましょう
テーブル内に設置してあるルックアップにて、別アプリから管理者を取得
↓
その取得した管理者を、プロセス管理の承認者にしたいので、別途承認者のフィールドに入れたい
という経緯になります。
※ テーブルは複数行入力されるのですが、同一人物(1名のみ)が管理者として表示されるので、一番上の行に入っている管理者が承認者に適用されればいい、という状況です。
▼ 参考ページのフィールド名を書き換えたもの
kintone.events.on(["app.record.create.submit", "app.record.edit.submit"],
function (event) {
const record = event.record;
const table = record.テーブル.value;
// 名前だけの配列生成
let list = table.map(row => { return row.value.管理者.value ? row.value.管理者.value : "" })
// 重複削除フィルター
list = list.filter((x, i, self) => { return self.indexOf(x) === i }
);
// 配列をコンマ区切りで結合してall_student_nameへ
record.承認者.value = list.join(",")
return event;
}
);
▼ 実際に適用してみたもの
kintone.events.on(["app.record.create.submit", "app.record.edit.submit"],
function (event) {
const record = event.record;
const table = record.テーブル.value;
record.承認者.value = record.管理者.value
return event;
}
);
文字列に適用するわけではないので、名前だけの配列生成、重複削除フィルターは削除。
list.join(“,”)部分は絶対違うなと思いつつ変更しました。
rowの指定も入れるべきでしょうか?
また、constではなくvarを使うべきでしょうか?
お手数ですが、ご回答いただけると幸いです。
よろしくお願いいたします。