supportノーコードでらくらくkintoneカスタマイズのCustomineと、キントーンアプリの配布・バックアップ・帳票のDeploitのサポートサイトです。networkのTipsのURL:https://developer.cybozu.io/hc/ja/articles/209998843テーブルのある行のフィールドを編集したときに、連動して同じ行の別のフィールドを変更したいことってありますよね!実は、条件「フィールドの値を編集して値が変わった時」の対象となるフィールドと、「やること」の対象となるフィールドが同じテーブルのフィールドの場合、「やること」は変更された行にのみ適用されます(一部例外はあります)。例:テーブル内のチェックボックスを押すと同じ行の文字列フィールドを編集不可にする。今回はこれを使って、行によって計算の仕方を変えるカスタマイズをご紹介します!Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。アプリのフォーム以下の5フィールドを作成し、一つのテーブルにします。合計やりたいこと「単価」と「個数」を入力すると自動で合計金額を計算する。「個」と「ケース」の選択によって、合計金額を計算するときに個別での販売と12個入りのパッケージの2通りで計算する。個別販売の場合の計算まずは「単位」が「個」の場合の設定をします。「フィールドの値を編集して値が変わった時」を使用します。フィールド:テーブル内の計算に関わるすべてのフィールドを選択します。一覧画面の鉛筆を押した時:一覧画面ではサブテーブルを編集出来ないので、どちらでも構いません。今回は対象の行の「単位」が「個」の場合のみに限定したいので、「フィールド値が特定の値ならば」を追加します。「フィールド値が特定の値ならば」も、変更された行のフィールドについてのみ判定します。(「フィールドの値を編集して値が変わった時」と「フィールド値が特定の値ならば」が同じテーブルのフィールドを対象とするとき)また、「単価」か「個数」が空だと計算できず、エラーが表示されてしまうので、両方とも空でないときだけ計算するように「フィールド値が特定の値ならば」をさらに追加しましょう。やること「フィールドに値をセットする」を選択します。フィールド:セット先のフィールドです。変更された行の「合計」にのみ入力されます。この場合の「単価」と「個数」も、変更された行の「単価」と「個数」に置き換わります。同様に、「単位」が「ケース」の場合の設定をします。1ケース12個入りという設定なので、入る金額は12倍です。これで合計が自動で計算されるようになりました。空にしても、「合計」はそのままです。どちらかが空になったら「合計」も空にしてしまいましょう。やること「フィールド値をクリアする」を使用します。これも同様に、テーブルの変更された行のみクリアします。「合計」を空にしたくない場合は、代わりに「フィールドに値をセットする」で「0」を入力しましょう。自動入力されるフィールドお決まりの編集不可ですが、今回はテーブル内のフィールドなので、少し勝手が違います。表示した時」に「フィールドを無効化する」アクションですが、テーブル内のフィールドの場合、これだけでは画面を表示したときに既にある行には適用されますが、新しく追加した行には適用されません。そこで、条件「テーブルに行を追加した時」を使って、行が追加されるたびに編集不可にし直すアクションを設定する必要があります。テスト全てのアクションの設定が完了したら、「kintoneアプリへ登録」し、動作チェックしてみましょう。チェックポイント「単位」が「個」か「ケース」かによって計算方法が変わる。「単価」か「個数」を空にすると「合計」も空になる。「合計」が常に編集不可である。終わりにサブテーブルの操作はクセがあり、JavaScriptでのカスタマイズはより複雑になってしまいます。Customineでサブテーブルを操作するのも少しコツが要りますが、慣れると行ごとに別々の処理をさせることが可能です!組み合わせをいろいろ試して目指す動きにたどり着いてください!Customineヘルプやサポートをご活用ください。分からないことがありましたら、フォーラムの方でご質問ください。いいえフィードバックを送信お役に立てなくて申し訳ありません。フィードバックを残し、このアーティクルを改善するのにどうかご協力ください。