キンコミ kintone user community

みんなの投稿

2021/09/18 16:06

プロセス管理について教えてください。
通常、手動登録する場合はプロセス管理を使うで問題ないのですが、
数百件のデータをまとめてCSVインポートする場合が時々あります。
その場合は取り込んだデータはプロセス管理は完了にしたいのです。

たとえば、対象外フラグという項目を持っておいて、この項目が「対象外」のときは、ステータスを「完了」にしたいのですが、CSV取り込みするとどうしても”最初のステータス”になってしまうようです。

ダミーのプロセスを作って、対象外フラグがついているときは「完了」ボタンを押すとかにすればよいですが、件数が多くて現実的ではないです。

なにかよい回避方法はないでしょうか?

5件のコメント (新着順)
花薗雄一
2021/09/21 07:50

みなさんありがとうございます。
Javascriptで一括更新という手段があるんですね!試してみます。
西村さんのpowershellのケースはちょっとハードル高そうですが、今後の参考になりました。
ありがとうございました!

松田正太郎
2021/09/19 13:47

こんにちは。プロジェクト・アスノートの松田です。
こういう一時的な対応が必要なときのために、ブックマークレットという形で
JavaScrptによるステータス更新ができるようにしたものがあります。

100件ずつになりますので、数回操作が必要になりますが、私はいつもこれを使っています。
あと、一時的に初期ステータスから「完了」へのプロセスを設定しておくと、ステータス変更を一発で行うことができます。

https://qiita.com/Shokun1108/items/52d1b1d1d79344882478#%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%81%AE%E4%B8%80%E6%8B%AC%E6%9B%B4%E6%96%B0

花薗雄一さん
JavaScriptカスタマイズやプラグインなどの拡張機能で対応するかわりに、ブラウザの開発者ツールのConsole画面を使うことができます。
CSVで取り込んでから、Console画面でREST APIを実行すれば、ステータスを一括更新できます。
https://qiita.com/t0ru/items/e68fa4d623c85fd989b6
いかがでしょうか。

ジャッカル
2021/09/19 08:32

私も以前同様の課題にぶつかり、模索していた際、表示中の一覧レコードの一括承認を実行する記事を見つけました。
今はプロセス管理自体使ってませんので、現在もうまく動作するかは未確認ですが、よかったら参考までに見てみて下さい。

https://developer.cybozu.io/hc/ja/articles/211583223-%E3%83%AF%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%A7%E4%B8%80%E6%8B%AC%E6%89%BF%E8%AA%8D%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86

また、javascriptの場合メンテナンス性に課題が残りますので、プラグインも有料ですが公開されているようですので、有料プラグインの決裁が可能であれば、Attazo+のステータス更新で対応可能と思われます。
https://kintone-sol.cybozu.co.jp/integrate/jbat005.html

花薗雄一さん

kintoneのよくあるご質問(FAQ)に、花薗さんの質問と同様なものがありました。

プロセス管理アプリで複数レコードのステータスを一括で変更できますか?
https://faq.cybozu.info/alphascope/cybozu/web/kintone/Detail.aspx?id=2093

回答としては、残念ながら、複数レコードのステータスを一括で処理する機能は未搭載とのこと。
代替案として「ドロップダウン」フィールドなどで「完了」などを表示とあります。

他には、「文字列 (1行)」フィールドなどを用意しCSV取り込みデーターについては「CSV一括取り込みデーターにつき完了としてお取り扱いください」と表示するなどが回避策になるかと思います。

参考として、JavaScriptを利用したカスタマイズの記載がありますが、逆にカスタマイズが必要ということですね。

もしかしたら、APIが公開されているということは対応するプラグインがどこかに公開されているかもしれません。

カスタマイズで対応するかどうかは保守性の低下や属人化の面から実装は慎重になさった方がよいかと思います。

とはいえ、「できる・できない」という意味ではトライしてみるのはありかと思いましたので、テスト的に私がやってみた結果を記載します。

ヘルプの情報を参考に、私は Windows の PowerShell から、curl.exeでコマンド入力しました。

サブドメイン:piyo
アプリID:1234
APIトークン:ABCdefgHijklMnOpqrstuVwxYzAbcdefgHiJkLmN

① curl.exe -X 'PUT' 'https://piyo.cybozu.com/k/v1/record/status.json' -H 'X-Cybozu-API-Token: ABCdefgHijklMnOpqrstuVwxYzAbcdefgHiJkLmN' -H 'Content-Type: application/json' -d '{"app": 1234,"id": 17,"action": "1"}'
② curl.exe -X 'PUT' 'https://piyo.cybozu.com/k/v1/records/status.json' -H 'X-Cybozu-API-Token: ABCdefgHijklMnOpqrstuVwxYzAbcdefgHiJkLmN' -H 'Content-Type: application/json' -d '{ "app": 1234, "records": [ { "id": 17, "action": "2" },{ "id": 18, "action": "1" } ] }'
③ curl.exe -X 'PUT' 'https://piyo.cybozu.com/k/v1/record/status.json' -H 'X-Cybozu-API-Token: ABCdefgHijklMnOpqrstuVwxYzAbcdefgHiJkLmN' -H 'Content-Type: application/json' -d '{"app": 1234,"id": 18,"action": "2"}'

アクションの名前は、全角だと文字コード(UTF-8)の制限にあたりそうだったので、半角数字にしました。
コマンドの〇付き数字の結果が添付画像の〇付き数字の結果になります。

ただこのやり方だと、メンテナンス性の問題もありますし、レコードIDをいっこずつ指定したりと結構気を使います。オペレーションミスで意図しないレコードを更新したり、よくわからないエラーにハマったりするリスクを考えると、私は実運用では利用しない方がよいかなと思いました。

一応うごきましたが、これでよいのかどうかはちょっとわかりません。^^;