フォームで動的な累計を作成する方法

フォームで動的な累計を作成する方法

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

ランニング合計を使用すると、新しいレコードが追加されるたびに値の累計を動的に計算できます。これにより、経費や売上などの数値データを監視する際に、アプリケーション内で蓄積データに関するリアルタイムのインサイトが得られ、分析機能を強化できます。
例えば、Zoho Creator アプリケーションが組織内の売上関連業務で使用されているとします。ユーザーは継続的に新しい商談取引をシステムに登録しており、取引が追加されるたびに売上合計を即座に把握する必要があります。ランニング合計機能を組み込むことで、ユーザーは入力されたすべての売上の累計をリアルタイムでシームレスに追跡でき、目標売上の達成状況を効果的にモニタリングできます。
  1. ランニング合計を組み込みたいフォームのフォームビルダーに移動します。通貨項目を 2 つ追加します。1 つはフォーム内で合計を計算するため、もう 1 つは最初の通貨項目に蓄積されたデータを基にランニング合計を計算するために指定します。

    このチュートリアルでは、説明のためにフォームテンプレートの「Pay an 請求書」フォームを使用し、追加の通貨項目「Running_Total」を追加して、その初期値を項目プロパティから「0」に設定し、テンプレート内に既にある「請求書 金額」通貨項目のランニング合計を計算するように構成しています。

     

    フォーム名

    フォームリンク名

    項目種類

    項目名

    項目リンク名

    Pay an 請求書

    Pay_an_Invoice

    通貨

    請求書 金額

    Invoice_Amount

    通貨

    ランニング合計

    (初期値: 0)

    Running_Total

     

  2. 新しいワークフローを作成し、フォーム送信成功時Pay an 請求書フォームで実行されるように設定し、データイベントを作成または編集にします。

  3. [新しい操作を追加 > Deluge Script]をクリックし、以下のスクリプトを Deluge エディターに追加します。
    1. if(Running_Total == 0)
    2. {
    3. //新しいレコードを作成する際、過去のレコードにある「Invoice_Amount」項目のすべての値の合計を計算し、「Running_Total」項目をその値で更新します。
    4. newTotal = <Form_Link_Name>[ID != 0].sum(Invoice_Amount);
    5. input。Running_Total = newTotal;
    6. }
    7. else
    8. {
    9. //レコードを編集する際、現在のレコードおよびその後に追加されたすべてのレコードの「Running_Total」項目を、新しい累計で更新します。
    10. newTotal = <Form_Link_Name>[ ID != 0 && Added_Time <= input。Added_Time].sum(Invoice_Amount);
    11. input。Running_Total = newTotal;

    12. for each update_total in <Form_Link_Name>[ ID != 0 && Added_Time > input。Added_Time]
    13. {
    14. update_total。Running_Total=newTotal;
    15. update_total。Running_Total=newTotal + update_total。Invoice_Amount;
    16. newTotal = newTotal + update_total。Invoice_Amount;
    17. }
    18. }
  4. 別のワークフローを作成し、フォーム削除の検証時に実行されるように設定し、データイベントとして削除を選択します。このワークフローは、削除されたレコード以降に追加された他のすべてのレコードについて、新しい累計でランニング合計を更新します。

  5. [新しい操作を追加]をクリックし、以下のスクリプトを Deluge エディターに追加します。
  1. //レコードを削除する際、削除されたレコード以降に追加された他のすべてのレコードの「Running_Total」項目を、新しい累計で更新します。
  2. for each update_total in <Form_Link_Name>[ID !=0 && Added_Time >= input。Added_Time]
  3. {
  4. update_total。Running_Total=update_total。Running_Total - input。Invoice_Amount;
  5. }
また、ユーザーによる手動入力を防ぐために、この自動増分の数値項目を非表示/無効化することもできます。項目を非表示にするには、次の操作を行います。
  1. ワークフローを作成し、データイベントに作成または編集、フォームイベントに項目ルールを選択します。

  2. 続くページで、[新しい操作を追加]をクリックし、[項目を非表示]を選択して、この操作を常に実行するように設定し、ランニング合計項目を選択します。

動作を確認する


  1. Sum
  2. 通貨