3

マネージド CRM 2011 ソリューションを使用する特定の環境で、インポート エラーが発生します。ソリューションは以前に他の多くの環境にインポートされましたが、特に失敗している環境では次のエラーがスローされています。

Dependency Calculation
role With Id = 9e2d2d9b-645f-409f-b31d-3a9c39fcc340 Does Not Exist

私はこれについて少し混乱しています。ソリューション XML 内を検索しましたが、この特定の GUID 9e2d2d9b-645f-409f-b31d-3a9c39fcc340 への参照を見つけることができませんでした。さまざまなテーブルをさまよっているだけで、SQLでも実際に見つけることはできませんが、おそらくどこを見ればよいのか正確にはわかりません。

ソリューションを複数回インポートしようとしました。必死の努力として、インポートする前に宛先環境のすべてのセキュリティ ロールの名前を変更しようとしましたが、これは役に立ちませんでした。

  1. セキュリティ ロールへのこの参照は、実際に格納されている場所はどこですか? これは私のソリューション内にあるはずのものですか? 既存の CRM 展開ではインポートする必要がありますか?
  2. このソリューションをインポートできるようにするには、どうすれば問題を解決できますか?
4

2 に答える 2

5

これは、問題を修正するために使用したコードです。2 つの異なるスクリプトを実行する必要がありました。スクリプト A は合計 4 回実行する必要がありました。1 回実行し、インポートを試みてから、ログを参照して、問題の原因となっているロールを見つけます (別のロールで別のエラーが発生した場合)。

スクリプト A を実行するにはRoleTemplateId、データベースから有効な を使用する必要があります。ランダムなものを選んだだけです。スクリプト B でそのデータ要素を消去するため、どちらを使用してもかまいません。

すべての役割が修正された後、別のエラー ( が既に役割に関連付けられていることについて不平を言う) が発生し、スクリプト B を実行する必要がありました。これにより、複数の異なる役割から がRoleTemplateId削除され、 に設定されます。RoleTemplateIdNULL

スクリプト A:

insert into RoleBaseIds(RoleId)
values ('WXYZ74FA-7EA3-452B-ACDD-A491E6821234')

insert into RoleBase(RoleId
    ,RoleTemplateId
    ,OrganizationId
    ,Name
    ,BusinessUnitId
    ,CreatedOn
    ,ModifiedOn
    ,CreatedBy
    )
values ('WXYZ74FA-7EA3-452B-ACDD-A491E6821234'
    ,'ABCD89FF-7C35-4D69-9900-999C3F605678'
    ,(select organizationid from Organization)
    ,'ROLE IMPORT FIX'
    ,(select BusinessUnitID from BusinessUnit where ParentBusinessUnitId is null)
    ,GETDATE()
    ,GETDATE()
    ,null       
    )

スクリプト B:

update RoleBase
set RoleTemplateId = NULL
where RoleTemplateID='ABCD89FF-7C35-4D69-9900-999C3F605678'
于 2013-07-19T22:22:16.680 に答える
1

完璧なソリューション、私のために働いた! 私の唯一のコメントは、スクリプト B のエラーです。次のように、指定されたテンプレートのすべてのロールのテンプレート ID をクリアするのではなく、新しく作成された「修正」ロールのテンプレート ID のみをクリアする必要があります。

update RoleBase
set RoleTemplateId = NULL
where RoleID='WXYZ74FA-7EA3-452B-ACDD-A491E6821234'

これを回答へのコメントに喜んで入れたいと思いますが、現時点では十分な担当者がいません。

于 2014-12-10T21:09:11.603 に答える