レコード追加・編集時にcsvを吐き出す方法について

■実現したい機能

①レコードを追加・編集し、「保存」を押下すると共に、レコードをcsvファイルとして共有フォルダーへ出力する。

②外部システムが共有フォルダーを監視し、出力されたcsvファイルを元に、帳票(pdf)を作成する。そして、Kintone側に渡す。

③Kintone側で上記の帳票(pdf)を表示する。

■質問

・①について、「JavaScript / CSSでカスタマイズ」にJavaScriptを設置し、「保存」を実行したタイミングで、当該JavaScriptを実行することで、①で求められる機能を実現可能でしょうか?可能なら、JavaScriptのサンプルをご提供いただけませんか?

・②について、csvファイルを出力した後、レコードの一つのフィールド(ステータス)に「帳票作成中」、「作成完了」を表示させる方法。定期的に監視できる方法。

・③について、「作成完了」のレコードをクリックすると、帳票(pdf)が表示される方法。

下記のリンク先の投稿も読みましたが、私の課題にあまりに役立たないので、Kintoneの先生にご教授をお願いします。

https://cybozudev.zendesk.com/hc/ja/community/posts/205602703-create-submit%E6%99%82%E3%81%AB%E4%BB%96%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%81%B8%E3%81%AE%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E8%BF%BD%E5%8A%A0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6?input_string=%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E8%BF%BD%E5%8A%A0

yanbingmsさん
cstapの瀧ヶ平です

①については、app.record.edit.submit と app.record.create.submitのイベント内で、レコードをCSV形式のデータに変換し、File APIを利用してローカルに保存することで実装可能かと思います。
おそらく複雑な実装になるとは思いますが、FileSaver.jsなどを用いれば多少楽になるかと思います。
サンプルコードに関して私個人としては、こちらのフォーラムはサンプルコードを求める場所ではない、またコード自体が大きな規模になってしまうので提供することはできません。

②についてはCSVファイルをkintoneにアップロードした後に、REST APIを用いてプロセス管理のステータス更新などを外部プログラム上で行えばよいかと思います。定期的に監視についてはどういった外部プログラムを利用するかにもよりますが、バッチなどを書いておき、スケジューラなどで定期的に実行するようにしておけばよいかと

③については、ファイルダウンロードAPIを利用して実現可能かと思います、こちらのTipsなどが参考になるのではないでしょうか

以上、長くなりましたが参考になれば幸いです。

瀧ヶ平さん

お丁寧に回答いただき、どうもありがとうございます。

今日、教えていただいた方法で、試してみたところ、大体できるそうな気がします。

本件をクローズいたします。

①②の部分に関して。

帳票(PDF)を作成する外部システムが、CSV必須の場合、瀧ヶ平さんご提示の方法になると思います。

もし、CSVを介する事が必須要件でなければ、①②に関して、全てを外部システム側で包括した方が、場合によっては作りやすいかも知れません。

*外部システムが定期的に、kintoneのステータス(帳票作成待ち)を抽出。

*”帳票作成待ち”のレコードを発見したら、Rest APIでデータを取得して、帳票(PDF)を生成後、kintone側に渡し、kintoneのステータスを"帳票作成完了"に更新。

この様な形ですね。

失礼しました。クローズ済案件でしたね(^^:

松村さん

アドバイスをいただき、どうもありがとうございました。

非常に参考になります。

今後もどうぞよろしくお願いします。