Активация ошибки выброса BPF - атрибут с указанным именем уже существует

Недавно мы обновили Prod до Dev / QA. Разработан новый BPF и развернут в отделе контроля качества, BPF не отображается в форме. Итак, отключил BPF и попытался снова активировать его в QA. Затем он начал выдавать эту ошибку:

Повторяющееся имя поля
Поле с таким именем уже существует. Пожалуйста, введите другое уникальное имя. Если вы обратитесь в службу поддержки, укажите технические подробности.

введите описание изображения здесь

Unhandled exception: 
Exception type: System.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault]
Message: System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> Microsoft.Crm.CrmException: An attribute with the specified name already exists
   at Microsoft.Crm.Dialogs.ActivateDialogPage.ConfigureForm()
   at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
   at Microsoft.Crm.Application.Controls.AppPage.OnPreRender(EventArgs e)
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously): Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #87FE6398Detail: 
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
  <ActivityId>f77551f3-e133-48b1-a271-310baa514e4a</ActivityId>
  <ErrorCode>-2147220970</ErrorCode>
  <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
  <HelpLink i:nil="true" />
  <Message>System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---&gt; Microsoft.Crm.CrmException: An attribute with the specified name already exists
   at Microsoft.Crm.Dialogs.ActivateDialogPage.ConfigureForm()
   at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
   at Microsoft.Crm.Application.Controls.AppPage.OnPreRender(EventArgs e)
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously): Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #87FE6398</Message>
  <Timestamp>2019-09-11T12:55:28.4278413Z</Timestamp>
  <ExceptionRetriable>false</ExceptionRetriable>
  <ExceptionSource i:nil="true" />
  <InnerFault>
    <ActivityId>f77551f3-e133-48b1-a271-310baa514e4a</ActivityId>
    <ErrorCode>-2147192813</ErrorCode>
    <ErrorDetails xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
    <HelpLink i:nil="true" />
    <Message>An attribute with the specified name already exists</Message>
    <Timestamp>2019-09-11T12:55:28.4278413Z</Timestamp>
    <ExceptionRetriable>false</ExceptionRetriable>
    <ExceptionSource i:nil="true" />
    <InnerFault i:nil="true" />
    <OriginalException i:nil="true" />
    <TraceText i:nil="true" />
  </InnerFault>
  <OriginalException i:nil="true" />
  <TraceText i:nil="true" />
</OrganizationServiceFault>

Я убедился, что нет повторяющихся полей (даже отображаемого имени), которые можно без проблем деактивировать / активировать в среде Dev.

Кто-нибудь сталкивался с этой проблемой в прошлом?


person Arun Vinoth    schedule 11.09.2019    source источник
comment
Описание сообщения непонятное. CRM не очень хорошо справляется с основной причиной сбоя для пользователя - это даже по замыслу (не использовать трассировку стека в целях безопасности). В этом случае причина - повторяющееся имя столбца в импортируемой таблице.   -  person Ondrej Svejdar    schedule 12.09.2019


Ответы (1)


Это закончилось ошибкой Microsoft, открыло тикет и решило с их помощью.

Выяснили точное внутреннее исключение Имена столбцов в каждой таблице должны быть уникальными. Имя столбца stageid в таблице iis_projectinspectionsBase указано несколько раз. на панели инструментов разработчика браузера.

введите здесь описание изображения

При анализе поддержки MS было обнаружено, что каким-то образом были созданы атрибуты stageid и traversedpath, но отсутствующий атрибут processid является фоном этой проблемы (по крайней мере, для меня).

Служба поддержки MS и команда разработчиков работали вместе и применяли настройки смягчения в наших средах, чтобы включить / активировать BPF. Теперь это исправлено.

person Arun Vinoth    schedule 16.09.2019