2

別のテナントからインポートしたアカウントエンティティを公開しようとしていますが、トレースログに次のメッセージが表示されます。

エラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
エラーメッセージ:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
ソースファイル:利用できません
行番号:利用できません
リクエストURL:http://crm1.blablabl.com/tenant/AppWebServices/SystemCustomization.asmx
スタックトレース情報:[NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。]
   Microsoft.Crm.ObjectModel.OrganizationUIService.LabelLoaderAllLanguages.LoadMetadataLabel(Int32 entityType、String attributeName、ExecutionContext context)で
   Microsoft.Crm.ObjectModel.OrganizationUIService.LabelLoader.LoadCellLabel(Guid cellObjectId、String cellObjectColumnName、Int32 objectType、String attributeName、ExecutionContext context)で
   Microsoft.Crm.ObjectModel.OrganizationUIService.InsertFormLabels(IBusinessEntityエンティティ、ILabelLoader labelLoader、ExecutionContextコンテキスト)で
   Microsoft.Crm.ObjectModel.OrganizationUIService.RetrieveMultipleWithAllLanguages(EntityExpression entityExpression、ExecutionContext context)で
   Microsoft.Crm.Metadata.OrganizationUIHelper.RetrieveInProductionHelper(Int32 objectTypeCode、ExecutionContext context)で
   Microsoft.Crm.Metadata.UsageHelper.CheckForms(Guid attributeId、DynamicMetadataCache mdCache、ExecutionContext context)で
   Microsoft.Crm.Metadata.UsageHelper.GetAttributeUsageInfo(Guid attributeId、Guid RelationshipId、DynamicMetadataCache mdCache、ExecutionContext context)で
   Microsoft.Crm.Metadata.UsageHelper.GetEntityUsageInfo(Guid entityId、DynamicMetadataCache mdCache、ExecutionContext context)で
   Microsoft.Crm.Metadata.EntityService.GetUsageInfo(Guid entityId、ExecutionContext context)で
   Microsoft.Crm.Metadata.EntityService.GetUsageInfo(Guid entityId)で
   Microsoft.Crm.Application.WebServices.SystemCustomization.EntityDelete.Execute(IUser user、Guid entityId)で
   Microsoft.Crm.Application.WebServices.SystemCustomization.SystemCustomization.DeleteEntity(Guid entityId)で
4

1 に答える 1

3

私自身の解決策を考え出しました:

アカウントコードのエンティティタイプは1です。したがって、CRMデータベースで次のクエリを実行すると、次のようになります。

SELECT  * FROM [MYTENANT_MSCRM].[dbo].[OrganizationUIBase] where [ObjectTypeCode] = 1

公開済みおよび未公開のフォーム定義を表す2つの行が表示されます。

これらのフォームのいずれかに問題があります(はい、公開されたフォームに問題があり、有効な新しいフォームを公開できなくなる可能性があります)。あなたがする必要があるFormXmlのは、次の各行のフィールドを調べることです。

  • 存在しないフィールドを持つセル
  • もはや存在しない関係を持つセル

除去のプロセスを試すこともできます。一度に1つのセルを削除し、両方のレコードを同じで更新して、FormXML再度公開してみてください。

少し時間がかかる場合がありますが、これで問題は解決します。

于 2012-10-12T15:37:36.010 に答える