注
コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engageコミュニティに参加し、最新のディスカッションに参加するには、 Finance and Operations Viva Engage Community へのアクセス権フォームに入力し、参加するコミュニティを選択します。
概要
電子レポート (ER) フレームワークの操作デザイナーを使用して、テキスト形式で送信ドキュメントを生成する ER ソリューションの形式コンポーネントを構成します。 コンフィギュレーションされた形式コンポーネントの階層構造は、さまざまなタイプの形式要素で構成されます。 これらの書式要素は、生成されたドキュメントに実行時に必要な情報を入力します。 既定では、ER 形式を実行すると、書式要素は、書式階層に表示される順序と同じ順序で実行されます(上から下に 1 つずつ)。 ただし、デザイン時に、コンフィギュレーションされた形式コンポーネントのすべてのシーケンス要素の実行順序を変更することができます。
構成された形式のシーケンス書式要素の Deferred 実行 オプションをオンにすると、その要素の実行を延期 (延期) します。 要素は、親の他のすべての要素が実行されるまで実行されません。
この機能の詳細を知るには、この記事の例を実行します。
制限
遅延実行オプションは、テキスト形式で送信ドキュメントを生成する ER 形式用に構成するシーケンス要素のみをサポートします。
遅延実行オプションは、最大長が制限されているトリミングされたシーケンスとして構成するシーケンスには適用されません。
例: ER 形式のシーケンス要素の実行の延期
次のステップは、システム管理者または電子申告機能コンサルタント ロール のユーザーが、実行順序が形式階層の順序とは異なるシーケンス要素を含む ER 形式をコンフィギュレーションする方法を説明します。
これらの手順は、Microsoft Dynamics 365 Financeの USMF 企業で実行できます。
前提条件
この例を完了するには、次のいずれかのロール用の Finance の USMF 会社にアクセスできる必要があります。
- 電子申告機能コンサルタント
- システム管理者
「ER 形式の XML 要素の実行を延期する」の記事の例をまだ完了していない場合は、サンプル ER ソリューションの次の構成をダウンロードしてください。
| コンテンツの説明 | ファイル名 |
|---|---|
| ER データ モデル構成 | 遅延要素を学習するためのモデル.version.1.xml |
| ER モデル マッピング コンフィギュレーション | 遅延要素を学ぶためのマッピング.version.1.1.xml |
開始する前に、サンプル ER ソリューションの次のコンフィギュレーションをダウンロードして保存する必要もあります。
| コンテンツの説明 | ファイル名 |
|---|---|
| ER フォーマット構成 | 遅延シーケンスを知るための形式. バージョン .1.1.xml |
サンプル ER のコンフィギュレーションのインポート
組織管理>ワークスペース>電子申告の順に移動します。
コンフィギュレーションをレポートするを選択します。
構成で、遅延要素を学習するモデル構成が構成ツリーで使用できない場合は、ER データ モデルの構成をインポートします。
- Exchange を選択し、 XML ファイルから読み込むを選択します。
- ブラウズ をクリックし、遅延要素を学習するためのモデル.1.xml ファイルを見つけて選択し、OK をクリックします。
遅延要素を学習するマッピングがコンフィギュレーション ツリーで使用できない場合、ER モデルマッピングコンフィギュレーションをインポートします。
- Exchange を選択し、 XML ファイルから読み込むを選択します。
- 参照を選択し、Mapping to learn deferred elements.1.1.xmlファイルを検索して選択し、OKを選択します。
ER 形式コンフィギュレーションのインポート:
- Exchange を選択し、 XML ファイルから読み込むを選択します。
- ブラウズを選択し、deferred sequences.1.1.xml を学習するための形式ファイルを見つけて選択し、OKを選択します。
コンフィギュレーション ツリーで、遅延要素を知るためのモデルを展開します。
コンフィギュレーション ツリーでインポートされた ER コンフィギュレーションのリストを確認します。
コンフィギュレーション プロバイダーの有効化
組織管理>ワークスペース>電子申告の順に移動します。
ローカライズ構成の [構成プロバイダー] セクションで、Litware, Inc. () サンプル会社の
http://www.litware.comが一覧表示され、アクティブとしてマークされていることを確認します。 この構成プロバイダーが一覧に表示されていない場合、またはアクティブとしてマークされていない場合は、「 構成プロバイダーを作成してアクティブとしてマーク する」の手順に従います。
インポートされたモデル マッピングを確認する
税トランザクションにアクセスし、要求時にアクセスされたデータを公開するように構成した ER モデル マッピング コンポーネントの設定を確認します。
組織管理>ワークスペース>電子申告の順に移動します。
コンフィギュレーションをレポートするを選択します。
[構成] の構成ツリーで、[モデル] を展開して遅延要素を学習します。
遅延要素を知るためのマッピング コンフィギュレーションを選択します。
デザイナーを選択して、マッピングの一覧を開きます。
デザイナーを選択して、マッピングの詳細を確認します。
詳細を表示を選択します。
設定されたデータソースを確認して、税関連の取引にアクセスします。
テーブル レコード タイプのトランザクション データ ソースは、TaxTrans アプリケーション テーブルのレコードにアクセスするようにコンフィギュレーションされています。
計算済フィールド タイプの伝票データ ソースは、必要な伝票コード (INV-10000349 および INV-10000350) をレコードのリストとして返すようにコンフィギュレーションされています。
フィルター処理された計算済フィールド タイプのデータソースは、トランザクション データ ソースから、必要な伝票の税トランザクションのみを選択するようにコンフィギュレーションされています。
計算済フィールド タイプの $TaxAmount フィールドはフィルター処理されたデータ ソースに対して追加され、反対の符号を持つ税額を公開します。
グループ化されたグループ化基準タイプのデータ ソースは、フィルタリングされたデータ ソースの税取引をグループ化するように設定されています。
グループ化されたデータ ソースの TotalSum 集計フィールドは、そのデータ ソースでフィルター処理されたすべての税トランザクションに対して、フィルター処理されたデータ ソースの $TaxAmount フィールドの値を集計するようにコンフィギュレーションされています。
コンフィギュレーションされたデータ ソースをデータ モデルにバインドする方法、および ER 形式で利用可能になるようにアクセス データを公開する方法を確認します。
- フィルター処理されたデータ ソースは、データ モデルの Data.List フィールドにバインドされます。
- フィルター処理されたデータ ソースの $TaxAmount フィールドは、データ モデルの Data.List.Value フィールドにバインドされます。
- グループ化されたデータ ソースの TotalSum フィールドは、データ モデルの Data.Summary.Total フィールドにバインドされます。
モデル マッピング デザイナーおよびモデル マッピングのページを閉じます。
インポートされた形式を確認する
[構成] の構成ツリーで、[形式] を選択して遅延シーケンスの構成を学習します。
デザイナーを選択して、形式の詳細を確認します。
詳細を表示を選択します。
税トランザクションの詳細を含むテキスト形式で送信ドキュメントを生成するようにコンフィギュレーションされている ER フォーマット コンポーネントの設定を確認します。
レポート\明細行シーケンス形式要素は、1 つの行で送信ドキュメントを入力するようにコンフィギュレーションされ、入れ子になったシーケンス要素から生成されます (ヘッダー、レコード、および集計)。
レポート\明細行\ヘッダーのシーケンス形式要素は、1 つの行で送信ドキュメントを入力するようにコンフィギュレーションされ、処理を開始するときに日時を表示します。
レポート\明細行\レコードのシーケンス形式要素は、1 つの行で送信ドキュメントを入力するようにコンフィギュレーションされ、個別の税トランザクションの詳細を表示します。 これらの税トランザクションは、セミコロンで区切られます。
レポート\明細行\集計のシーケンス形式要素は、1 つの集計行で送信ドキュメントを入力するようにコンフィギュレーションされ、処理された税トランザクションの税額の合計が含まれます。
マッピング タブで、次の詳細を確認します。
- Report\Lines\Header 要素は、送信ドキュメントで 1 行を生成するためにデータ ソースにバインドする必要はありません。
- Prefix1 要素は、追加された行がレポート ヘッダー行であることを示す P1 記号を生成します。
- ExecutionDateTime 要素は、ヘッダー行が追加された時の日時 (ミリ秒を含む) を生成します。
- レポート\明細行\レコード要素は、model.Data.List リストにバインドされ、バインド リストからすべてのレコードに対して 1 行生成します。
- Prefix2 要素は、追加された行が税トランザクション詳細用であることを示す P2 記号を生成します。
- TaxAmount 要素は、model.Data.List.Value (相対パス ビューに @.Value として表示される) にバインドされ、現在の税トランザクションの税額を生成します。
- RunningTotal 要素は、税額累計額のプレースホルダーです。 現在、バインディングも既定値もコンフィギュレーションされていないため、この要素には出力がありません。
- ExecutionDateTime 要素は、現在のトランザクションがこのレポートで処理される時の日時 (ミリ秒を含む) を生成します。
- Report\Lines\Summary 要素は、送信ドキュメントで 1 行を生成するためにデータ ソースにバインドする必要はありません。
- Prefix3 要素は、追加された行に税額合計が含まれていることを示す P3 記号を生成します。
- TotalTaxAmount 要素は model.Data.Summary.Total にバインドされ、処理された税トランザクションの税額合計を生成します。
- ExecutionDateTime 要素は、集計行が追加された時の日時 (ミリ秒を含む) を生成します。
インポートされたフォーマットの実行
書式デザイナーで、[実行] を選択します。
Web ブラウザーからファイルをダウンロードし、確認のために開きます。
サマリー行 22 には、処理されたトランザクションの税額の合計が表示されます。 モデルのData.Summary.Totalバインディングを使用する形式であるため、この合計は、モデル マッピングを使用するGroupBy型のGroupedデータ ソースのTotalSum集計を呼び出して計算されます。 この集計を計算するために、モデル マッピングは 、フィルター処理された データ ソースが選択したすべてのトランザクションを反復処理します。 21 行目と 22 行目の実行時間を比較すると、合計の計算に 10 ミリ秒 (ミリ秒) かかったことがわかります。 2 行目と 21 行目の実行時間を比較すると、すべてのトランザクション行の生成に 7 ミリ秒かかったことがわかります。 したがって、合計 17 ミリ秒必要でした。
合計が生成された出力に基づくように形式を変更する
トランザクションの量が現在の例のボリュームよりもはるかに大きい場合、合計時間が長くなり、パフォーマンスの問題が発生する可能性があります。 形式の設定を変更することで、これらのパフォーマンスの問題を回避できます。 税額にアクセスして生成されたレポートに含めることができるため、この情報を再利用して税額を合計することができます。 詳細については、集計と合計を行うよう形式をコンフィギュレーションする を参照してください。
形式タブの形式デザイナー ページで、形式ツリーのレポート ファイル要素を選択します。
出力詳細の収集オプションをはいに設定します。 この形式を構成するには、既存のレポートの内容を、データ コレクション カテゴリの組み込み ER 関数がアクセスできる データ ソースとして使用します。
マッピング タブで、レポート\明細行シーケンス要素を選択します。
収集したデータ キー名の式を
WsColumnとしてコンフィギュレーションします。収集したデータ キーの値の式を
WsRowとしてコンフィギュレーションします。
レポート\明細行\レコード\TaxAmount 数値要素を選択します。
収集したデータ キー名の式を
SummingAmountKeyとしてコンフィギュレーションします。
この設定を、仮想ワークシートが実現するものとして考えることができます。これは、セルA1の値に、処理された各税取引の税額が付加されるというものです。
レポート\明細行\レコード\RunningTotal の数値要素を選択し、フォーミュラの編集を選択します。
組み込みの SUMIF 関数を使用して
SUMIF(SummingAmountKey, WsColumn, WsRow)式を設定します。保存を選択します。
フォーミュラ デザイナー ページを閉じます。
保存を選択して、実行を選択します。
Web ブラウザーからファイルをダウンロードし、確認します。
明細行 21 には、生成された出力をデータ ソースとして使用することにより、処理されたすべてのトランザクションに対して計算される税額の累計が含まれます。 このデータ ソースは、レポートの先頭から開始し、最後の税トランザクションまで続行します。 明細行 22 には、モデル マッピングにおいて GroupBy タイプのデータ ソースを使用して計算され、処理されたすべてのトランザクションの税額の合計が含まれています。 これらの値は等しくなります。 そのため、 GroupBy の代わりに出力ベースの合計を使用できます。 明細行 2 と 21 の実行時間を比較することにより、すべてのトランザクション明細行の生成および合計に 9 ミリ秒 (ms) かかったことを特定できます。 したがって、詳細行の生成および税額の合計が懸念されるかぎり、変更された形式は元の形式よりも約 2 倍速くなります。
レポート\明細行\集計\TotalTaxAmount の数値要素を選択し、フォーミュラの編集を選択します。
既存の式の代わりに
SUMIF(SummingAmountKey, WsColumn, WsRow)式を入力します。保存を選択して、実行を選択します。
Web ブラウザーからファイルをダウンロードし、確認します。
最後のトランザクション詳細行の税額累計は、集計行の合計値と等しくなるようになりました。
レポート ヘッダーに出力に基づいた集計を設定する
レポートのヘッダーに税額の合計を表示する必要がある場合は、書式を変更できます。
形式タブの形式デザイナー ページで、レポート\明細行\集計シーケンス要素を選択します。
上へ移動を選択します。
保存を選択して、実行を選択します。
Web ブラウザーからファイルをダウンロードし、確認します。
この合計は生成された出力に基づいて計算されるため、集計行 2 の税額の合計は 0 (ゼロ) になりました。 明細行 2 が生成される時、生成された出力にはまだトランザクションの詳細のある行は含まれていません。 この形式を構成して、Report\Lines\Summary シーケンス要素の実行を、すべての税トランザクションに対して Report\Lines\Record シーケンス要素が実行されるまで延期することができます。
集計シーケンスの実行を延期することにより、計算された合計が使用されます
形式タブの形式デザイナー ページで、レポート\明細行\集計シーケンス要素を選択します。
遅延実行オプションをはいに設定します。
保存を選択して、実行を選択します。
Web ブラウザーからファイルをダウンロードし、確認します。
Report\Lines\Summary シーケンス要素は、親要素 Report\Lines の下に入れ子になっている他のすべてのアイテムの実行後にのみ実行されるようになりました。 そのため、model.Data.List データ ソースのすべての税トランザクションに対して Report\Lines\Record シーケンス要素が実行された後に実行されます。 明細行 1、2、および 3 の実行時間と最後の明細行 22 の実行時間はこの事実を示しています。