電子申告における多言語レポートの設計
開始する
ビジネス ユーザーとして、電子申告 (ER) フレームワークを使用し、さまざまな国や地域の法的要件に従って生成されなければならない送信ドキュメントの形式を構成できます。 これらの要件により、送信ドキュメントを国や地域ごとに異なる言語で生成する必要がある場合は、言語依存のリソースを含む 1 つの ER 形式 を構成できます。 このようにすると、この形式を再利用してさまざまな国や地域の送信ドキュメントを生成できます。 また、1 つの ER 形式を使用して、対応する顧客、仕入先、関連会社、またはその他の関係者向けに、送信ドキュメントを異なる言語で生成することもできます。
ER データ モデルとモデル マッピングを構成済み ER 形式のデータソースとして構成し、生成されたドキュメントに挿入するアプリケーション データを指定するデータ フローを定義できます。 ER コンフィギュレーション プロバイダーとして 、構成済みの データ モデル、モデル マッピング、および 形式 を ER ソリューションのコンポーネントとして 公開 し、特定の送信ドキュメントを生成できます。 公開された ER ソリューションを顧客が アップロード して、使用およびカスタマイズできるようにすることもできます。 顧客が他の言語を話す可能性がある場合は、言語依存のリソースを含むように ER コンポーネントを構成できます。 このようにして、設計時に、編集可能な ER コンポーネントのコンテンツを顧客のユーザー優先言語で表示できます。
言語依存のリソースを ER ラベルとして構成できます。 これらのラベルを使用して、ER コンポーネントを次の目的で構成できます:
設計時に:
- 構成済み ER コンポーネントのコンテンツを、ユーザーの優先言語で表示します。
ランタイムに:
- 送信ドキュメントの言語依存コンテンツを生成します。
- ユーザーの優先言語で警告とエラー メッセージを提供します。
- ユーザーの優先言語で必須フィールドの入力を促します。
ER ラベルは、異なるコンポーネントを含むすべての ER コンフィギュレーション で構成できます。 ラベルは、ER データ モデル、ER モデル マッピング、および ER 形式コンポーネントの構成されたロジックとは別に管理できます。
すべての ER ラベルは、そのラベルを保持する ER コンフィギュレーションの範囲内で一意の ID によって識別されます。 すべてのラベルに、Microsoft Dynamics 365 Finance の現在のインスタンスでサポートされているすべての言語のラベル テキストを含めることができます。 これらのサポートされている言語には、配置されたカスタマイズの言語が含まれます。
入力
ER データ モデル、ER モデル マッピング、または ER 形式を設計する場合、翻訳可能なコンテキストを含む可能性のあるフィールドを選択すると、翻訳 オプションが表示されます。 このオプションを選択すると、選択したフィールドをテキストの翻訳ウィンドウで ER ラベルにリンクできます。 既存の ER ラベルを選択することも、まだ使用できない場合は新しい ER ラベルを追加することもできます。 ER ラベルを選択または追加すると、現在の Finance インスタンスでサポートされているすべての言語について、関連するテキストを追加できます。
次の図は、編集可能な ER データ モデルで、この翻訳がどのように行われるかを示しています。 この例では、編集可能な 請求書モデル の PurchaseOrder フィールドの 説明 属性 が、オーストリアのドイツ語 (DE-AT) および日本語 (JA) に翻訳されています。
編集可能な ER コンポーネントにあるラベルのラベル テキストのみ翻訳することができます。 たとえば、ER モデル マッピング データ ソースのラベル属性に 翻訳 を選択し、親 ER データ モデルにある ER ラベルを選択すると、ラベルのコンテンツが表示されますが、変更はできません。 この場合、次の図に示すように、翻訳テキス フィールドは使用できません。
メモ
デザイナーを使用して編集可能な ER コンポーネントに入力されたラベルを削除することはできません。
スコープ
ER ラベルは、ER コンポーネントのいくつかの翻訳可能な属性で参照できます。
データ モデル コンポーネント
ER データ モデルを構成するときに、そのデータ モデルに ER ラベルを追加できます。 モデル項目のラベルと説明の属性、すべてのモデルのフィールド、およびすべてのモデル列挙値は、ER データ モデルに追加される ER ラベルにリンクできます。
ER データ モデルがこのように構成されている場合、そのコンテンツは ER データ モデル デザイナーのユーザーに各ユーザーの優先言語で表示されます。 したがって、モデル メンテナンスが簡略化されます。 次の図は、DE-AT および JA を優先言語として設定しているユーザーに対して、この機能がどのように機能するかを示しています。
モデル マッピング コンポーネント
ER モデル マッピングは ER データ モデルに基づいているため、参照されるデータ モデル要素のラベルは、モデル マッピング デザイナーのユーザーの優先言語で表示されます。 次の図は、PurchaseOrder フィールドの意味が、構成済みデータ モデルに追加された 説明 属性のラベルを使用して、編集可能なモデル マッピングでどのように説明されるかを示しています。 このラベルは、ユーザーの優先言語 (この例では DE-AT) で表示されていることに注意してください。
ユーザー 入力 パラメータ データ ソースの ラベル 属性が ER ラベルにリンクするように構成されている場合、このデータ ソースに対応するパラメータ フィールドは、ランタイムにユーザーの優先言語でユーザー ダイアログ ボックスに表示されます。
形式コンポーネント
ER 形式を構成するときに、その形式に ER ラベルを追加できます。 すべての構成済みデータ ソースの ラベル と ヘルプ テキスト 属性は、ER 形式に追加される ER ラベルにリンクできます。 すべての 形式列挙型の値の ラベル と 説明 の属性は、編集可能な ER 形式からアクセス可能な ER ラベルにリンクすることもできます。
メモ
これらの属性は、この ER データ モデルに対して構成されているすべての ER 形式でモデルのラベルを再利用する親 ER データ モデルにリンクすることもできます。
ER 形式がこのように構成されている場合、形式のコンテンツは ER オペレーション デザイナーのユーザーに各ユーザーの優先言語で表示されます。 したがって、構成されたロジックの形式のメンテナンスと分析が簡略化されます。
ER 形式は ER データ モデルに基づいているため、データ モデル要素で参照されるラベルは、ER 形式デザイナーでユーザーの優先言語で表示されます。
ユーザー 入力 パラメータ データ ソースの ラベル 属性が ER ラベルにリンクされている場合、ランタイムにユーザー ダイアログ ボックスのパラメータに対応するフィールドがプロンプトとしてユーザーに表示されます。 次の図は、設計時に ユーザー入力パラメータ データソースの ラベル 属性を ER ラベルにリンクして、ユーザーが、ランタイムに異なる優先言語 (米国英語 (EN-US) と DE-AT 言語で表示) でパラメータの入力を促すようにする方法を示します。
式
ER 式でラベルを使用するには、構文 @"GER_LABEL:X" を使用する必要があります。接頭語@はオペランドがラベルを参照していることを示し、GER_LABEL は ER ラベルが関係することを示し、X は ER ラベル ID です。
システム (アプリケーション) ラベルを参照するには、構文 @"X" を使用します。接頭語 @ はオペランドがラベルを参照し、X がシステム ラベル ID であることを示します。
モデル マッピング
ER モデル マッピングの式は、ラベルを使用して構成できます。 このマッピングが、送信ドキュメントを生成するために実行される ER 形式によって呼び出される場合、実行のコンテキストには言語コードが含まれます。 構成済みの式ラベルには、そのコンテキストの言語に対して構成されたラベル テキストが入力されます。
参照されるラベルが、モデル マッピングを呼び出す形式の実行コンテキストの言語に翻訳されていない場合、EN-US 言語のラベル テキストが代わりに使用されます。
書式設定
ER 形式の式は、ラベルを使用して構成できます。 この形式を実行して送信ドキュメントを生成すると、実行のコンテキストには言語コードが含まれます。 構成済みの式ラベルには、そのコンテキストの言語に対して構成されたラベル テキストが入力されます。
ER 形式の ファイル コンポーネントを構成して、ユーザーの優先言語でレポートを生成できます。
このように ER フォーマットを構成すると、ER ラベルの対応するテキストを使用してレポートが生成されます。 次の図は、EN-US および DE-AT ユーザー言語のレポートの例を示しています。
参照されるラベルが、形式の実行コンテキストの言語に翻訳されていない場合、EN-US 言語のラベル テキストが代わりに使用されます。
ヒント
編集可能な ER 形式の FOLDER と異なるタイプの FILE コンポーネントを使用して、送信ファイルの生成方法を指定することができます。 生成されたファイルに名前を付けするには、コンポーネントのファイル名パラメータに ER 式を構成します。 ラベルは、構成された式で使用できます。 ファイル名のパラメーターは既定で language aticstic であるため、この式で参照しているすべてのラベルのテキストは実行時に既定のEN-US言語で公開されます。 ただし、バージョン 10.0.28 以降では、"ファイル名" 式の機能に "言語基本設定" パラメータを適用 できます。 ファイル名式では、言語設定パラメーターを考慮して計算されます。
言語
ERでは、生成されるレポートの言語を指定するさまざまな方法をサポートしています。 形式 タブの 言語の詳細設定 フィールドで、次の値を選択できます:
会社の基本設定 – 会社指定の言語でレポートを生成します。
ユーザーの基本設定 – ユーザーの優先言語でレポートを生成します。
明示的に定義 – 設計時に指定された言語でレポートを生成します。
ランタイムに定義 – ランタイムに指定された言語でレポートを生成します。 この値を選択する場合は、言語 フィールドで、対応する顧客の言語など、言語の言語コードを返す ER 式を構成します。
カルチャ固有の形式
ERでは、生成されるレポートのカルチャを指定するさまざまな方法をサポートしています。 したがって、日付、時刻、および数値に対して、カルチャ固有の正しい形式を使用できます。 電子申告形式をデザインする場合は、形式タブの、カルチャの基本設定フィールドで Common\File、Excel\File、PDF\File または PDF\Merger タイプの各形式コンポーネントに対して、以下の値を選択することができます。
ユーザーの基本設定 – ユーザーの優先するカルチャに従って値をフォーマットします。 このカルチャーは、ユーザー オプション ページの基本設定タブにある日付、時刻、および数字の形式フィールドで定義されます。
明示的に定義 – 設計時に指定されたカルチャに従って値をフォーマットします。
ランタイムに定義 – ランタイムに指定されたカルチャに従って値をフォーマットします。 この値を選択した場合、マッピング タブの日付、時刻、数字の形式フィールドに、該当する顧客のカルチャなど、カルチャのカルチャ コードを返す ER 式を設定します。
メモ
特定のカルチャを定義する ER コンポーネントには、テキスト値を入力するように構成された子 ER コンポーネントが含まれている場合があります。 既定では、親コンポーネントのカルチャがそれらのコンポーネントの値のフォーマットに使用されます。 次の組み込み ER 機能を使用して、これらのコンポーネントのバインドを構成し、値のフォーマットに代替カルチャを適用できます。
バージョン 10.0.20 以降では生成されたドキュメントの PDF 変換 時に、Common\File および Excel\File タイプのフォーマット コンポーネントのロケールを使用して値をフォーマットします。
翻訳
編集可能な ER コンポーネントに必須の ERラ ベルを追加できます。 ER ラベルを追加する場合は、手動と自動の 2 つの方法で翻訳できます。
手動翻訳
テキストの翻訳ウィンドウに ER ラベルを追加すると、現在の Finance インスタンスでサポートされているすべての言語に手動で翻訳できます。 システム言語 または ユーザー言語 セクションの 言語 フィールドで、優先言語を選択し、対応する 翻訳テキスト フィールドに適切なテキストを入力して、翻訳 を選択します。 このプロセスは、追加する必要なすべての言語とすべてのラベルに対して繰り返す必要があります。
自動翻訳
ER コンポーネントの構成は、編集可能な ER コンポーネントが存在する ER コンフィギュレーションのドラフト バージョンで行われます。
この記事で既に説明したように、必須の ER ラベルを編集可能な ER コンポーネントに追加できます。 このようにして、ER ラベルのテキストを EN-US 言語で指定できます。 その後、組み込み ER 関数を使用して ER コンポーネントのラベルをエクスポートできます。 編集可能な ER コンポーネントを含む ER コンフィギュレーションのドラフト バージョンを選択し、交換 > ラベルのエクスポート を選択します。
すべてのラベルまたはエクスポートの開始時に指定した 1 つの言語のラベルをエクスポートできます。 ラベルは、XML ファイルを含む zip ファイルとしてエクスポートされます。 すべての XML ファイルには、1 つの言語のラベルが含まれています。
この形式は、Dynamics 365 Translation Service などの外部翻訳サービスによるラベルの自動翻訳に使用されます。 翻訳済ラベルを受け取ったら、ラベルを所有する ER コンポーネントを含む ER コンフィギュレーションのドラフト バージョンにインポートできます。 編集可能な ER コンポーネントを含む ER コンフィギュレーションのドラフト バージョンを選択し、交換 > ラベルの読み込む を選択します。
翻訳済ラベルは選択した ER コンフィギュレーションにインポートされます。 この ER コンフィギュレーションに存在する翻訳済ラベルは置き換えられます。 ER コンフィギュレーションに翻訳済ラベルがない場合は追加されます。
ライフサイクル
編集可能な ER コンポーネントのラベルは、ER コンフィギュレーションの適切なバージョンで、コンポーネントのその他のコンテンツと共に保持されます。
ベースとなる ER コンポーネントのラベルは、変更を加えるために作成する ER コンポーネントの派生バージョンで参照できます。
ヒント
ER ソリューションを設計する場合は、提供されているコンポーネントから独自のER データ モデル コンポーネントを派生できます。 この派生データ モデルでは、独自の ER ラベルを導入し、データ モデルをデータ ソースとして使用するすべての ER 形式で使用できます。 その後、用意された ER データ モデルではなく派生 ER データ モデルを選択することで、独自の ER 形式 コンポーネントを派生できます。 バージョン 10.0.28 以降では、派生 ER コンポーネントに対して選択した ER データ モデルがベース ER コンポーネントで使用されたものと異なる場合でも、Enhanced access to labels of the 優位 ER データ モデルのラベルへの拡張アクセス 機能を有効化し、派生 ER 形式コンポーネントの優位 ER データ モデルのラベルへアクセスできます。
派生コンポーネントとその主なコンポーネントで同じラベル名が使用されている場合、そのラベルの翻訳が最も関連性の高いラベルとして使用されます。
ER バージョン管理では、ER コンポーネント内の任意の属性に対するラベル割り当てを制御します。 ラベルの割り当てに対する変更は、提供された ER コンポーネントの派生バージョンとして作成された編集可能な ER コンポーネントの変更 (デルタ) の一覧に記録されます。 これらの変更は、派生バージョンが新しいベース バージョンに再ベースされるときに検証されます。
関数
組み込みの LISTOFFIELDS ER 関数を使用すると、ER コンポーネントの一部の項目に対して構成されている ER ラベルにアクセスできます。
この記事で既に説明したように、すべての モデル または 形式 ER 列挙値の ラベル および 説明 属性は、適切な ER コンポーネントでアクセスできる ER ラベルにリンクできます。 引数として ER 列挙を使用すると、LISTOFFIELDS 関数を呼び出す ER 式を構成できます。 この式は、この関数の引数として定義されている ER 列挙のすべての値のレコードを含むリストを返します。 各レコードには ER 列挙値にリンクされた ER ラベルの値が含まれます。
- ラベル 属性にリンクされている ER ラベルの値は、返された レコードの ラベル フィールドに格納されます。
- 説明 属性にリンクされている ER ラベルの値は、返された レコードの 説明 フィールドに格納されます。
パフォーマンス
ER 形式のコンポーネンを構成してユーザーの優先言語でレポートを生成する場合、またはコンテンツが優先言語で解析される受信ドキュメントをインポートする場合、機能管理ワークスペースで ER を実行している現在のユーザーの優先言語をキャッシュするの機能を有効にすることをお勧めします。 特に ER フォーミュラとバインディングのラベルおよび多くの検証ルールへの複数の参照を含む ER 形式のコンポーネントがユーザーの優先言語でユーザー メッセージを生成する場合、この機能によりパフォーマンスが向上します。
ERコンフィギュレーション バージョンのステータスを ドラフト から 完了 に変更すると、コンフィギュレーション バージョンに ER ラベルが含まれている場合、これらのラベルはアプリケーション データベースに格納されます。 記憶域スキーマは、ER ラベル記憶域の高速化 機能の状態に依存します:
- 機能が有効になっていない場合、すべてのラベルは、ERSOLUTIONVERSIONTABLE テーブルの LABELXML フィールドに 1 つの XML スニペットとして格納されます。
- 機能が有効になっている場合、ERSOLUTIONVERSIONLABELSTABLE テーブルの言語ごとに個別のレコードが作成されます。 このテーブルの CONTENTS フィールドには、圧縮された XML スニペットとして言語別のラベルが格納されます。
機能管理 ワークスペースの ER ラベル記憶域の高速化 機能を有効にすることをお勧めします。 この機能により、ほとんどの場合、1 つの ER コンフィギュレーションで作業するときに 1 つの言語の ER ラベルが使用されるため、ネットワーク帯域幅の稼働状況とシステム全体のパフォーマンスが向上します。
選択した記憶域スキーマを適用して、すべての ER 構成のラベルを現在の Finance インスタンスで保持するには、次の手順を実行します。
- 組織管理>定期処理>選択したラベルの保存スキーマをすべての ER コンフィギュレーションに適用 の順に移動します。
- OKを選択します。