次の方法で共有


電子申告 (ER) のフォーミュラ デザイナー

メモ

コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engageコミュニティに参加し、最新のディスカッションに参加するには、 Finance and Operations Viva Engage Community へのアクセス権フォームに入力し、参加するコミュニティを選択します。

この記事では、電子申告 (ER) でのフォーミュラ デザイナーの使用方法を説明します。 ER で特定の電子ドキュメントの形式を設計する場合は、数式を使用して、ドキュメントのフルフィルメントと書式設定の要件を満たすようにデータを変換します。 これらの数式は、Microsoft Excelの数式に似ています。 数式は、テキスト、日付と時刻、数学、論理、情報、データ型変換関数、その他のビジネス ドメイン固有の関数など、さまざまな種類の関数をサポートしています。

フォーミュラ デザイナーの概要

ER はフォーミュラ デザイナーをサポートします。 デザイン時に、実行時に次のタスクに使用できる式を構成できます。

  • アプリケーション データベースから受信し、ER 形式のデータ ソースとして設計された ER データ モデルに入力したデータを変換します。 たとえば、これらの変換には、フィルター処理、グループ化、およびデータ型変換が含まれる場合があります。
  • 特定の ER 形式のレイアウトと条件に従って、生成する電子ドキュメントに送信する必要がある書式データ。 たとえば、書式設定は、要求された言語またはカルチャ、またはエンコードに従って行うことができます。
  • 電子ドキュメントを作成するプロセスを制御します。 たとえば、式では、データの処理に応じて、形式の特定の要素の出力を有効または無効にすることができます。 また、ドキュメントの作成プロセスを中断したり、ユーザーにメッセージをスローしたりすることもできます。

次のいずれかの操作を実行すると、[ 数式デザイナー ] ページを開きます。

  • データソースの項目をデータモデルのコンポーネントにバインドする。
  • データ ソース項目を形式コンポーネントにバインドします。
  • データ ソースの一部である計算済フィールドのメンテナンス完了。
  • ユーザー入力パラメーターの可視性条件と編集可能条件を定義します。
  • ユーザー入力パラメーターの規定値を定義します。
  • 形式の変換の設計。
  • 形式のコンポーネントに有効にする条件の定義。
  • 形式のファイル コンポーネントに対するファイル名の定義。
  • プロセス制御検証の条件の定義。
  • プロセス制御検証のメッセージ テキストの定義。

データ バインディング

ER 数式デザイナーを使用して、データ ソースから受信したデータを変換する式を定義します。 実行時に、次の方法でデータ コンシューマーにデータを入力します。

  • アプリケーション データ ソースとランタイム パラメーターから ER データ モデルへ
  • ER データ モデルから ER 形式へ
  • アプリケーション データ ソースとランタイム パラメーターから ER 形式へ

次の図は、このタイプの式の設計を示しています。 この例では、式はイントラスタット テーブルの Intrastat.AmountMST フィールドの値を小数点以下 2 桁に丸め、丸めた値を返します。

データ バインディング式のスクリーンショット。

次の図は、この型の式を使用する方法を示しています。 この例では、入力された式の結果が、税申告モデル データ モデルの Transaction.InvoicedAmount コンポーネントに反映されます。

使用されているデータ バインディング式のスクリーンショット。

実行時に、デザインされた計算式 ROUND (Intrastat.AmountMST, 2) は、イントラスタット テーブルの各レコードの AmountMST フィールドの値を小数点以下 2 桁に丸めます。 税レポート データモデルの Transaction.InvoicedAmount コンポーネントに四捨五入した値を入力します。

データの書式設定

ER 数式デザイナーを使用して、データ ソースから受信したデータを書式設定する式を定義します。 書式設定されたデータは、生成する電子ドキュメントの一部として送信できます。 一般的なルールとして適用し、書式を再利用する書式がある場合は、書式設定式を持つ名前付き変換として、書式構成でその書式設定を 1 回導入します。 この名前付き変換は、作成した書式設定式に従って出力を書式設定する必要がある多くの書式コンポーネントにリンクできます。

次の図は、このタイプの変換の設計を示しています。 この例では、TrimmedString 変換は、先頭および末尾にあるスペースを削除することにより 文字列 データ型の受信データを切り詰めます。 その後、切り詰めた文字列を返します。

変換設計のスクリーンショット。

次の図は、この型の変換を使用する方法を示しています。 この例では、いくつかの形式のコンポーネントは、実行時に生成する電子ドキュメントにテキストを出力として送信します。 これらすべての形式のコンポーネントは、名前で TrimmedString 変換へと参照します。

