プロセス管理にて、あるアクションを実行した際に添付ファイルフィールドを空にする方法を探しております。
有効なプラグインがなかったため、カスタマイズで実現しようとしたのですが、プロセス管理のアクションイベントでは添付ファイルフィールドの書き換えはできませんでした。
レコード詳細イベント – cybozu developer network
そのため、プロセス管理のアクションイベント内でレコードを更新するAPIを実行しようとしたところ、以下のエラーが表示されました。どうやら、プロセス管理のアクションイベント内でレコードを更新することはできないようです。
「レコードを再読み込みしてください。編集中に、ほかのユーザーがレコードを更新しました。」
つきましては、どなたか実現方法をご存知の方がいらっしゃれば、アドバイスいただきたく存じます。よろしくお願いいたします。
こんにちは!
>そのため、プロセス管理のアクションイベント内でレコードを更新するAPIを実行しようとしたところ、以下のエラーが表示されました。どうやら、プロセス管理のアクションイベント内でレコードを更新することはできないようです。「レコードを再読み込みしてください。編集中に、ほかのユーザーがレコードを更新しました。」
どんなコード書かれましたか??
revisionが最新じゃなくて上手く更新できてないという状態かと思います。
こんにちは!コメントありがとうございます。
ソースコードは以下の通りです。よろしくお願いいたします。
ありがとうございます、なるほどです。
ステータス変更時に「自分のレコードのワークフロー申請元No」を更新したいのですよね?
これだと、
(1)ステータス変更時にレコードが更新される
(2)PUTでレコードを更新
の2つが喧嘩しちゃいますね
解決方法としては、REST API (PUT)は使わず、
event.record[“ワークフロー申請元No”].value の値を変えて、
return event; すればよいとおもいます
※↓この中はその2行でOKだと思います。
kintone.events.on('app.record.detail.process.proceed', function(event) {
});
ありがとうございます!
やはりそうですよね(>_<) 同時にはできなさそうで残念です・・・
今回、更新したいフィールドが文字列フィールドであれば、juridon様のおっしゃる通りの方法で問題ないのですが、この方法は添付ファイルフィールドだとできないらく、要望は実現できなさそうです・・・
そのため、今回は諦めようと思います。ご助言ありがとうございました!今後ともよろしくお願いいたします!!
添付ファイルを削除したいのですね。
確かに、
https://developer.cybozu.io/hc/ja/articles/201941974#step3
に、「以下のフィールドは、プロセス管理のアクションイベントのハンドラーでフィールドの値を書き換えて return しても、フォームには反映されません。」
と書いてあってその中に「添付ファイル」フィールドもありますね
成功したら動く方のコールバックの中でlocation.reload()すればうまくいくかもしれません(><)
もしソレで上手く行かなかったらゴメンナサイm(_ _)m