可能です。
「レコードを更新する(キーの値を直接指定)」「レコードを追加する」などのやることは、同じアプリだけでなく別アプリのレコードについても更新が可能です。
これらのやることを、条件「レコードを保存した直後(削除後は除く)」のタイミングでご利用いただくことで実現できます。
カスタマイズ例:
「受注コード別仕掛一覧」アプリと「仕入」アプリのレコードが「1:多」の関係になっており、「受注コード別仕掛一覧」アプリ側で「仕入」アプリの受注コードが同じレコードの金額合計値を「仕入額合計」フィールドに表示するサンプルです。
今回のカスタマイズ例では、「仕入」アプリのレコードが追加・編集・削除された時に「受注コード別仕掛一覧」アプリの仕入額合計金額を更新することで、一覧画面でレコードを一覧した場合でも「仕入額合計」フィールドの合計金額が「仕入」アプリのレコードの合計金額と一致するようにします。
ただし、「受注コード別仕掛一覧」アプリの詳細画面で合計金額を表示したいのであれば、今回の例のように「仕入」アプリから「受注コード別仕掛一覧」アプリを更新する必要はありません。
関連レコード一覧を利用し、下記のページでご紹介している方法で合計金額を表示できます。
参考:関連レコード一覧を集計する:
https://support.gusuku.io/ja-JP/support/solutions/articles/36000129596
しかし、下記のように一覧画面で仕入額合計金額を表示したい場合は、上記URLでご紹介している方法では実現できません。
今回のカスタマイズは、このような場合にご利用ください。
アプリの構成
「仕入」アプリと「受注コード別仕掛一覧」アプリに共通の「受注コード」フィールドを作成しておきます。
その上で下記のような処理を作成していきます。
「仕入」アプリにレコードが追加・編集され、レコードが保存されたとき、追加・編集されたレコードの受注コードと同じ受注コードを持つ「仕入」アプリのレコードの金額合計値を計算し、「受注コード別仕掛一覧アプリ」の「仕入額合計」フィールドにセットする
「仕入」アプリからレコードが削除される直前、削除されるレコードの受注コードと同じ受注コードを持ち、かつ削除されるレコードを除いた「仕入」アプリのレコードの金額合計値を計算し、「受注コード別仕掛一覧アプリ」の「仕入額合計」フィールドにセットする
kintoneアプリの設定
「仕入」アプリ
「受注コード」はルックアップフィールドで、「受注コード別仕掛一覧アプリ」からルックアップする設定にしています。「受注コード別仕掛一覧」アプリの「受注コード」フィールドと関連付けています。
「品名」は文字列(1行)フィールド、「金額」は数値フィールドです。
なお、全てのフィールド名とフィールドコードは同じです。
「受注コード別仕掛一覧」アプリ
「受注コード」は文字列(1行)フィールド、「見積額」「仕入額合計」は数値フィールドです。
「受注コード」フィールドは必須、重複禁止に設定しています。
また、フィールド名とフィールドコードは同じです。
Customineでのカスタマイズ
「仕入」アプリにカスタマイズを作成します。
まずは、「仕入」アプリにレコードが追加・編集された時の処理です。
保存されたレコードの受注コードと同じ受注コードのレコードを仕入アプリ自身から取得する
やること
受注コードをキーにレコードを取得したいので「キーを指定してレコードを取得する」を選択します。
キーとなるフィールドは「受注コード」、キーの値も「受注コード」を指定しました。
現在のレコード、つまり追加・編集で保存されたレコードの受注コードと、受注コードが一致する「仕入」アプリのレコードを取得します。
条件
仕入アプリのレコードが追加・編集され、レコードが保存された時に処理を行いたいので「レコードを保存した直後(削除後は除く)」を選択します。
取得したレコードの金額合計値を計算する
やること
取得したレコードの金額フィールドの合計値を計算したいので「レコード中のフィールド合計値を計算する」選択します。
レコード選択アクションは、受注コードが同じレコードを取得するアクション「1」を指定、計算するフィールドには「金額」を指定しました。
条件
受注コードが同じレコードを取得するアクションが完了してから処理を行いたいので「他のアクションの実行が完了した時」を指定します。
合計金額を受注コード別仕掛一覧アプリに反映する
やること
「仕入」アプリ側で追加・更新したレコードと受注コードが一致する「受注コード別仕掛一覧」アプリのレコードを更新したいので「レコードを更新または追加する(キーの値を直接指定)」を選択します。
キーとなるフィールドは「受注コード」、キーの値についても「受注コード」を指定します。
マッピングには下記を指定しました。
仕入額合計に、アクション番号「2」で計算した合計金額をセットしています。
このように指定することで、現在のレコードの受注コードと、「受注コード別仕掛一覧」アプリの「受注コード」フィールドの値が一致するレコードの「仕入額合計」フィールドを、アクション番号2番で計算した合計値で更新します。
条件
合計金額の計算が完了してから更新したいので「他のアクションの実行が完了した時」を指定します。
アクションには、合計金額を計算するアクション「2」を指定しました。
以上で、追加・編集の場合のカスタマイズは完了です。
次に、「仕入」アプリでレコードが削除された時のカスタマイズを作成します。
削除するレコードと同じ受注コードのレコードを仕入アプリ自身から取得する
やること
削除するレコードの受注コードをキーに、仕入アプリから受注コードが同じレコードを取得したいので「キーを指定してレコードを取得する」を選択します。
キーとなるフィールドは「受注コード」、キーの値も「受注コード」を指定します。
このように指定することで、削除しようとしているレコードの受注コードと、受注コードが一致する「仕入」アプリのレコードを取得できます。
条件
レコードが削除される前に処理を行いたいので「レコードを削除する直前」を選択します。
取得したレコードから、削除しようとしているレコードの金額を除いた合計金額を計算する
やること
アクション番号16で取得した受注コードが同じレコードの内、削除しようとしているレコードを除いたレコードの金額の合計を計算したいので「レコード内の条件に合う行のフィールド合計値を計算する」を選択します。
レコード選択アクションは「16」、計算するフィールドは「金額」を指定します。
条件判定フィールドには現在のレコード、つまり削除しようとしているレコードのレコード番号を条件にしたいので「レコード番号」、条件は「等しくない」、比較値は「レコード番号」を指定します。
このように指定することで、削除しようとしているレコード以外のレコードの金額フィールドの合計値を計算する、といった設定になります。
条件
アクション番号16のレコードの取得が完了してから処理を行いたいので「他のアクションの実行が完了した時」を指定します。
アクションは「16」です。
合計金額を受注コード別仕掛一覧アプリに反映する
やること
「受注コード別仕掛一覧」アプリの「仕入合計金額」フィールドを更新したいので「レコードを更新する(キーの値を直接指定)」を選択します。
更新先アプリは「受注コード別仕掛一覧」、キーとなるフィールドは「受注コード」、キーの値についても「受注コード」です。
このように指定することで、「受注コード別仕掛一覧」アプリの「仕入額合計」フィールドを、アクション番号17番で計算した合計金額で更新できます。
条件
アクション番号17の金額の合計が計算できてから処理を行いたいので「他のアクションの実行が完了した時」を指定します。
アクションは「17」です。
以上でカスタマイズは完了です。
「仕入」アプリでレコードを追加・編集、または削除を行うと、「仕入」アプリと受注コードが一致する「受注コード別仕掛一覧」アプリの「仕入額合計」フィールドが更新されます。
なお、「受注コード別仕掛一覧」をブラウザで開いた状態で「仕入額合計」フィールドが更新されても、「受注コード別仕掛一覧」のブラウザの画面は自動では再表示されませんので手動でリロードしてください。