使用されている変換のスクリーンショット。

前の図のpartyName コンポーネントなどの形式コンポーネントが TrimmedString変換を参照する場合、変換は生成する電子ドキュメントへの出力としてテキストを送信します。 このテキストには、先頭および末尾にあるスペースは含まれません。

個別に適用する必要がある書式設定がある場合は、その書式設定を、特定の書式コンポーネントのバインドの個々の式として導入します。 次の図は、このタイプの式を示しています。 この例では、partyType の形式コンポーネントは、データ ソースの Model.Company.RegistrationType フィールドからの受信データを大文字テキストに変換する式を介してデータ ソースにバインドされます。 式は、出力としてテキストを電子ドキュメントに送信します。

個々のコンポーネントに書式設定を適用するスクリーンショット。

プロセス フローの制御

ER 式デザイナーを使用して、電子ドキュメントを生成するプロセス フローを制御する式を定義します。 実行できるタスクは次のとおりです。

  • ドキュメント作成プロセスを停止するタイミングを決定する条件を定義します。
  • 停止したプロセスに関してユーザーにメッセージを作成する式、または報告書生成のプロセスが続行することについての実行ログメッセージをスローする式を指定します。
  • 電子ドキュメント生成のファイル名と作成の管理条件を指定します。

プロセス フロー制御の各ルールは、個々の検証として設計されています。 次の図は、このタイプの検証を示しています。 この例の構成の説明を次に示します。

  • 検証は、XML ファイルの生成中に INSTAT ノードが作成されたときに評価されます。
  • トランザクションのリストが空である場合、検証の実行プロセスを停止し、FALSE を返します。
  • 検証では、ユーザーの優先的に使用する言語でラベル SYS70894 のテキストを含むエラー メッセージを返します。

検証構成のスクリーンショット。

ER 数式デザイナーを使用して、生成する電子ドキュメントのファイル名を生成し、ファイル作成プロセスを制御します。 次の図は、このタイプのプロセス フロー制御の設計を示しています。 この例の構成の説明を次に示します。

  • model.Intrastat データ ソースからのレコードの一覧はバッチに分かれています。 バッチごとに、最大1,000 レコードが含まれています。
  • 出力は、作成されたバッチごとに XML 形式のファイル 1 つを含む zip ファイルを作成します。
  • 式はファイル名とファイル名拡張子を連結して、生成する電子ドキュメントにファイル名を返します。 2 番目のバッチ以降すべてのバッチには、ファイル名の接尾語としてバッチ ID が表示されます。
  • 式は、(TRUE を返すことで) 少なくともレコードを 1 つ含むバッチのファイル作成プロセスを有効にします。

プロセス フロー制御の構成のスクリーンショット。

ドキュメント コンテンツ コントロール

ER 数式デザイナーを使用して、実行時に生成された電子ドキュメントに入るデータを制御する式を構成します。 これらの式は、データの処理と構成されたロジックに応じて、形式の特定の要素の出力を有効または無効にすることができます。 操作デザイナー ページの [マッピング] タブの [有効] フィールドに、1 つの書式要素に対してこれらの式を入力します。 ロジック条件として、ブール値を返す式を入力してください。

  • 条件が True を返す場合、現在の書式要素が実行されます。
  • 条件が False を返す場合、現在のフォーマット要素はスキップされます。

次の図は、このタイプの式を示しています。 Microsoftが提供するISO20022 与信送金 (NO)形式構成のバージョン11.12.11が例として使用されます。 XMLHeader 形式コンポーネントは、ISO 20022 XML メッセージ標準に従ってクレジット転送メッセージの構造を記述します。 XMLHeader/Document/CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/RmtInf/Ustrd 形式コンポーネントは、生成されたメッセージに Ustrd XML 要素を追加し、送金情報を次の XML 要素のテキストとして非構造化形式で配置します。

  • PaymentNotes コンポーネントは、支払メモのテキストを生成します。
  • DelimitedSequence コンポーネントは、現在のクレジット転送を決済するコンマ区切りの請求書番号を生成します。

PaymentNotes コンポーネントと DelimitedSequence コンポーネントのスクリーンショット。

メモ

