# プロセス管理で承認されたレコードは編集不可にする

**URL:** <https://community.cybozu.dev/t/topic/2285>\
**Category:** kintone 開発相談\
**Created:** [2015 年 11 月 19 日午前 5:22 UTC](https://community.cybozu.dev/t/topic/2285 "2015-11-19T05:22:20Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account2125](https://avatars.discourse-cdn.com/v4/letter/l/ea666f/32.png) [@Legacy\_Account2125](https://community.cybozu.dev/u/Legacy_Account2125)\
**Post date:** [2015 年 11 月 19 日午前 5:22 UTC](https://community.cybozu.dev/t/topic/2285/1 "2015-11-19T05:22:20Z")

</div>

超初心者で恐縮ですが、質問させていただきます。  
タイトル通りなのですが、検索したところ、ジョイゾーさんがすでに公開してくれていた（大変助かります！）ので早速実装したのですが、保存ボタンをクリックしても反応しなくなりました。  
[https://www.joyzo.co.jp/blog/187](https://www.joyzo.co.jp/blog/187)

他のコードなども拝借しているので、実装方法には問題が無いと思うのですが、成功された方いらっしゃいましたら教えてください。

よろしくお願いします。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2115](https://avatars.discourse-cdn.com/v4/letter/l/e9bcb4/32.png) [@Legacy\_Account2115](https://community.cybozu.dev/u/Legacy_Account2115)\
**Post date:** [2015 年 11 月 19 日午前 6:22 UTC](https://community.cybozu.dev/t/topic/2285/2 "2015-11-19T06:22:18Z")

</div>

でん さん  
cstapの瀧ヶ平です。

おそらく承認でないレコードの場合にapp.record.edit.submitのイベントハンドラー内でeventオブジェクトがreturnされていないことが原因のようです。

```
if (record['ステータス']['value'] === "承認"){
      event.error = "承認済みのデータは編集できません。";
      return event;
    }

```

を

```
if (record['ステータス']['value'] === "承認"){
      event.error = "承認済みのデータは編集できません。";
      return event;
    }
    return event;

```

とすれば解決すると思います。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2125](https://avatars.discourse-cdn.com/v4/letter/l/ea666f/32.png) [@Legacy\_Account2125](https://community.cybozu.dev/u/Legacy_Account2125)\
**Post date:** [2015 年 11 月 19 日午前 8:39 UTC](https://community.cybozu.dev/t/topic/2285/3 "2015-11-19T08:39:29Z")

</div>

瀧ヶ平様

早々にご回答ありがとうございます。  
ご教示の通りコードを変更し、再度アップロードしてみましたが、やはり保存ボタンは反応しませんでした。  
ステータスが承認だけでなく、他の状態でも同様です。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2115](https://avatars.discourse-cdn.com/v4/letter/l/e9bcb4/32.png) [@Legacy\_Account2115](https://community.cybozu.dev/u/Legacy_Account2115)\
**Post date:** [2015 年 11 月 19 日午前 8:46 UTC](https://community.cybozu.dev/t/topic/2285/4 "2015-11-19T08:46:49Z")

</div>

でんさん

eventをreturnしていないことが原因でないとするとほかの部分でJavaScriptのエラーが発生しているかもしれません。  
よろしければ保存実行前イベント部分のコードをお見せいただいてもよろしいでしょうか？

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2125](https://avatars.discourse-cdn.com/v4/letter/l/ea666f/32.png) [@Legacy\_Account2125](https://community.cybozu.dev/u/Legacy_Account2125)\
**Post date:** [2015 年 11 月 19 日午後 11:46 UTC](https://community.cybozu.dev/t/topic/2285/5 "2015-11-19T23:46:08Z")

</div>

瀧ヶ平様

保存実行前イベント部分とは、こちらのコードでよいのでしょうか？  
kintone.events.on(‘app.record.edit.submit’, cancelSave);  
})();

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2115](https://avatars.discourse-cdn.com/v4/letter/l/e9bcb4/32.png) [@Legacy\_Account2115](https://community.cybozu.dev/u/Legacy_Account2115)\
**Post date:** [2015 年 11 月 19 日午後 11:56 UTC](https://community.cybozu.dev/t/topic/2285/6 "2015-11-19T23:56:07Z")

</div>

でんさん

その部分ではなく、canselSave関数の中身ですね。  
わかりにくくてすいません

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2125](https://avatars.discourse-cdn.com/v4/letter/l/ea666f/32.png) [@Legacy\_Account2125](https://community.cybozu.dev/u/Legacy_Account2125)\
**Post date:** [2015 年 11 月 20 日午前 12:01 UTC](https://community.cybozu.dev/t/topic/2285/7 "2015-11-20T00:01:55Z")

</div>

瀧ヶ平様

理解できずにすみません。こちらでしょうか？

function cancelSave(event) {  
var record = event[‘record’];

if (record[‘ステータス’][‘value’] === “承認”){  
event.error = “承認済みのデータは編集できません。”;  
return event;  
}  
}

最初のご回答後は下記のようにしました。  
function cancelSave(event) {  
var record = event[‘record’];

if (record[‘ステータス’][‘value’] === “承認”){  
event.error = “承認済みのデータは編集できません。”;  
return event;  
}  
return event;  
}

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2115](https://avatars.discourse-cdn.com/v4/letter/l/e9bcb4/32.png) [@Legacy\_Account2115](https://community.cybozu.dev/u/Legacy_Account2115)\
**Post date:** [2015 年 11 月 20 日午前 12:34 UTC](https://community.cybozu.dev/t/topic/2285/8 "2015-11-20T00:34:58Z")

</div>

見る限りこのコードには問題がないようです。  
他に動作しているJavaScriptがあればそちらが原因かもしれません

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2125](https://avatars.discourse-cdn.com/v4/letter/l/ea666f/32.png) [@Legacy\_Account2125](https://community.cybozu.dev/u/Legacy_Account2125)\
**Post date:** [2015 年 11 月 20 日午前 1:09 UTC](https://community.cybozu.dev/t/topic/2285/9 "2015-11-20T01:09:15Z")

</div>

瀧ヶ平様

ご確認ありがとうございます。  
コードに問題はないということは、アプリに他のJavaScriptは使用していませんので、アプリ側の問題かもしれませんね。  
２つのアプリでテストしたのですが、実現できていません。単純なアプリを作成してテストしてみます。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1491](https://avatars.discourse-cdn.com/v4/letter/l/ed8c4c/32.png) [@Legacy\_Account1491](https://community.cybozu.dev/u/Legacy_Account1491)\
**Post date:** [2015 年 11 月 20 日午前 2:31 UTC](https://community.cybozu.dev/t/topic/2285/10 "2015-11-20T02:31:28Z")

</div>

横レス失礼します。

JSを使わない方法になりますが、レコードのアクセス権設定で、ステータスが最終承認状態の場合、everyoneの許可する操作を、"閲覧"のみにしても、同様の機能の実現ができるかも知れません。  
この場合、保存させないというよりは、編集画面を開かせない。ですが。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2125](https://avatars.discourse-cdn.com/v4/letter/l/ea666f/32.png) [@Legacy\_Account2125](https://community.cybozu.dev/u/Legacy_Account2125)\
**Post date:** [2015 年 11 月 20 日午前 4:13 UTC](https://community.cybozu.dev/t/topic/2285/11 "2015-11-20T04:13:49Z")

</div>

上海レンユアー 松村様

ご回答ありがとうございます。  
できました！  
やりたいことはこれで十分です。承認者が編集できないなどどうしようかと思っていたのですが、この方法ですとその設定も可能なのでとても良いです。  
ヘルプにありましたので載せておきます。  
[https://help.cybozu.com/ja/k/user/rights\_example1.html](https://help.cybozu.com/ja/k/user/rights_example1.html)

JavaScriptはくやしいので、引き続きテストしてみます。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2125](https://avatars.discourse-cdn.com/v4/letter/l/ea666f/32.png) [@Legacy\_Account2125](https://community.cybozu.dev/u/Legacy_Account2125)\
**Post date:** [2015 年 12 月 2 日午前 6:37 UTC](https://community.cybozu.dev/t/topic/2285/12 "2015-12-02T06:37:50Z")

</div>

はじめから作成したアプリでJavaScriptをテストしたところ、思った通りの挙動になりました。  
最初にテストしていたアプリはアプリストアの備品購入申請を編集したものでした。

以上、テストの結果報告です。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2025 年 5 月 29 日午前 4:39 UTC](https://community.cybozu.dev/t/topic/2285/13 "2025-05-29T04:39:19Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
