代码之家  ›  专栏  ›  技术社区  ›  EMP

Dynamics CRM错误:“无法更新对象,因为它是只读的”

  •  1
  • EMP  · 技术社区  · 15 年前

    我有一个带有一些奇怪错误的Dynamics CRM 4.0实例。如果我关闭一个案例,然后尝试重新激活它,我就会得到错误。” 无法更新对象,因为它是只读的 “。这是一个简单的内置CRM功能,在其他情况下也可以正常工作。如果我尝试将报价转换为订单,我会得到同样的错误-我相信它正在尝试更新报价,到那时报价已经“关闭”。怎么了?怎么修?

    MSCRM Error Report:
    --------------------------------------------------------------------------------------------------------
    Error: Exception of type 'System.Web.HttpUnhandledException' was thrown.
    
    Error Number: 0x8004022E
    
    Error Message: The object cannot be updated because it is read-only.
    
    Error Details: The object cannot be updated because it is read-only.
    
    Source File: Not available
    
    Line Number: Not available
    
    Request URL: http://jupiter:5555/EN/cs/cases/edit.aspx?id={C75704E2-3B82-DE11-BFAD-00188B2CB446}
    
    Stack Trace Info: [CrmException: The object cannot be updated because it is read-only.]
       at Microsoft.Crm.ObjectModel.IncidentService.Update(IBusinessEntity incident, ExecutionContext context)
    
    [TargetInvocationException: Exception has been thrown by the target of an invocation.]
       at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
       at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       at System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
       at Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext context)
       at Microsoft.Crm.Extensibility.PluginStep.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.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
       at Microsoft.Crm.Sdk.RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
       at Microsoft.Crm.Sdk.RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
       at Microsoft.Crm.Sdk.CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
       at Microsoft.Crm.Sdk.InProcessCrmService.Execute(Object request)
       at Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.ExecuteInternal()
       at Microsoft.Crm.Application.Platform.ServiceCommands.UpdateCommand.Execute()
       at Microsoft.Crm.Application.Platform.EntityProxy.Update(Boolean performDuplicateCheck)
       at Microsoft.Crm.Application.Platform.EntityProxy.Update()
       at Microsoft.Crm.Web.CS.CaseDetailPage.Open(Object sender, DataEventArgs e)
       at Microsoft.Crm.Application.Forms.DataEventProcessor.Raise(FormEventId eventId, FormState state, IUser user, String objectId, Entity entity)
       at Microsoft.Crm.Application.Forms.AppForm.RaiseDataEvent(FormEventId eventId)
       at Microsoft.Crm.Application.Forms.EndUserForm.Initialize(Entity entity)
       at Microsoft.Crm.Application.Forms.CustomizableForm.Execute(Entity entity, String formType)
       at Microsoft.Crm.Application.Forms.CustomizableForm.Execute(Entity entity)
       at Microsoft.Crm.Web.CS.CaseDetailPage.ConfigureForm()
       at Microsoft.Crm.Application.Controls.AppUIPage.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.ProcessRequestWithNoAssert(HttpContext context)
       at System.Web.UI.Page.ProcessRequest(HttpContext context)
       at ASP.en_cs_cases_edit_aspx.ProcessRequest(HttpContext context)
       at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    
    1 回复  |  直到 14 年前
        1
  •  2
  •   Polshgiant    15 年前

    尝试禁用您的onload和onsave代码,看看这是否导致了任何问题。要快速和临时禁用事件,请打开用于粘贴OnLoad/OnSave代码的对话框,然后取消选中“启用事件”。然后保存表单并发布实体。错误是否仍然发生?