butasan
(青木)
1
Kintoneで同一レコード内での動作を希望しています。
テーブルに複数行あり、そのなかのチェックボックスが入った行の中の
テーブルB列の値のみを
別フィールドの文字列フィールドにコピーをしたいのですが、
実装方法ご教授いただけないでしょうか?
また、チェックボックスが外れたら文字列フィールドからの値も消えるよう設定したいです。
テーブル名:履歴 |
|
|
|
|
テーブル |
テーブルA |
テーブルB |
テーブルC |
チェックボックス |
1行目 |
1 |
3 |
5 |
□レ |
2行目 |
2 |
4 |
6 |
|
|
|
|
|
|
文字列 |
テーブルBの値をコピー |
|
|
|
tenso
(てんそ)
2
チェックありで、なおかつ[テーブルB]の値ありの行が複数ある場合
どうコピーするか不明なので、上の行から順に結合するようにしてます。
(() => {
"use strict";
kintone.events.on([
'app.record.edit.show',
'app.record.edit.change.履歴',
'app.record.create.change.履歴',
'app.record.edit.change.チェックボックス',
'app.record.create.change.チェックボックス',
'app.record.edit.change.テーブルB',
'app.record.create.change.テーブルB'
], (event) => {
const record = event.record;
const historyTable = record['履歴'].value;
let copiedValues = []; // [文字列]にコピーする値を格納する配列
// [履歴]テーブルの各行をチェック
historyTable.forEach((row) => {
const checkbox = row.value['チェックボックス'].value;
const tableBValue = row.value['テーブルB'].value;
// [チェックボックス]がチェックされている場合
if (checkbox.includes('チェック')) {
copiedValues.push(tableBValue); // [テーブルB]の値を配列に追加
}
});
// [文字列]にチェックありの行の[テーブルB]の値を結合して設定
record['文字列'].value = copiedValues.join('');
return event;
});
})();
butasan
(青木)
3
具体的にお伝えしておらず大変失礼いたしました。
チェックボックスは複数行内に1つしか存在しない状態です。
tenso
(てんそ)
4
であれば、上のコードをそのまま使えます。
上図の3行目以降が無い場合は[文字列]に「3」がコピーされるので。
1 Like
system
(system)
Closed
6
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。