プロセス管理のアクション実行時に添付ファイルフィールドを初期化したい

プロセス管理にて、あるアクションを実行した際に添付ファイルフィールドを空にする方法を探しております。

有効なプラグインがなかったため、カスタマイズで実現しようとしたのですが、プロセス管理のアクションイベントでは添付ファイルフィールドの書き換えはできませんでした。

レコード詳細イベント – cybozu developer network

そのため、プロセス管理のアクションイベント内でレコードを更新するAPIを実行しようとしたところ、以下のエラーが表示されました。どうやら、プロセス管理のアクションイベント内でレコードを更新することはできないようです。

「レコードを再読み込みしてください。編集中に、ほかのユーザーがレコードを更新しました。」

つきましては、どなたか実現方法をご存知の方がいらっしゃれば、アドバイスいただきたく存じます。よろしくお願いいたします。

 

こんにちは!

>そのため、プロセス管理のアクションイベント内でレコードを更新するAPIを実行しようとしたところ、以下のエラーが表示されました。どうやら、プロセス管理のアクションイベント内でレコードを更新することはできないようです。「レコードを再読み込みしてください。編集中に、ほかのユーザーがレコードを更新しました。」

どんなコード書かれましたか:eyes:??

revisionが最新じゃなくて上手く更新できてないという状態かと思います。

こんにちは!コメントありがとうございます。

ソースコードは以下の通りです。よろしくお願いいたします。

ありがとうございます、なるほどです。

ステータス変更時に「自分のレコードのワークフロー申請元No」を更新したいのですよね?

これだと、
(1)ステータス変更時にレコードが更新される
(2)PUTでレコードを更新
の2つが喧嘩しちゃいますね:eyes::bulb:

解決方法としては、REST API (PUT)は使わず、
event.record[“ワークフロー申請元No”].value の値を変えて、
return event; すればよいとおもいます:bulb:
※↓この中はその2行でOKだと思います。

kintone.events.on('app.record.detail.process.proceed', function(event) {


});

ありがとうございます!

やはりそうですよね(>_<) 同時にはできなさそうで残念です・・・

今回、更新したいフィールドが文字列フィールドであれば、juridon様のおっしゃる通りの方法で問題ないのですが、この方法は添付ファイルフィールドだとできないらく、要望は実現できなさそうです・・・

そのため、今回は諦めようと思います。ご助言ありがとうございました!今後ともよろしくお願いいたします!!

添付ファイルを削除したいのですね。

確かに、
https://developer.cybozu.io/hc/ja/articles/201941974#step3
に、「以下のフィールドは、プロセス管理のアクションイベントのハンドラーでフィールドの値を書き換えて return しても、フォームには反映されません。」
と書いてあってその中に「添付ファイル」フィールドもありますね:sweat_drops::sweat_drops:

成功したら動く方のコールバックの中でlocation.reload()すればうまくいくかもしれません(><)
もしソレで上手く行かなかったらゴメンナサイm(_ _)m