下記の様な動作を行いたいのですが、上手くいきません。
①については、動作するのですが、②が動作しません。
ご教示願います。
①Aテーブルの『発送』にチェックを付けた場合には、
Bテーブルのに会社名等を追加
②Aテーブルの『発送』にチェックを外した場合には、
Bテーブルの該当行を削除
下記の様な動作を行いたいのですが、上手くいきません。
①については、動作するのですが、②が動作しません。
ご教示願います。
①Aテーブルの『発送』にチェックを付けた場合には、
Bテーブルのに会社名等を追加
②Aテーブルの『発送』にチェックを外した場合には、
Bテーブルの該当行を削除
kintone_TS44さん
お世話になっております.
Bテーブルの行のうち,発送_IDがチェックボックスを外した行のIDと一致するものを削除するという実装が良いのではないでしょうか.
もしよろしければ,書かれたコードをご提示いただけるとより適切なコメントができるかと思います.
江田様へ
ご回答誠にありがとうございます。
下記がコードとなりますが、Aテーブルのチェックボックス(DM)の値がONになったら、
Bテーブルにデータを追加するところまで出来ていますが、
Aテーブルのチェックボックス(DM)の値がOFFになった場合の実装が出来ていません。
ご教示頂ければ幸いです。
(function () {
"use strict";
const events = ['app.record.create.change.DM','app.record.edit.change.DM'];
kintone.events.on(events, function(event) {
if (event.changes.field.value.length !== 0) {
var table = event.record.発送リスト.value;
console.log("table" + table);
var id = event.changes.row.value.ID.value;
console.log("id" + id);
var office = event.changes.row.value.会社名.value;
console.log("office" + office);
var office2 = event.changes.row.value.支店支社.value;
console.log("office2" + office2);
var post = event.changes.row.value.郵便番号.value;
console.log("post" + post);
var address = event.changes.row.value.都道府県.value;
console.log("address" + address);
var address2 = event.changes.row.value.住所1.value;
console.log("address2" + address2);
var address3 = event.changes.row.value.住所2.value;
console.log("address3" + address3);
var newRow = {
"value": {
"発送ID" : {"type": "NUMBER", "value": id},
"発送会社名" : {"type": "SINGLE_LINE_TEXT", "value": office},
"発送支店支社": {"type": "SINGLE_LINE_TEXT", "value": office2},
"発送郵便番号": {"type": "SINGLE_LINE_TEXT", "value": post},
"発送都道府県": {"type": "SINGLE_LINE_TEXT", "value": address},
"発送住所1" : {"type": "SINGLE_LINE_TEXT", "value": address2},
"発送住所2" : {"type": "SINGLE_LINE_TEXT", "value": address3},
}
};
table.push(newRow);
return event;
}
});
})();
kintone_TS44さん
下記のコードで実装できるかと思います.
動作確認まではしておりませんが…
(function () {
"use strict";
const events = ['app.record.create.change.DM', 'app.record.edit.change.DM'];
kintone.events.on(events, function (event) {
var table = event.record.発送リスト.value;
console.log("table" + table);
var id = event.changes.row.value.ID.value;
console.log("id" + id);
var office = event.changes.row.value.会社名.value;
console.log("office" + office);
var office2 = event.changes.row.value.支店支社.value;
console.log("office2" + office2);
var post = event.changes.row.value.郵便番号.value;
console.log("post" + post);
var address = event.changes.row.value.都道府県.value;
console.log("address" + address);
var address2 = event.changes.row.value.住所1.value;
console.log("address2" + address2);
var address3 = event.changes.row.value.住所2.value;
console.log("address3" + address3);
if (event.changes.field.value.length !== 0) {
var newRow = {
"value": {
"発送ID": { "type": "NUMBER", "value": id },
"発送会社名": { "type": "SINGLE_LINE_TEXT", "value": office },
"発送支店支社": { "type": "SINGLE_LINE_TEXT", "value": office2 },
"発送郵便番号": { "type": "SINGLE_LINE_TEXT", "value": post },
"発送都道府県": { "type": "SINGLE_LINE_TEXT", "value": address },
"発送住所1": { "type": "SINGLE_LINE_TEXT", "value": address2 },
"発送住所2": { "type": "SINGLE_LINE_TEXT", "value": address3 },
}
};
table.push(newRow);
} else {
event.record.発送リスト.value = table.filter(function(row){
return row.value.発送ID.value !== id;
});
}
return event;
});
})();
江田様
ご回答誠にありがとうございます。
無事、実装する事が出来ました。