# プロセス管理、ステータス変更時のユーザー選択フィールドの自動入力について

**URL:** <https://community.cybozu.dev/t/topic/3375>\
**Category:** kintone 開発相談\
**Created:** [2018 年 9 月 21 日午前 4:12 UTC](https://community.cybozu.dev/t/topic/3375 "2018-09-21T04:12:48Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account763](https://avatars.discourse-cdn.com/v4/letter/l/bcef8e/32.png) [@Legacy\_Account763](https://community.cybozu.dev/u/Legacy_Account763)\
**Post date:** [2018 年 9 月 21 日午前 4:12 UTC](https://community.cybozu.dev/t/topic/3375/1 "2018-09-21T04:12:48Z")

</div>

&nbsp;いつもお世話になっております。

表題について質問させていただきます。

&nbsp;

現在は以下のプログラムを用いて、ステータスが「決裁済み」になった日時の自動入力を行っています。

今回はここに、「決裁済み」にステータスを進めた作業者をユーザー選択フィールドに自動反映させたいと思っています。

以下のプログラムにどのような工夫をすれば、ユーザー選択フィールドへの自動入力ができるでしょうか。

なお、「決裁済み」のステータスは最終のステータスであり、そのあとにステータスが変化することはありません。

アドバイスを頂けますと助かります。

よろしくお願いいたします。

&nbsp;

&nbsp;

&nbsp;&nbsp; kintone.events.on([“app.record.detail.show”],function(event){  
&nbsp;&nbsp;&nbsp;&nbsp; var record = event.record;  
&nbsp;&nbsp;&nbsp;&nbsp; var nStatus = record.ステータス.value;

&nbsp;&nbsp;&nbsp;&nbsp; switch(nStatus){  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case “決裁済み”:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (record[‘決裁日時’][‘value’] === “”){

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var url = ‘https://(サブドメイン名).cybozu.com/k/v1/record.json’;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var headers = {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‘X-Cybozu-API-Token’:‘(レコード閲覧、編集権限を付与したAPIトークン)’,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‘Content-Type’: ‘application/json’  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var param = {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; “app” : kintone.app.getId(),  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; “id”&nbsp; : kintone.app.record.getId(),  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; “record”: {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; “決裁日時”: {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; “value”: moment().format(“YYYY-MM-DDTHH:mmZ”)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kintone.proxy(  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ‘PUT’,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; headers,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; param,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function(body, status, headers) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; console.log(JSON.parse(body));  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; location.reload();  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function(error) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; console.log(error);  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  
&nbsp;&nbsp; });

---

<div class="post-metadata">

**Author:** ![Legacy\_Account760](https://avatars.discourse-cdn.com/v4/letter/l/f07891/32.png) [@Legacy\_Account760](https://community.cybozu.dev/u/Legacy_Account760)\
**Post date:** [2018 年 9 月 25 日午前 8:31 UTC](https://community.cybozu.dev/t/topic/3375/2 "2018-09-25T08:31:48Z")

</div>

yamaguchi さん

こんにちわ！

&nbsp;

JavaScript 初心者ですが、処理を書いてみました！

以下のような処理でご希望の動作は可能でしょうか。

&nbsp;

```
(function () {
"use strict";
 
    kintone.events.on(["app.record.detail.show"],function(event){
     
    var record = event.record;
    var nStatus = record.ステータス.value;

    switch(nStatus){
        case "決裁済み":

            if (record['決裁日時']['value'] === ""){

                var url = 'https://(サブドメイン).cybozu.com/k/v1/record.json';

                var headers = {
                    'X-Cybozu-API-Token':'(レコード閲覧、編集権限を付与したAPIトークン)',
                    'Content-Type': 'application/json'
                };

                var param = {
                    "app" : kintone.app.getId(),
                    "id" : kintone.app.record.getId(),
                    "record": {
                        "決裁日時": {
                            "value": moment().format("YYYY-MM-DDTHH:mmZ")
                        },
                        "ユーザー選択": {
                            "value": [
                                {
                                    "code" : record.更新者.value.code
                                }
                            ]
                        }
                    }
                };

                kintone.proxy(url, 'PUT', headers, param, function(body, status, headers) {
                    console.log(JSON.parse(body));
                    location.reload();
                }, function(error) {
                    console.log(error);
                }
            );
        };
        break;
        }
    });
})();

```

&nbsp;

少しでも参考になれば嬉しいです。

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account760](https://avatars.discourse-cdn.com/v4/letter/l/f07891/32.png) [@Legacy\_Account760](https://community.cybozu.dev/u/Legacy_Account760)\
**Post date:** [2018 年 9 月 25 日午前 8:47 UTC](https://community.cybozu.dev/t/topic/3375/3 "2018-09-25T08:47:57Z")

</div>

懸念点といたしまして、API でレコードの更新が行われた場合、レコードの編集者が

変わるため、本来の決裁者とは違うユーザーがユーザー選択フィールドに

入る可能性がある、というところでしょうか。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account763](https://avatars.discourse-cdn.com/v4/letter/l/bcef8e/32.png) [@Legacy\_Account763](https://community.cybozu.dev/u/Legacy_Account763)\
**Post date:** [2018 年 9 月 25 日午前 9:12 UTC](https://community.cybozu.dev/t/topic/3375/4 "2018-09-25T09:12:35Z")

</div>

希望通りに実装できました！

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

---

<div class="post-metadata">

**Author:** ![Legacy\_Account760](https://avatars.discourse-cdn.com/v4/letter/l/f07891/32.png) [@Legacy\_Account760](https://community.cybozu.dev/u/Legacy_Account760)\
**Post date:** [2018 年 9 月 25 日午後 11:59 UTC](https://community.cybozu.dev/t/topic/3375/5 "2018-09-25T23:59:27Z")

</div>

yamaguchi さん

&nbsp;

希望通り実装できたとお聞きし、安心しました！

お役に立てたようでよかったです！＾＾

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2551](https://avatars.discourse-cdn.com/v4/letter/l/c57346/32.png) [@Legacy\_Account2551](https://community.cybozu.dev/u/Legacy_Account2551)\
**Post date:** [2021 年 1 月 12 日午前 7:18 UTC](https://community.cybozu.dev/t/topic/3375/6 "2021-01-12T07:18:51Z")

</div>

JavaScript&nbsp;初心者です。ステータスが「未処理」→「確認待ち」になった日付を、指定した日付フィールドへ自動入力する方法をご教示いただけないでしょうか。

よろしくお願いします。

---

<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:** [2024 年 12 月 2 日午前 5:53 UTC](https://community.cybozu.dev/t/topic/3375/7 "2024-12-02T05:53:51Z")

</div>

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