AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.09.2010, 20:14   #1  
Dicora is offline
Dicora
Участник
 
109 / 15 (1) ++
Регистрация: 12.07.2010
Странное исключение при создании (назначении) нового действия в CRM 4.0
Здравствуйте, пишу по такому вопросу, намаялся с этой ошибкой уже - ничего не получается.

Вот собственно сама ошибка, возникает она при создании любого действия (Звонок, Факс, Задача и т.д.) как напрямую из рабочей области так из объекта (Контакт, Интерес, Организация и т.д.) т.е. каждый раз при создании действия.



А вот лог этой ошибки из Trace:

X++:
[2010-09-14 19:32:57.0] Process: w3wp |Organization:2768dbac-48b7-4ee6-a3cc-de1d36049146 |Thread:    7 |Category: Exception |User: f7345b57-872e-4dda-ad61-c54343120c7a |Level: Error | CrmException..ctor
        at CrmException..ctor(String message, Int32 errorCode)
        at CrmSecurityException..ctor(String message, Int32 errorCode)
        at SecurityLibrary.CheckPrivilege(Guid user, Guid privilege, ExecutionContext context)
        at DefaultSecuritySqlGenerator.CheckPrivilege(Guid user, Guid organizationId, EntityMetadata entityMetadata, ExecutionContext context)
        at DefaultSecuritySqlGenerator.CreateSecuritySqlForRetrieveMultipleHelper(Guid user, EntityMetadata entityMetadata, FilterExpression criteriaNodeForSecurityFilter, ExecutionContext context, Boolean noLock)
        at DefaultSecuritySqlGenerator.CreateSecuritySqlForRetrieveMultiple(Guid user, EntityMetadata entityMetadata, FilterExpression criteriaNodeForSecurityFilter, ExecutionContext context, Boolean noLock)
        at SecurityExtension.CreateSecuritySql(Guid user, EntityMetadata entityMetadata, FilterExpression criteriaNodeForSecurityFilter, ExecutionContext context, Boolean noLock)
        at SecurityExtension.AddSecuritySql(Guid user, EntityExpression entityExpression, ExecutionContext context)
        at SecurityExtension.PreRetrieveMultipleHandler(ExtensionEventArgs e)
        at SecurityExtension.PreRetrieveMultipleHandler(Object sender, ExtensionEventArgs e)
        at PreRetrieveMultipleEventHandler.Invoke(Object sender, ExtensionEventArgs e)
        at BusinessProcessObject.RetrieveMultiple(EntityExpression entityExpression, ExecutionContext context)
        at RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
        at RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
        at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
        at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
        at LogicalMethodInfo.Invoke(Object target, Object[] values)
        at InternalOperationPlugin.Execute(IPluginExecutionContext context)
        at PluginStep.Execute(PipelineExecutionContext context)
        at Pipeline.Execute(PipelineExecutionContext context)
        at MessageProcessor.Execute(PipelineExecutionContext context)
        at InternalMessageDispatcher.Execute(PipelineExecutionContext context)
        at ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
        at RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
        at RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
        at CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
        at InProcessCrmService.Execute(Object request)
        at PlatformCommand.ExecuteInternal()
        at RetrieveMultipleCommand.Execute()
        at Queue.RetrieveQueueByObject(Guid entityId, EntityType entityType, QueryExpression query)
        at Queue.RetrieveQueueByObject(Guid entityId, EntityType entityType, String[] columns)
        at AssignRouteOnCreateUpdateListener.RouteEntity(Entity entity, LookupValue owner)
        at AssignRouteOnCreateUpdateListener.AssignRouteEntity(Entity entity, LookupValue owner)
        at AssignRouteOnCreateUpdateListener.HandlePostEvent(PlatformCommand command, Response response, Boolean wasForUpdate)
        at CommunicationListener.HandlePostEvent(PlatformCommand command, Response response)
        at PlatformCommand.ExecuteInternal()
        at UpdateCommand.Execute()
        at EntityProxy.Update(Boolean performDuplicateCheck)
        at EntityProxy.Update()
        at AppForm.HandleFormEventAssign(Boolean gridRefreshCallbackAdded)
        at AppForm.RaiseDataEvent(FormEventId eventId)
        at EndUserForm.Initialize(Entity entity)
        at CustomizableForm.Execute(Entity entity, String formType)
        at CustomizableForm.Execute(Entity entity)
        at BasicActivityPage.ConfigureForm()
        at FaxDetailPage.ConfigureForm()
        at AppUIPage.OnPreRender(EventArgs e)
        at Control.PreRenderRecursiveInternal()
        at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
        at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
        at Page.ProcessRequest()
        at Page.ProcessRequestWithNoAssert(HttpContext context)
        at Page.ProcessRequest(HttpContext context)
        at korusconsulting_activities_fax_edit_aspx.ProcessRequest(HttpContext context)  c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\fcc31ff6\e77f4ed8\App_Web_mu_dzo7_.0.cs
        at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
        at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
        at ApplicationStepManager.ResumeSteps(Exception error)
        at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
        at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
        at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
        at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>Crm Exception: Message: SecLib::CrmCheckPrivilege failed. Returned hr = -2147220960 on UserId: a0cb17c4-ad26-df11-9050-003048be732d and PrivilegeId: b140e729-dfeb-4ba1-a33f-39ff830bac90, ErrorCode: -2147220960
