可能です。


レコードを更新する(キーの値を直接指定)」「レコードを追加する」などのやることは、同じアプリだけでなく別アプリのレコードについても更新が可能です。

これらのやることを、条件「レコードを保存した直後(削除後は除く)」のタイミングでご利用いただくことで実現できます。


カスタマイズ例:


「受注コード別仕掛一覧」アプリと「仕入」アプリのレコードが「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」です。



以上でカスタマイズは完了です。


「仕入」アプリでレコードを追加・編集、または削除を行うと、「仕入」アプリと受注コードが一致する「受注コード別仕掛一覧」アプリの「仕入額合計」フィールドが更新されます。


なお、「受注コード別仕掛一覧」をブラウザで開いた状態で「仕入額合計」フィールドが更新されても、「受注コード別仕掛一覧」のブラウザの画面は自動では再表示されませんので手動でリロードしてください。