Мы видим проблему с нашей средой разработки CRM, которую мы не можем исправить.
Чтобы воссоздать, я могу создать новый процесс (рабочий процесс) для любой сущности, например Opportunity.Затем я вставляю фильтр в поле, которое допускает несколько значений, например, «Причина состояния», и выбирает 2 или более элементов (например, «Выиграл / Выполняется»).При нажатии кнопки «Сохранить / Закрыть» выдается сообщение об ошибке
«Этот процесс не может быть создан, обновлен или активирован, поскольку он был создан вне веб-приложения Microsoft Dynamics CRM. Ваша организация не разрешает этот тип процесса."
В файле сведений об ошибке содержится следующая информация:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: This workflow cannot be created, updated or published because it was created outside the Microsoft Dynamics CRM Web application. Your organization does not allow this type of workflow.Detail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorCode>-2147200960</ErrorCode>
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<KeyValuePairOfstringanyType>
<d2p1:key>CallStack</d2p1:key>
<d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string"> at Microsoft.Crm.Extensibility.VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)
at Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, Boolean traceRequest, OrganizationContext context, Boolean returnResponse)
at Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType)
at Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType)</d2p1:value>
</KeyValuePairOfstringanyType>
</ErrorDetails>
<Message>This workflow cannot be created, updated or published because it was created outside the Microsoft Dynamics CRM Web application. Your organization does not allow this type of workflow.</Message>
<Timestamp>2018-06-05T11:49:06.9917786Z</Timestamp>
<InnerFault i:nil="true" />
<TraceText i:nil="true" />
</OrganizationServiceFault>
Если я пытаюсь открыть существующий рабочий процесс, имеющий критерии, в которых в выражении Equals используется более одного значения, я получаюследующая ошибка:
Error generating UiData
[KeyNotFoundException: The given key was not present in the dictionary.]
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadEvaluateCondition(EvaluateCondition activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadExpression(Collection`1 activities, Type endActivityType, Boolean customActivity, Int32& activityIndex)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadBranchStep(StepBase parentStep, Collection`1 sequenceActivities, Int32& activityIndex)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadConditionStep(Boolean wait, ConditionSequence sequence)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadCompositeStep(String stepId, String description, Activity activity, Collection`1 variables)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.ReadSingleStep(Activity activity)
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateUIData()
[CrmException: Error generating UiData]
at Microsoft.Crm.Workflow.ObjectModel.UIDataGenerator.GenerateUIData()
at Microsoft.Crm.Application.Platform.WorkflowLibrary.WorkflowAdapter.CreateWorkflowObjectModel(Guid workflowEntityId, Boolean useSystemUserContext)
at Microsoft.Crm.Web.Sfa.WorkflowDetailPage.GetWorkflowStep()
at Microsoft.Crm.Web.Sfa.WorkflowDetailPage.ConfigureForm()
at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
at Microsoft.Crm.Application.Controls.PageManager.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
[HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown.]
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)
Мы попытались перезагрузить сервер, перезапустить IIS, перезапустить 5 служб CRM, работающих на сервере, но все безрезультатно.
Я могу сменить оператора на «Не равно» и выбрать более одного элемента без каких-либо проблем.Проблема возникает только в том случае, если для оператора установлено значение «Равно» и выбрано более одного элемента.
Это относится ко всем организациям на сервере, включая установку Vanilla, которая не имеет настроек.Что бы это ни делало, похоже, это на стороне сервера
Потратил некоторое время на поиски чего-либо, но боролся.