2

我正在尝试发布从另一个租户导入的Account实体,并在跟踪日志中收到以下消息:

错误:对象引用未设置为对象的实例。
错误消息:对象引用未设置为对象的实例。
源文件:不可用
行号:不可用
请求网址:http://crm1.blablabl.com/tenant/AppWebServices/SystemCustomization.asmx
堆栈跟踪信息:[NullReferenceException:对象引用未设置为对象的实例。]
   在 Microsoft.Crm.ObjectModel.OrganizationUIService.LabelLoaderAllLanguages.LoadMetadataLabel(Int32 entityType,字符串属性名,ExecutionContext 上下文)
   在 Microsoft.Crm.ObjectModel.OrganizationUIService.LabelLoader.LoadCellLabel(Guid cellObjectId、String cellObjectColumnName、Int32 objectType、String attributeName、ExecutionContext 上下文)
   在 Microsoft.Crm.ObjectModel.OrganizationUIService.InsertFormLabels(IBusinessEntity 实体,ILabelLoader labelLoader,ExecutionContext 上下文)
   在 Microsoft.Crm.ObjectModel.OrganizationUIService.RetrieveMultipleWithAllLanguages(EntityExpression entityExpression,ExecutionContext 上下文)
   在 Microsoft.Crm.Metadata.OrganizationUIHelper.RetrieveInProductionHelper(Int32 objectTypeCode,ExecutionContext 上下文)
   在 Microsoft.Crm.Metadata.UsageHelper.CheckForms(Guid attributeId、DynamicMetadataCache mdCache、ExecutionContext 上下文)
   在 Microsoft.Crm.Metadata.UsageHelper.GetAttributeUsageInfo(Guid attributeId、Guid relationshipId、DynamicMetadataCache mdCache、ExecutionContext 上下文)
   在 Microsoft.Crm.Metadata.UsageHelper.GetEntityUsageInfo(Guid entityId、DynamicMetadataCache mdCache、ExecutionContext 上下文)
   在 Microsoft.Crm.Metadata.EntityService.GetUsageInfo(Guid entityId,ExecutionContext 上下文)
   在 Microsoft.Crm.Metadata.EntityService.GetUsageInfo(Guid entityId)
   在 Microsoft.Crm.Application.WebServices.SystemCustomization.EntityDelete.Execute(IUser 用户,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每行中的以下字段:

  • 具有不存在字段的单元格
  • 具有不再存在的关系的单元格

您也可以尝试消除过程。一次删除一个单元格,用相同的 更新两条记录FormXML,然后再次尝试发布。

这可能需要一些时间,但这将解决您的问题。

于 2012-10-12T15:37:36.010 回答