二重書き込み FAQ

この記事では、二重書き込みに関してよく寄せられる質問を取り上げ、必要な情報をすぐ得られるように簡単な回答を示します。

二重書き込みの設定

Dataverse を、複数の財務と運用環境間でハブとして使用できるように二重書き込みを有効にする予定はありますか? Dataverse をハブとして使用すれば、2 つ以上の財務と運用環境間でデータを同期することができます。

レコードの扱いに関する現在のプランでは、二重書き込みを単一の財務と運用環境と、単一の Dataverse 環境との間の 1 対 1 (1:1) のマッピングに制限しています。

データ インテグレーターのように、二重書き込みでマッピングの順序をコントロールすることはできますか?

二重書き込みはトランザクション ベースです。 たとえば、財務と運用アプリの変更より、Dataverse で複数のマップの同期が実行される場合、既定では、それらの変更はデータベースで更新される順序で行われます。 このパターンは、最初の同期のコンテキストでは、より有意義なものです。 システムによって、関連するテーブル マップが指定された順序で提供されますが、環境に適したものにするよう、一覧の順序を変更することができます。

アプリケーション ユーザーは、二重書き込みを有効にしたり構成したりするために特別なアクセス許可を必要としていますか?

財務と運用環境に対して 2 つ の Microsoft Entra アプリケーションが設定され、Dataverse 環境で 2 人のアプリケーション ユーザーが設定されている必要があります。 これらのアプリケーション ユーザーには、適切なアプリケーション ID を含める必要があります。 正常に接続されるようにするため、アプリケーションに、セキュリティ ロールを使用して関連するテーブル アクセス許可を付与する必要があります。 詳細については、要件を確認してアクセスを許可する を参照してください。

エンド ユーザーは、二重書き込みを有効にしたり構成したりするために特別なアクセス許可を必要としていますか?

二重書き込みマッピングの構成を行っているエンド ユーザーは、Dataverse および財務と運用環境の両方でシステム管理者セキュリティ ロールが割り当てられている必要があります。

すべてのユーザーおよび環境が単一テナントに属し、ユーザーが必要なセキュリティおよびライセンスの割り当てを所有している限り、複数のユーザーが二重書き込みマッピングにアクセスできます。

Dataverse 環境がリンクされているなら、リーガル テーブル マッピングを行うことができます。 特定の法人にテーブル マップをマップすることはできません。

Dataverse に二重書き込みソリューションがインストールされている場合、アンインストールすることはできますか?

二重書き込みソリューションは、アンインストール可能なマネージド ソリューションです。 ただし、マネージド ソリューションをアンインストールすると、ソリューション内のすべてのコンポーネントが削除されます。 コンポーネントに格納されているデータも削除されます。 詳細については、管理ソリューションの保守 を参照してください。

Customer Engagement アプリと財務と運用アプリの両方にデータを保持しており、Customer Engagement アプリで既存のデータをブートストラップしています。 現在データが配置されていない場合は、初期化実行でマスタ ソースを指定して、すべての差異がターゲットに適用されるようにすることができますか?

ブートストラップが完了したら、差異を適用してマスタを選択するように、初期同期の設定を構成することができます。 ブートストラップの詳細については、社内データを含むブートストラップに関するよく寄せられる質問 を参照してください。 初期同期の詳細については、テーブル マップの二重書き込みの有効化 を参照してください。

二重書き込みの管理

環境間でテーブル マップを移動するにはどうすればよいですか? テーブル マップではバージョン管理がサポートされていますか?

マップをエクスポートして、別の環境にインポートすることができます。 Azure DevOps を使用してプロセスを自動化することができます。 マッピングはソリューションに対応しているコンポーネントなので、二重書き込みマッピングに対してバージョン管理を行うことができます。 詳細については、テーブル マップを更新し、ソリューションとして他の環境にエクスポートする を参照してください。

二重書き込みマップをフィルタリングするための例とパターンはどこにありますか?

基本的なフィルタ処理の例については、データのフィルター処理 を参照してください。

Dataverse での詳細な例については、結果のフィルター を参照してください。 二重書き込みソースフィルターでは、ネストしたルックアップはサポートされません。 テーブル列に対して直接、標準のフィルタ演算子のみがサポートされています。

財務と運用のフィルターの詳細については、クエリ範囲での式の使用、および高度なフィルター処理とクエリ構文を参照してください。

二重書き込みライブ同期では、アプリケーション間に緊密な結合が導入されます。 1 つの側に障害が発生した場合はどうなりますか? 他方の側でも障害が発生するでしょうか?

統合がライブ同期モードの場合、いずれかのアプリで同期が失敗すると、他のアプリも失敗し、ユーザーにエラーが表示されます。 統合が一時停止すると、変更がステージングされます。 その後、ターゲット システムが起動して実行されるときに、これらが書き込まれます。 統合を自動的に一時停止する方法の詳細については、アラート通知を参照してください。

ライブ同期が一時停止後に再開された場合、変更の順序に従いますか? たとえば、財務と運用アプリの名前列が NameA から NameB、次いで NameC に変更された場合、Customer Engagement のデータは NameA から NameB、次いで NameC に変更されますか? それとも、NameA から NameC に直接変更されますか?

統合は、変更の順序を完全に反映します。 この例では、Customer Engagement アプリのデータは、NameA から NameB に、次いで、NameC に変更されます。

PROD から STAGE への財務と運用データベースの転送をどのように処理したらよいですか? 二重書き込みはどんな影響がありますか? 転送後、システムの同期は解除されますが、同期は自動的に行われますか?