PaymentNotes および DelimitedSequence コンポーネントは疑問符を使用してラベル付けされます。 疑問符は、コンポーネントの使用が条件付きであることを示します。 この場合、コンポーネントの使用は次の条件に基づいています。

  • PaymentNotesコンポーネントに定義することにより、現在の与信送金において支払メモのテキストが空でない場合、TRUEを返すことでUstrd XML 要素にそのテキストが入力されます。

    PaymentNotes コンポーネントの式のスクリーンショット。

  • @.PaymentsNotes = "" コンポーネントのために定義した式がTRUEを返す場合、その式を使用して、Ustrd XML 要素に現在の与信送金を決済する請求書番号のコンマ区切りのリストを入力できます。これは、その与信送金の支払メモのテキストが空白の場合です。

    DelimitedSequence コンポーネントの式のスクリーンショット。

この設定に基づいて、債務者の支払いごとに生成されるメッセージ Ustrd XML 要素には、支払明細書のテキストが含まれます。または、そのテキストが空白の場合は、支払を決済する請求書番号のコンマ区切りのリストが含まれます。

数式の記述に関するサポート

データ ソース ナビゲーター

構造化されたデータ ソースの要素を表すフォーミュラを編集できます。 構造化データ ソースの要素へのパスを 相対パスとして表示するように ER パラメーターを構成すると、式には、階層ツリー構造の絶対パスの残りの部分 ではなく 、"at" (@) 記号が表示されます。 絶対パスの残りの部分は、編集可能な要素の親要素を指しています。 Finance バージョン 10.0.30 以降 では、フォーミュラ デザイナー ページの データ ソース ウィンドウで、@ に移動 オプションを選択して、データ ソース ツリーのカーソルを編集可能な要素の親である要素に配置できます。 折りたたまれたすべての昇順要素の構造は、必要に応じて自動的に再帰的に展開されます。 この拡張により、編集可能な要素の基本要素をすばやく視覚化し、データ ソース ツリー内の編集可能な要素の兄弟を観察し、必要に応じて編集可能な数式でそれぞれの要素を使用できます。

[次へ移動] オプションを使用して、数式デザイナー ページの編集可能な要素の親である要素にデータ ソース ツリーのカーソルを配置するスクリーンショット。

データ ソースの選択

[数式デザイナー] ページの左側の [データ ソース] ウィンドウで、編集可能な数式に取り込むデータ ソースの要素を選択します。 次に データ ソースの追加 を選択します。 選択した要素が編集可能な数式のテキストに追加されます。

ヒント

既定のフォーミュラ エディターで データ ソースの追加 オプションを使用すると、選択した要素が常にフォーミュラ テキストの末尾に追加されます。 高度な数式エディターで同じオプションを使用すると、選択した要素が現在のカーソル位置にある数式テキストに挿入されます。

組み込み関数ピッカー

[数式デザイナー] ページの右側の [関数] ウィンドウで、編集可能な数式に取り込む ER 組み込み関数を選択します。 次に 関数の追加 を選択します。 選択した関数が編集可能な数式のテキストに追加されます。

ヒント

既定のフォーミュラ エディターで 関数の追加 オプションを使用すると、選択した関数が常にフォーミュラ テキストの末尾に追加されます。 高度な数式エディターで同じオプションを使用すると、選択した関数が現在のカーソル位置にある数式テキストに挿入されます。

構成された式の検証

フォーミュラ デザイナー ページで, テストを選択して、構成された式の動作を検証します。

[テスト] を選択して数式を検証するスクリーンショット。

数式に引数の値が必要な場合は、[数式デザイナー] ページから [式のテスト] ダイアログ ボックスを開きます。 ほとんどの場合、構成されたバインドはデザイン時に実行されないため、これらの引数を手動で定義する必要があります。 フォーミュラ デザイナー ページで, テスト結果タブには、構成された式の実行結果が表示されます。

次の例は、貿易ドメイン用に構成した数式をテストして、Intrastat 商品コードに数字のみが含まれていることを確認する方法を示しています。

この数式をテストする場合は、[ テスト式 ] ダイアログ ボックスを使用して、テスト用の Intrastat 商品コードの値を指定します。

テスト用の Intrastat コモディティ コードを指定するスクリーンショット。

イントラスタット商品コードを指定して OK を選択すると、フォーミュラ デザイナー ページのテスト結果タブには、構成された式の実行結果が表示されます。 その後、結果が受け入れられるかどうかを評価できます。 結果が受け入れられない場合は、式を更新して再度テストできます。

テスト結果のスクリーンショット。

一部の数式は設計時にテストできません。 たとえば、式は、テスト結果タブに表示できないデータ種類の結果を返す場合があります。この場合、式をテストできないことを示すエラー メッセージが表示されます。

エラー メッセージのスクリーンショット。

追加リソース