[2010-09-14 19:32:57.0] Process: w3wp |Organization:2768dbac-48b7-4ee6-a3cc-de1d36049146 |Thread:    7 |Category: Platform |User: f7345b57-872e-4dda-ad61-c54343120c7a |Level: Error | MessageProcessor.Execute
>MessageProcessor fail to process message 'RetrieveMultiple' for 'queue'.
[2010-09-14 19:32:57.0] Process: w3wp |Organization:2768dbac-48b7-4ee6-a3cc-de1d36049146 |Thread:    7 |Category: Application |User: 00000000-0000-0000-0000-000000000000 |Level: Error | ErrorInformation.LogError
>MSCRM Error Report:
--------------------------------------------------------------------------------------------------------
Error:    .

Error Number: 0x80040220

Error Message: SecLib::CrmCheckPrivilege failed. Returned hr = -2147220960 on UserId: a0cb17c4-ad26-df11-9050-003048be732d and PrivilegeId: b140e729-dfeb-4ba1-a33f-39ff830bac90

Error Details: SecLib::CrmCheckPrivilege failed. Returned hr = -2147220960 on UserId: a0cb17c4-ad26-df11-9050-003048be732d and PrivilegeId: b140e729-dfeb-4ba1-a33f-39ff830bac90

Source File: Not available

Line Number: Not available

Request URL: http://crmsrv02:5555/OrgName/activities/fax/edit.aspx?id={D2E8B6A7-0FC0-DF11-9EE4-003048BE732D}

Stack Trace Info: [CrmSecurityException: SecLib::CrmCheckPrivilege failed. Returned hr = -2147220960 on UserId: a0cb17c4-ad26-df11-9050-003048be732d and PrivilegeId: b140e729-dfeb-4ba1-a33f-39ff830bac90]
    Microsoft.Crm.BusinessEntities.SecurityLibrary.CheckPrivilege(Guid user, Guid privilege, ExecutionContext context)
    Microsoft.Crm.BusinessEntities.SecurityExtension.DefaultSecuritySqlGenerator.CheckPrivilege(Guid user, Guid organizationId, EntityMetadata entityMetadata, ExecutionContext context)
    Microsoft.Crm.BusinessEntities.SecurityExtension.DefaultSecuritySqlGenerator.CreateSecuritySqlForRetrieveMultipleHelper(Guid user, EntityMetadata entityMetadata, FilterExpression criteriaNodeForSecurityFilter, ExecutionContext context, Boolean noLock)
    Microsoft.Crm.BusinessEntities.SecurityExtension.DefaultSecuritySqlGenerator.CreateSecuritySqlForRetrieveMultiple(Guid user, EntityMetadata entityMetadata, FilterExpression criteriaNodeForSecurityFilter, ExecutionContext context, Boolean noLock)
    Microsoft.Crm.BusinessEntities.SecurityExtension.CreateSecuritySql(Guid user, EntityMetadata entityMetadata, FilterExpression criteriaNodeForSecurityFilter, ExecutionContext context, Boolean noLock)
    Microsoft.Crm.BusinessEntities.SecurityExtension.AddSecuritySql(Guid user, EntityExpression entityExpression, ExecutionContext context)
    Microsoft.Crm.BusinessEntities.SecurityExtension.PreRetrieveMultipleHandler(ExtensionEventArgs e)
    Microsoft.Crm.BusinessEntities.SecurityExtension.PreRetrieveMultipleHandler(Object sender, ExtensionEventArgs e)
    Microsoft.Crm.BusinessEntities.BusinessProcessObject.PreRetrieveMultipleEventHandler.Invoke(Object sender, ExtensionEventArgs e)
    Microsoft.Crm.BusinessEntities.BusinessProcessObject.RetrieveMultiple(EntityExpression entityExpression, ExecutionContext context)

