Не удается добавить связанные объекты в CRM 3.0 - PullRequest
2 голосов
/ 08 июня 2011

История до сих пор:

  • Пару недель назад поле полностью исчезло из таблицы AccountExtensionBase, но осталось в представлениях Account и FilteredAccount. Это привело к тому, что форма «Основная информация» в самой CRM (которая извлекается из этой таблицы) перестала работать полностью.

  • Чтобы исправить вышесказанное, я вручную удалил указанное поле из определений указанных видов и отредактировал форму «Основная информация», чтобы больше не ссылаться на отсутствующее поле.

То есть осталось в более-менее рабочем состоянии. Единственное, что по-прежнему не работает - это добавление связанных сущностей из уже открытой формы Main Info. При попытке выдает исключение 0x80044150. Узнав об этом, я вручную удалил поле из базы данных METABASE и вручную удалил все ссылки на него в таблице OrganizationUIBase. Ничего такого. CRM не позволит мне просто воссоздать поле, и я также не могу убедить его в том, что он действительно записывает в журнал трассировки, чтобы я мог получить больше информации о том, что происходит. Я знаю, что иногда это происходит, когда вы превышаете предел опций 2155 для полей списка выбора внутри сущности, но я не думаю, что это так, потому что первое, что я попробовал, когда проявилась первоначальная проблема, было удалить два полных поля списка выбора, которые были больше не нужен, и это явно не помогло.

Так что есть идеи о том, что может быть причиной этого, или что я могу сделать, чтобы это исправить, или даже каким может быть следующий возможный шаг? Я здесь немного тупой.

Редактировать: запись журнала трассировки заработала ...

at ErrorInformation.LogError () at ErrorInformation..ctor (исключение исключения, Uri requestUrl) в MainApplication.Application_Error (Отправитель объекта, EventArgs e) в EventHandler.Invoke (Отправитель объекта, EventArgs e) в HttpApplication.RaiseOnError () в HttpApplication.RecordError (ошибка исключения) в HttpApplication.ResumeSteps (ошибка исключения) в HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest (контекст HttpContext, AsyncCallback cb, Object extraData) в HttpRuntime.ProcessRequestInternal (HttpWorkerRequest wr) в HttpRuntime.ProcessRequest (HttpWorkerRequest wr) at ISAPIRuntime.ProcessRequest (IntPtr ecb, Int32 iWRType)

> Отчет об ошибке платформы MSCRM:

Ошибка: возникла исключительная ситуация типа System.Web.HttpUnhandledException. Номер ошибки: 0x80044150 Сообщение об ошибке: исключение из HRESULT: 0x80044150. Сведения об ошибке: исключение из HRESULT: 0x80044150. Исходный файл: не доступно Номер строки: не доступно URL запроса: http://crmserv/userdefined/edit.aspx?_CreateFromType=1&_CreateFromId={94892C13-A23E-DB11-BBF1-0014221C4264}&etc=10059 Информация трассировки стека: было сгенерировано исключение типа System.Web.HttpUnhandledException. в System.Web.UI.Page.HandleError (исключение e) в System.Web.UI.Page.ProcessRequestMain () в System.Web.UI.Page.ProcessRequest () в System.Web.UI.Page.ProcessRequest (контекст HttpContext) в System.Web.CallHandlerExecutionStep.System.Web.HttpApplication + IExecutionStep.Execute () в System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логический и завершен синхронно) в Microsoft.Crm.Platform.ComProxy.CRMCustomizationClass.Transform (CUserAuth & Caller, CObjectName & SourceObject, Int32 TargetObjectType, Int32 TargetFieldType) в Microsoft.Crm.Application.Platform.Entity.CreateFrom (Int32 sourceEntityType, String sourceEntityId, TransformType transformType) в Microsoft.Crm.Application.Forms.EndUserForm.PopulateDefaultDataIfAvailable () в Microsoft.Crm.Application.Forms.EndUserForm.RetrieveParams () в Microsoft.Crm.Application.Forms.EndUserForm.Initialize (Entity entity) в Microsoft.Crm.Application.Forms.CustomizableForm.Execute (Entity entity, String formId, String formType) в Microsoft.Crm.Application.Forms.CustomizableForm.Execute (Entity entity) в Microsoft.Crm.Application.Pages.UserDefined.DetailPage.ConfigureForm () в Microsoft.Crm.Application.Controls.AppPage.OnPreRender (EventArgs e) в System.Web.UI.Control.PreRenderRecursiveInternal () в System.Web.UI.Page.ProcessRequestMain ()Тип: Платформа


На самом деле это может быть более полезное сообщение об ошибке. Вышеупомянутое обнаружилось дважды, но этот получает множество очков каждую минуту:

в User.GetPrivilege (String priv, глубина PRIVILEGE_DEPTH) в User.GetPrivilege (Int32 objectType, PrivilegeId privilegeId) в AppMenuBar.BuildNewObjectMenu (меню menuObject, логическое buildAsSubMenu) в AppFormMenuBar.BuildFileMenu (String formName) в AppFormMenuBar.Execute (PrivilegeCheck privilegeCheck, String formName) в AppFormMenuBar.Execute (PrivilegeCheck privilegeCheck) в AccountDetailPage.ConfigureMenus () на AppPage.OnPreRender (EventArgs e) в Control.PreRenderRecursiveInternal () в Page.ProcessRequestMain () в Page.ProcessRequest () в Page.ProcessRequest (контекст HttpContext) в CallHandlerExecutionStep.System.Web.HttpApplication + IExecutionStep.Execute () в HttpApplication.ExecuteStep (шаг IExecutionStep, логическое и завершено синхронно) в HttpApplication.ResumeSteps (ошибка исключения) в HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest (контекст HttpContext, AsyncCallback cb, Object extraData) в HttpRuntime.ProcessRequestInternal (HttpWorkerRequest wr) в HttpRuntime.ProcessRequest (HttpWorkerRequest wr) at ISAPIRuntime.ProcessRequest (IntPtr ecb, Int32 iWRType)

Сбой проверки привилегий для пользователя:, пользователь не имеет привилегии: {9f2b415e-8a0c-430c-bdd1-ad2052b86b02}

В последней строке отображается множество разных пользователей. Что-нибудь?

1 Ответ

0 голосов
/ 08 июня 2011

Похоже, что вы делаете неподдерживаемые прямые модификации SQL в базе данных.Если это является причиной ошибок, вы, вероятно, в беде.Вы говорите, что трассировка не включается, вы добавили следующие ключи в реестр и выполнили сброс IIS?- http://support.microsoft.com/kb/907490

РЕДАКТИРОВАТЬ:

Можете ли вы выполнить следующий запрос, заменив имя базы данных именем из вашего экземпляра, и дайте мне знать, если появится привилегия.Вероятно, вам не хватает этой привилегии для роли безопасности пользователей, для которой она выдает эту ошибку.

    SELECT [PrivilegeId]
      ,[Name]
      ,[CanBeLocal]
      ,[CanBeDeep]
      ,[VersionNumber]
      ,[CanBeGlobal]
      ,[CanBeBasic]
      ,[AccessRight]
      ,[IsDisabledWhenIntegrated]
  FROM [MyCrmDatabase_MSCRM].[dbo].[PrivilegeBase]
  WHERE privilegeid='9f2b415e-8a0c-430c-bdd1-ad2052b86b02'
...