首先,请原谅我,如果这是一个重复的问题,但是,我已经找了两天这个问题的答案现在没有运气,包括SO社区。
我是我的新工作,我的任务是更改客户的MS Dynamics。他们想要一个额外的字段添加到机会实体的“主题类别”。它被设计为一个选项集并可在多个实体上使用,因此我为该任务创建了一个全局选项集。在Opportunity实体本身,我创建了一个新的选项集字段,并使用了选项的全局选项集。
我能够将它添加到表单中,但是,当我尝试将其添加到视图时,我遇到一个错误,表示该字段已被删除,我需要在保存之前删除该字段观点。
确切的错误是:
此字段已被删除。要使用或保存此已保存的视图,您必须删除该字段。
修改
在跟踪跟踪建议后,我能够在错误日志中生成此内容。
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Invalid FetchXml on SavedQuery.Update.Detail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorCode>-2140991216</ErrorCode>
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>Invalid FetchXml on SavedQuery.Update.</Message>
<Timestamp>2014-01-15T18:03:14.1961051Z</Timestamp>
<InnerFault>
<ErrorCode>-2147220733</ErrorCode>
<ErrorDetails xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>The column, fetchxml, has invalid fetch. Error : 'SystemUser' entity doesn't contain attribute with Name = 'bsb_topiccategory'.</Message>
<Timestamp>2014-01-15T18:03:14.1961051Z</Timestamp>
<InnerFault i:nil="true" />
</InnerFault>
</OrganizationServiceFault>
这是在尝试保存视图时附加了错误属性时创建的。保存它似乎是将错误弹出到日志的唯一方法。所有这些都说,我不完全确定如何处理错误。我查看了实体,找不到系统用户实体。也许我只是错过了什么?
答案 0 :(得分:1)
可能已删除视图中与您的选项集无关的现有列的属性。当您尝试进行更改时,将验证该缺失属性。
理论上,这绝不会发生,因为系统应该阻止您删除具有依赖关系的属性(在本例中为视图)。我仍然会检查视图中的所有现有列确实作为实体上的属性存在。
如果这证明是正确的,看起来有人可能已直接从数据库中删除了该属性!
答案 1 :(得分:1)
我不想回答我自己的问题,但如果有人遇到我遇到的同样的问题,我想确保答案是已知的。
在查看我登录的用户的权限后,我注意到用户只有管理员权限。我一开始很困惑(再次,我第一次参与CRM),因为我一直认为管理员会有一个“结束所有,全部打败”访问的人。 CRM不是这种情况。为了更改视图,您使用的用户需要具有“完全”访问权限,同时具有“系统管理员”角色。
现在问题得到解决,答案看起来非常愚蠢,但如果这对任何人都有帮助,我将会是一个快乐的露营者。
答案 2 :(得分:0)
这是一个彻头彻尾的黑暗,但你试图发布所有自定义吗?您可以删除某些内容,但不会发布更改,但它仍然会显示在那里。