Skip to main content

1. フォーム業務関連ルール

1.1 業務ルールとは

主にフォーム間の関係を処理するために使用します。あるフォームのデータの変更が、別のフォームのデータに同期的に影響を与える必要がある場合(追加、更新、削除)に利用します。 パス:フォーム編集ページに入る >> フォームの空白領域をクリック >> 右側にフォームイベントが表示されます >> 業務関連ルールを追加 業務関連ルールを追加

1.2 活用シーン

例えば、商品の出庫・入庫・最終在庫を計算する必要がある場合:商品が入庫されると、在庫表内の該当商品の在庫が増加します。商品が出庫されるか、入庫フォームが削除されると、在庫表内の該当商品の在庫が減少します。

2. 業務関連ルール機能の説明

2.1 フォームイベント

  • 業務関連ルールは、3 つのイベント(フォーム送信、フォーム削除、フォーム編集)すべてでトリガーできます。
  • 業務関連ルールでは、アプリ内の他のフォームに対して作成・読み取り・更新・削除の操作を実行するために、以下 4 つのプレミアム関数が必要です。

2.1.1 INSERT

形式:INSERT(form, form.field1, value1, form.field2, value2,…) 主に、現在のエントリフォームのデータをターゲットフォームに挿入し、ターゲットフォームに新しいインスタンスを挿入するために使用します。現在のフォームの操作が成功すると、ターゲットフォーム(form)に新しいインスタンスが挿入され、新しいインスタンス内でターゲットフィールド(field1, field2, …)に順番にターゲット値(value1, value2, …)が設定されます。残りのフィールドはデフォルトで空になります。

2.2.2 UPDATE

形式:UPDATE(form, rule, rule2, form.field1, value1, form.field2, value2,…) 主に、ターゲットフォーム内の指定条件を満たすデータを更新するために使用します。現在のフォームの操作が成功すると、ターゲットフォーム(form)にフィルタ条件(rule, rule2)を満たすインスタンスがある場合、そのインスタンスのターゲットフィールド(field1, field2, …)が順番にターゲット値(value1, value2, …)に更新されます。

2.2.3 UPSERT

形式:UPSERT(form, rule, rule2, form.field1, value1, form.field2, value2,…) 主に、ターゲットフォーム内のデータを挿入または更新するために使用します。現在のフォームの操作が成功すると、ターゲットフォーム(form)にフィルタ条件(rule, rule2)を満たすインスタンスがある場合、UPDATE と同じ方法でインスタンスが更新されます。存在しない場合は、INSERT と同じ方法で新しいインスタンスが挿入されます。

2.2.4 DELETE

形式:DELETE(form, rule, rule2) 主に、ターゲットフォームからデータを削除するために使用します。現在のフォームの操作が成功すると、ターゲットフォーム(form)にフィルタ条件(rule, rule2)を満たすインスタンスがある場合、そのインスタンスが削除されます。

2.2 事例説明

家計簿機能を実装してみましょう。家計簿には 2 つのフォームが含まれます:明細表と月次サマリ表です。 含まれる具体的な機能:
  1. 明細レコードが送信されたときに、新しい金額をその月の集計支出額に加算する。
  2. 明細レコードが削除されたときに、その金額をその月の集計支出額から減算する。
  • 手順
(1)フォームの右側 >> 属性 >> 業務関連ルールを追加 業務関連ルール (2)業務ルールを設定:明細レコードが送信されたときに、新しい金額をその月の集計支出額に加算する。 使用するプレミアム関数:UPDATE (3)業務ルールを設定:明細レコードが削除されたときに、その金額をその月の集計支出額から減算する。 使用するプレミアム関数:UPDATE (4)送信削除の両方に業務ルールを関連付けます。これにより、フォームの送信時にデータが集計され、フォームの削除時にもデータが集計されます。 この時点でフォームの保存を忘れないでください。2 つの業務ルールの設定が完了しました。テストしてみましょう: (1)明細レコードが送信されたときに、新しい金額をその月の集計支出額に加算する。 (2)業務ルールを設定:明細レコードが削除されたときに、その金額をその月の集計支出額から減算する。 注意:ワークフローフォームの関連設定はフォームデザイナー内にはなく、ワークフロー設計内で設定します。詳細な設定については、こちらをクリックしてご覧ください