新規投稿
フォローする

プロセス変更と同時にレコードも変更したい

こんにちは。
初めて質問させていいただきます。
プロセスを有効にしたアプリを作成したのですが、プロセスの変更と同時にドロップダウンリストで作成したフィールドのレコードも連携して変更させたいです。
Javascriptプログラムで可能でしょうか。
もし可能であれば、サンプルプログラムなど提供していただけませんでしょうか。
厚かましいお願いですが、よろしくお願いします。

0

4件のコメント

Avatar
落合 雄一

甲斐 美幸様
はじめまして、cstapの落合です。

kintoneには、プロセス管理のアクション実行イベントというイベントがあります。
このイベントのcallbackで、レコードの更新REST APIのリクエストを行うことでご要望の機能を実現できるかと思います。

以下、プロセスのステータスをドロップダウンのフィールドに連動させるサンプルになります。

/**
 * ステータス
 *   フィールド名:ステータス
 *   フィールドタイプ:ドロップダウン
 *   フィールドコード:status
 *
 * @author Yuichi Ochiai <ochiai@cstap.com>
 */
(function() {
  "use strict";

  // レコード一覧画面
  kintone.events.on('app.record.detail.process.proceed', function(event) {
    var record = event.record;
    record.status.value = event.nextStatus.value;

    // レコードの更新
    kintone.api(
      kintone.api.url('/k/v1/record', true),
      'PUT',
      {
        app: kintone.app.getId(),
        id: kintone.app.record.getId(),
        record: record
      }
    );

    return event;
  });

})();


以上、参考になりますでしょうか?

0
Avatar
甲斐 美幸

落合さん
さっそくご回答いただきどうもありがとうございます。
プログラマではないのですが、実装にチャレンジしたいと思います。

0
Avatar
落合 雄一

甲斐 美幸様
わからない点がありましたら、またご質問ください。

0
Avatar
斎藤 栄

落合さん
ラジカルブリッジの斎藤です。

ちょうど私も同じようなことをしようとしていて、リファレンスを見ていたのですが、

https://cybozudev.zendesk.com/hc/ja/articles/201941974-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E8%A1%A8%E7%A4%BA%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88#step3

ここの補足に

・eventオブジェクトを return することでレコード情報を更新できます。

とあるので、落合さんが書かれたコードの内、

// レコードの更新

以下の部分は無くても期待通りの動きになるのではないかと思います。
私が以前作ったアプリでも、プロセス管理のアクション実行イベントの際に、任意のフィールドに値をセットして return event; するだけで値が更新されました。

(function() {
"use strict";

// レコード一覧画面
kintone.events.on('app.record.detail.process.proceed', function(event) {
var record = event.record;
record.status.value = event.nextStatus.value;

return event;

});

})();

尚、私が今はまっているのは、このイベントの中でテーブルの行を動的に増やしてテーブル内フィールドに値をセットして return event; しても、うまく更新ができない?というところです。

色々試す中で、落合さんが書かれたkintone.api()による更新も試してみましたが、return event;によりプロセス管理のステータスが変わる際も内部的にはレコードが更新され、revisionが上がるようで、タイミングによるのですが、kintone.api()の方が先に成功すると revisionの不一致でステータスが変わらないケースが時折ありました。

以上、ご参考まで

0
サインインしてコメントを残してください。