[TargetInvocationException:    .]
    System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
    System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
    System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
    System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
    Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext context)
    Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context)
    Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext context)
    Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext context)
    Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext context)
    Microsoft.Crm.Extensibility.ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
    Microsoft.Crm.Sdk.RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
    Microsoft.Crm.Sdk.RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
    Microsoft.Crm.Sdk.CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
    Microsoft.Crm.Sdk.InProcessCrmService.Execute(Object request)
    Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.ExecuteInternal()
    Microsoft.Crm.Application.Platform.ServiceCommands.RetrieveMultipleCommand.Execute()
    Microsoft.Crm.Application.Platform.Queue.RetrieveQueueByObject(Guid entityId, EntityType entityType, QueryExpression query)
    Microsoft.Crm.Application.Platform.Queue.RetrieveQueueByObject(Guid entityId, EntityType entityType, String[] columns)
    Microsoft.Crm.Application.Platform.CommunicationListeners.AssignRouteOnCreateUpdateListener.RouteEntity(Entity entity, LookupValue owner)
    Microsoft.Crm.Application.Platform.CommunicationListeners.AssignRouteOnCreateUpdateListener.AssignRouteEntity(Entity entity, LookupValue owner)
    Microsoft.Crm.Application.Platform.CommunicationListeners.AssignRouteOnCreateUpdateListener.HandlePostEvent(PlatformCommand command, Response response, Boolean wasForUpdate)
    Microsoft.Crm.Application.Platform.CommunicationListeners.CommunicationListener.HandlePostEvent(PlatformCommand command, Response response)
    Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.ExecuteInternal()
    Microsoft.Crm.Application.Platform.ServiceCommands.UpdateCommand.Execute()
    Microsoft.Crm.Application.Platform.EntityProxy.Update(Boolean performDuplicateCheck)
    Microsoft.Crm.Application.Platform.EntityProxy.Update()
    Microsoft.Crm.Application.Forms.AppForm.HandleFormEventAssign(Boolean gridRefreshCallbackAdded)
    Microsoft.Crm.Application.Forms.AppForm.RaiseDataEvent(FormEventId eventId)
Самое интересно что в интернете ПоГуглив эту ошибку нахожу не очень много информации по этой теме: - много мусора, но здесь есть правильная схема отладки:
http://mmcrm.ru/?p=1303

пошел по первому пути через SQL Management Studio получил привилегию с которой возникала ошибка.

Зашел в настройки ролей и поставил зеленый кружочек на чтение "Списки ожидания".

Оказывается есть такой баг, что если убрать чтение объекта Queue (Списки ожидания), то пользователи не смогу создавать задачи и назначать их другим пользователям, даже если права на назначение, создание, запись, удаление, добавление, добавление к, Общий доступ стоят на уровне "Организация".

В дополнение к функции Назначение в объекте Действия необходимо ставить права на Чтение объекта Списки ожидания.

Я ведь почему этот объект вообще изначально скрыл, т.к. посчитал что ненужная функциональность пользователям ник чему.... теперь придется системным (UNSPPORT-ным методом) из рабочей области убирать "Списки ожидания".

Кто поможет как это сделать??

Заранее спасибо!
Старый 14.09.2010, 20:24   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Зачем ансапорт там, где можно использовать сапортные? Выгрузите и отредактируйте SiteMap системы убрав ненужные области. Очень полезный инструмент для этого.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 14.09.2010, 20:26   #3  
Dicora is offline
Dicora
Участник
 
109 / 15 (1) ++
Регистрация: 12.07.2010
Спасибо!
Теги
действия, назначение, список ожидания, dynamics crm

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM DE LA CREME! CRM 4.0 Disaster Recovery Blog bot Dynamics CRM: Blogs 2 26.02.2016 08:23
Ошибка бизнес-процесса Tarasov E Dynamics CRM: Разработка 9 18.02.2010 14:02
CRM DE LA CREME! Configuring Microsoft Dynamics CRM 4.0 for Internet-facing deployment Blog bot Dynamics CRM: Blogs 0 18.08.2009 11:05
Microsoft Dynamics CRM Team Blog: Building Rich-Client Dashboards for Microsoft Dynamics CRM with Windows Presentation Foundation Blog bot Dynamics CRM: Blogs 1 31.03.2009 13:24
Microsoft Dynamics CRM Team Blog: List Web Part for Microsoft Dynamics CRM 4.0 Deployment Scenarios Blog bot Dynamics CRM: Blogs 0 30.01.2009 22:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:11.