リンクされた各環境のペア (財務と運用環境と Dataverse 環境) は 1 つのユニットとして扱われ、それに応じて更新される必要があります。 たとえば、運用環境からサンドボックスを更新する場合、財務と運用アプリのサンドボックス環境と Dataverse のサンドボックス環境の両方を、それに対応する運用環境から更新する必要があります。 二重書き込みがターゲット環境で既に使用されている場合は、それらの環境のリンクを解除する必要があります。 ターゲット環境でデータを更新した後、次のテーブルをクリーンアップする必要があります:

  • 財務と運用アプリ テーブル: DualWriteProjectConfigurationDualWriteProjectFieldConfigurationBusinessEventsDefinition
  • Dataverse テーブル: DualwriteRuntimeConfiguration

環境を再びリンクし、手動でマップを再有効化する必要があります。

リアルタイム統合が必要なので、一部のテーブルまたはシナリオをデータ インテグレーターから二重書き込みに移動したいと考えています。 移行の方法と、統合パターンを変更した場合の影響について教えてください。

Prospect to Cash を二重書き込みに移行する方法の詳細については、データ インテグレーターから二重書き込みへのデータの移行 を参照してください。 一般に、移行中に変更される可能性があるものを 3 つ挙げておきます。

  • データ インテグレーターから二重書き込みへのマップの手動移行
  • 高度なクエリ機能がないため、テーブルを変更
  • 会社のストライピングなどの新しい概念に適合するためのデータ移行

財務と運用データ テーブルでは、二重書き込みを使用して Dataverse にフローするバインドされない列を開発することはできますか?

はい。 計算列と仮想列の両方を使用できます。 ただし、読み取りと書き込みに必要な X++ ロジックを使用して、パフォーマンスのオーバーヘッドを監視する必要があります。 同じトランザクション内でのラウンド トリップは許可されません。 したがって、Dataverse を起点とするトランザクションでは、仮想列を使用して X++ で値を変換または計算し、同じトランザクションで Dataverse に計算値を返すことはできません。 これは二重書き込みの使用用途としては有効ではありませんし、サポートされていません。

Dataverse オフライン アプリを使用して、再接続後にデータを同期できない場合はどうなりますか? この状況により、Dataverse 環境と財務と運用環境との間で状態が矛盾することになりますか?

電話用 Dynamics 365 アプリ、または Field Service Mobile アプリ をオフライン モードで使用すると、Dataverse データをオフラインで操作できます。 両方のアプリで、データはオフラインで保存され、お客様の裁量で、サーバーとの同期を行うことができます。 オフライン データとサーバーの同期中にエラーが発生し、他の環境が失敗しているために更新ができない場合、データ同期は失敗し、Dataverse は更新されません。 統合が一時停止したときに、同期を再度実行して、サーバーに更新データを保存することができます。 これらの変更はステージングされ、マッピングが再度実行されるときに財務と運用環境に同期されます。 詳細については、Power Apps Mobile でモデル駆動型アプリおよびキャンバス アプリを実行するを参照してください。

アプリ間の概念のマッピング

番号順序はどのように処理されますか? たとえば、顧客 ID 番号は財務と運用アプリで自動的に生成されますが、Customer Engagement アプリでは手動で追加されています。

財務と運用アプリと Customer Engagement アプリの番号順序は関連付けられていません。 複数のマスター テーブルが含まれるシナリオでは、別々の番号順序の形式を設計するか、各アプリケーションの範囲を定める必要があります。 次にいくつか例を挙げます。

  • 財務と運用アプリで、F0001、F0002、F0003 を使用します。 Customer Engagement アプリでは、C0001、C0002、C0003 を使用します。
  • 財務と運用アプリで、US0001 から US4999 を使用します。 Customer Engagement アプリでは、US5000 から US9999 までを使用します。

テーブルが単一のシステムで作成された場合は、ソース アプリに対してのみ番号順序を設定します。 詳細については、自動付番列を参照してください。

Customer Engagement アプリの会社固有のテーブルを財務と運用アプリのグローバル テーブルに、または Customer Engagement アプリのグローバル テーブルを財務と運用アプリの会社固有のテーブルにマップすることはできますか?

二重書き込みでは、会社間のテーブル、または会社固有のテーブルのみ、両側からのマッピングがサポートされます。

どのように Dataverse の会社固有のテーブルを作成しますか?

Dataverse の会社固有のカスタム テーブルを作成するには、カスタム テーブルと標準の会社テーブルとの間に多対一 (N:1) の関係を追加します。 また、テーブル キーの一部として会社の外部キーを含める必要があります。 詳細については、Dataverse の企業概念 を参照してください。

テーブル マップの二重書き込みを有効にするには、Dataverse で代替キーを定義する必要があります。 Dataverse の代替キーの値は、財務と運用アプリで定義されているキーと一致する必要があります。 詳細については、テーブルをリンクするための基準 を参照してください。

デュアル書き込みを使用している間に、財務と運用アプリの顧客関与アプリケーションと当事者レコードに勘定をマージできますか?

いいえ、財務と運用アプリと顧客エンゲージメントアプリの融合機能の間にパリティはありません。 その結果、デュアル書き込みマッピングがテーブルに存在する場合は、次の操作を行います:

  • Customer Engagement アプリで勘定をマージしても実行されません。
  • 財務と運用アプリで当事者レコードをマージすると、データが不一致となる場合があります。

テーブルの使用方法に関するベスト プラクティスについてのドキュメントがありますか? 顧客 V2、顧客 V3、または顧客の詳細を使用する必要がありますか? これらのテーブルの違いは何ですか、またそれぞれのユース ケースはどのようなものですか?

可能であれば、顧客や仕入先の統合などの一般的なシナリオをカバーしている標準のシナリオを使用してください。