# テーブル内の日付けが入力されたら、テーブル外のラジオボタンの値を変更したい

**URL:** <https://community.cybozu.dev/t/topic/6399>\
**Category:** kintone 開発相談\
**Created:** [2020 年 6 月 2 日午前 1:49 UTC](https://community.cybozu.dev/t/topic/6399 "2020-06-02T01:49:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1087](https://avatars.discourse-cdn.com/v4/letter/l/db5fbb/32.png) [@Legacy\_Account1087](https://community.cybozu.dev/u/Legacy_Account1087)\
**Post date:** [2020 年 6 月 2 日午前 1:49 UTC](https://community.cybozu.dev/t/topic/6399/1 "2020-06-02T01:49:32Z")

</div>

お世話になります。

大変恐れ入りますが

行き詰ってしまったので教えていただけると助かります。

現在、下記のような図書館アプリを作っております。

本は予め１レコード1冊単位で管理し、レコード内で貸し借りの共有をするために貸出日、返却日などテーブルで履歴を作っていく方法をとりました。

この時、貸出日に日付が入ったら、貸し出し状況のラジオボタンを

貸出中にし、返却日に日付が入ったら在庫（返却済）としたいです。

お分かりになれば、ぜひご教授願います。

&nbsp;

&nbsp;

(function() {  
“use strict”;  
var events = [‘app.record.create.change.ラジオボタン’,‘app.record.edit.ラジオボタン’,‘app.record.create.change.日付’,‘app.record.edit.日付’];

kintone.events.on(events, function(event) {  
var record = event.record;  
//要素取得  
if (record[‘日付’][‘value’]) { // 値が設定されている場合  
process = “貸出中”;  
}else {  
process = “在庫（返却済）”;  
}  
record[‘ラジオボタン’][‘value’] = process;

return event;

});  
})();

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1821](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@Legacy\_Account1821](https://community.cybozu.dev/u/Legacy_Account1821)\
**Post date:** [2020 年 6 月 2 日午前 5:15 UTC](https://community.cybozu.dev/t/topic/6399/2 "2020-06-02T05:15:37Z")

</div>

Riorioさん、こんにちは。プロジェクト・アスノートの松田です。

&nbsp;

まず、カスタマイズで実現する方法ですが、

イベントはテーブル内の両日付フィールドの変更時イベント（新規追加、編集）ですね。

そして、値変更時イベントのドキュメントにあるように、changes.row やchangesで、変更した

フィールドの情報、テーブルの場合は変更した行の情報が取れますので、

それを使って、値が入ったことを判断し、ラジオボタンの値を変更する、という流れですね。

あと、記載されているコードが全文だとすると、processという変数が定義されていません。

&nbsp;

あと、カスタマイズを行わずに作る方法としては、プロセス管理を使うというやり方があると思います。

ステータスを、在庫（返却済）、貸出中 を定義して、２つのステータスを交互に動くようにプロセスを設定。

履歴データについては、「プロセス管理履歴記録プラグイン」を使ってテーブルに記録するという方法もあると

思います。この場合、部署名は入りませんが、貸し出し／返却時の利用者の操作としてはシンプルになりますね。

[https://caryncolabo.com/kintone\_plugin/statuslogging/](https://caryncolabo.com/kintone_plugin/statuslogging/)

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1087](https://avatars.discourse-cdn.com/v4/letter/l/db5fbb/32.png) [@Legacy\_Account1087](https://community.cybozu.dev/u/Legacy_Account1087)\
**Post date:** [2020 年 6 月 4 日午前 12:46 UTC](https://community.cybozu.dev/t/topic/6399/3 "2020-06-04T00:46:46Z")

</div>

[Shotaro Matsuda](https://community.cybozu.dev/hc/ja/profiles/619856384-Shotaro-Matsuda)&nbsp;さま

&nbsp;

ご連絡ありがとうございます。

プロセス管理を使うこともできるのですね。

現在、js制作中です。

アドバイスを基にもう少し進めてみます。

誠にありがとうございます！！

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1087](https://avatars.discourse-cdn.com/v4/letter/l/db5fbb/32.png) [@Legacy\_Account1087](https://community.cybozu.dev/u/Legacy_Account1087)\
**Post date:** [2020 年 6 月 9 日午前 5:08 UTC](https://community.cybozu.dev/t/topic/6399/4 "2020-06-09T05:08:28Z")

</div>

[Shotaro Matsuda](https://community.cybozu.dev/hc/ja/profiles/619856384-Shotaro-Matsuda)&nbsp;さま

お世話になります。

細かいところを確認して

とりあえず、動くようになりました。

これであっているのかわかりませんが、

ありがとうございました。

(function() {  
“use strict”;  
var events = [‘app.record.create.change.貸出日’,  
‘app.record.edit.change.貸出日’,  
‘app.record.create.change.返却日’,  
‘app.record.edit.change.返却日’];

kintone.events.on(events, function(event) {

switch (event.type) {  
case ‘app.record.create.change.貸出日’:  
case ‘app.record.edit.change.貸出日’:  
var changeRowDate = event.changes.row.value[‘貸出日’].value;  
var record = event.record;  
var process = record[‘ラジオボタン’][‘value’];  
//要素取得  
if (changeRowDate) { // 値が設定されている場合  
process = “貸出中”;  
}else{  
process = “在庫（返却済）”;  
}  
record[‘ラジオボタン’][‘value’] = process;

break;

case ‘app.record.create.change.返却日’:  
case ‘app.record.edit.change.返却日’:

var record = event.record;  
var process = record[‘ラジオボタン’][‘value’];  
var changeRowDate2 = event.changes.row.value[‘返却日’].value;  
//要素取得  
if (changeRowDate2) { // 値が設定されている場合  
process = “在庫（返却済）”;  
}else{  
process = “貸出中”;  
}  
record[‘ラジオボタン’][‘value’] = process;

break;  
}

return event;

});  
})();
