Dynamics crm 2011 CRM中的Bug?服务预约表';s javascript导致表单保存错误

Dynamics crm 2011 CRM中的Bug?服务预约表';s javascript导致表单保存错误,dynamics-crm-2011,Dynamics Crm 2011,我缩小了范围。。。这看起来像是服务预约表上的一个错误,但想在这里问一下,以防对其他人有意义。。。在普通CRM中重新创建,添加一个javascript文件,并将javascript函数附加到服务的onchange中 要重新创建自己,请将此javascript添加到webresource,然后将该webresource附加到serviceappointment表单和服务的onchange。如果您还没有2项服务,请向您的组织添加2项服务。创建新的服务预约。选择服务A。然后选择服务B。保存表单。您将看到

我缩小了范围。。。这看起来像是服务预约表上的一个错误,但想在这里问一下,以防对其他人有意义。。。在普通CRM中重新创建,添加一个javascript文件,并将javascript函数附加到服务的onchange中

要重新创建自己,请将此javascript添加到webresource,然后将该webresource附加到serviceappointment表单和服务的onchange。如果您还没有2项服务,请向您的组织添加2项服务。创建新的服务预约。选择服务A。然后选择服务B。保存表单。您将看到错误

支持所有javascript,支持自定义该表单。。。一定是CRM的问题,对吧

哦,关键是,这段代码在更新汇总11中有效。在汇总12中不起作用。 (正如他们所说,我通常坚信“”,但这看起来确实像一只虫子。)

编辑:异常/错误详细信息:

例外情况是(从跟踪中):

System.FormatException:Microsoft Dynamics CRM遇到错误。管理员或支持人员的参考号:#1471AD8A:System.FormatException:Guid应包含32位数字和4个破折号(xxxxxxxx-xxxx-xxxx-xxxx-XXXXXXXXXXXXXXXX)。 在System.Guid.GuidResult.SetFailure(ParseFailureKind失败、字符串failureMessageID、对象failureMessageFormatArgument、字符串failureArgumentName、异常innerException) 位于System.Guid.TryParseGuidWithNoStyle(字符串guidString、GuidResult和result) 在System.Guid.TryParseGuid(字符串g、GuidStyles标志、GuidResult和result) at System.Guid..ctor(字符串g) 位于Microsoft.Crm.Application.Platform.AttributeCollection.CreateInityReferenceFromLookupPropertyValue(字符串名称、对象值、IOOrganizationContext上下文) 位于Microsoft.Crm.Application.Platform.AttributeCollection.SetEntityProperty(实体、字符串名称、字符串子属性名称、对象父属性、属性元数据属性元数据、对象值、IOOrganizationContext上下文) 位于Microsoft.Crm.Application.Platform.AttributeCollection.Insert(字符串名称、对象值、布尔throwIfKeyExists) 位于Microsoft.Crm.Application.Platform.EntityProxy.SetLookupValueData(XmlNode) 位于Microsoft.Crm.Application.Platform.EntityProxy.SetData(XmlNode entityElement) 在Microsoft.Crm.Application.Platform.ApplicationEntityCollection.Deserialize(字符串entitiesXml、字符串entityType、IOOrganizationContext上下文) 位于Microsoft.Crm.Application.Platform.EntityProxy.SetData(XmlNode entityElement) 在Microsoft.Crm.Application.Forms.EndUserForm.RetrieveParametersForEventDefault()中 位于Microsoft.Crm.Application.Forms.EndUserForm.Initialize(实体) 在Microsoft.Crm.Application.Forms.CustomizelForm.Execute(实体,FormDescriptor fd)中 在Microsoft.Crm.Application.Components.PageHandler.SchedulableActivityBasePageHandler.ConfigureFormHandler()中 在Microsoft.Crm.Application.Components.PageHandler.ServiceAppointRecordPageHandler.ConfigureFormHandler()中 在Microsoft.Crm.Application.Components.PageHandler.RecordPageHandler.ConfigureFormWrapper()中 位于Microsoft.Crm.Application.Components.Utility.GenericeEventProcessor.RaiseEvent(字符串eventName) 位于Microsoft.Crm.Application.Controls.PageManager.OnPreRender(EventArgs e) 在System.Web.UI.Control.PreRenderCursiveInternal()中 在System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)

根据屏幕截图,向用户显示的错误将嵌入表单本身。。。我以前从未见过这样的情况:

尝试将guid包装在{}中

例如:
var targetFieldEntityId='{610BEA47-7B74-E211-B3EB-78E3B51A6C0}'

这有点像猜测,我是基于这样的假设:如果检索查找的id,guid将用{}包装

Xrm.Page.getAttribute("new_person").getValue()[0] 
{
    id : "{EB661CDD-8E59-E211-8BC6-4C3A83DBD74D}",
    type : "2",
    name : "James Wood",
    onclick : "openlui(new Sys.UI.DomEvent(event))",
    displayClass : "ms-crm-Lookup-Item",
    data : null,
    typename : "contact",
    category : 0,
    ambiguousRecordsXml : null,
    selected : null
    ...
} 

这是一个公认的错误。没有正式的解决时间表。微软正在优先考虑它。他们用UR12破坏了UR11中现有的功能。

编辑以添加错误详细信息。我发现guid解析错误和http请求(crmFormSubmitXml=…)在通过和失败的情况下是相等的。有见地的想法是,表单上的其他字段(使用F12工具检查时)确实有“{}”包装。我试过这个(以及大写和小写),但都没有用。我在微软开了一张票。我将用任何结果更新此线程。这是一个已确认的错误。没有正式的解决时间表。他们似乎破坏了很多这样做的东西。
Xrm.Page.getAttribute("new_person").getValue()[0] 
{
    id : "{EB661CDD-8E59-E211-8BC6-4C3A83DBD74D}",
    type : "2",
    name : "James Wood",
    onclick : "openlui(new Sys.UI.DomEvent(event))",
    displayClass : "ms-crm-Lookup-Item",
    data : null,
    typename : "contact",
    category : 0,
    ambiguousRecordsXml : null,
    selected : null
    ...
}