キンコミ kintone user community

みんなの投稿

2021/06/07 23:34

今後のアプリ開発に不可欠と思い、思い切って投稿させて頂きました。
(過去に同様の投稿がございましたら申し訳ございません)

後から追加したフィールドの値を更新するのに、
いちいちレコードを編集するのではなく、
一括で更新できるやり方をお教え頂けないでしょうか。

developer networkの
「後で追加した計算フィールドに一括で値を反映する方法 」
を見たのですが、さっぱり分かりません。

恐れ入りますが、お力添え頂けないでしょうか。

3件のコメント (新着順)
Hazime
2021/06/08 19:14

足立六兵衛 さん

僕は、キンコミでお世話になってる西村さんの記事を参考にしました。
僕自身バッチファイルをつくるのはその時が初めてでした。開発者用のテスト環境で以下の二つの記事を手順どおりにまずやって、その後ファイル名などの自分の理解できる範囲を編集してみて…といった感じで感触をつかみました。西村さんも記事でおっしゃっていますが、リスクもあります。なのでテスト環境で納得いくまで試しました。
https://note.com/46u/n/n1d0aecb444a2
https://note.com/46u/n/n3692344b9de3

以下は僕が実際に運用環境でやってみたときの所感などを書いたブログです。
フィールドを追加すると元からあるレコードのデータは空のままなので、一度csvで吐き出してからExcelで開き、Excelの機能でサクッと編集してから、アプリに戻してあげるって流れです。
僕は念のため、先にバックアップと復元の練習もして最悪元に戻せるという確信をえてからやりました。
https://hazime-style.com/?p=711


Hazime
2021/06/08 19:21

追記
このような処理をするときはアプリの権限などを変更し、ほかのユーザーが登録と編集できないようにしておくといいですね!

わいら
2021/06/09 09:33

Hazime さん

ここまでの情報を提供して頂けるとは、正直驚きました。
そして、このような手法があるとは、本当に勉強になります。

今後の更新頻度に応じ、順次導入していきたいと考えます。
本当にありがとうございました。 【最高っす】

tensin川岸
営業
2021/06/08 10:26

足立六兵衛さん、無事解決して良かったですねー!

tensin川岸
営業
2021/06/08 00:24

↓この方法以外で、って事ですかね?
Excelブックファイル、またはCSVファイルをアプリに読み込んで、レコードの一括登録や一括更新ができます。
大量のレコードの登録や更新を行うときに便利です。
https://help.cybozu.cn/k/ja/user/using_app/import_records/recordupdate_bulk.html

この方法が煩わしいという事であれば、一括更新のプラグインを提供している会社さんもありますね。ジョイゾーさんとか、ATTAZooさんとか。

見当違いなコメントだったらご容赦ください🙇‍♂️


わいら
2021/06/08 08:18

ご回答頂き有難うございます。すごく嬉しいです。
(「tensin川岸」さん、夜遅くに対応頂き、有難うございます)

いま直面している課題は、以下のサイトに書かれております内容となります。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■後で追加した計算フィールドに一括で値を反映する方法

https://developer.cybozu.io/hc/ja/articles/201883830-%E5%BE%8C%E3%81%A7%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F%E8%A8%88%E7%AE%97%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AB%E4%B8%80%E6%8B%AC%E3%81%A7%E5%80%A4%E3%82%92%E5%8F%8D%E6%98%A0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

「kintoneは、一度作成したアプリでも後で簡単にフィールドを追加することができるため、最初に全ての要件が揃っていなくてもまずは作り始められるというのが素晴らしいところです。

しかしながら、数値フィールドの計算結果を格納するような計算フィールドを後で追加した場合、そのままでは既存のレコードには自動的に計算結果が格納されません。

レコードの詳細画面を開いて、何も変更せずに再保存することで計算フィールドに計算結果を反映することはできますが、大量のレコードが登録されているような場合、全てのレコードに対してこのような作業を行うのはベターなやり方ではありません。

そこで、ボタンを一回押すだけで一括で値を反映させてみたいと思います。」

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

やはりJavaScriptで書くしかないのでしょうか。
また、JavaScriptやプラグインではなく、異なる解決策があるのでしょうか。

皆さま、どのように解決しているのか、ご教授の程、宜しくお願い致します。

tensin川岸 様のおっしゃる通り、ExcelブックファイルまたはCSVファイルでの一括更新が良いかなと思います。私がノンプログラマ―ですし、職場にJSをかける人がいないので、出来るだけ標準機能を使い倒すことが、今後の運用の為になるのかなと思っています!

ちなみにジョイゾーさんの一括更新プラグインを契約していますが、
頻繁に一括更新が発生するアプリはエンドユーザーが良く使う場所でもあるので、
手軽に更新できるようにジョイゾーさんの更新プラグインを設定していて、
計算フィールドを追加したなどのアプリ修正が発生した時は、
私の方でささっとCSVファイルで一括更新を行う、といった感じで使い分けをしています。
添付ファイルのように、ファイルの読み込みで計算フィールドは更新されるので、
レコード番号を付けた状態で書き出して、そのまま読み込み!という流れ作業しています。

私の投稿も見当違いなコメントだったらご容赦ください🙇‍♂️

わいら
2021/06/08 09:36

tensin川岸様、出町様、ご親切にご対応頂き、有難うございました。

無事解決しました。
アプリ開発歴1か月、悩みの多い年頃です。

また、このような初歩的な質問をさせて頂くと思いますが、
その時は(見捨てずに)宜しくお願い致します。

PS.これで社員マスター等のマスターアプリ開発に目途が経ちました。
次のステップに進むことができます。初心者ですが、くじけずに頑張ります。

このコミュニティ「最高です!」