Dynamics CRM 2011 - 虽然在网格中看到,但无法打开记录表单

时间:2015-05-25 18:43:19

标签: dynamics-crm-2011

我可以在实体网格中看到一条记录但是当我点击该记录打开它的表格时,我收到一条错误说"该记录不可用。找不到请求的记录,或者您的显示权限不足。" (因为我的系统是希伯来语 - 我希望我的翻译是准确的) 我是系统管理员(根据CRM特权)。

检查服务器后,我在事件查看器中发现了SQL错误警告:



- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="ASP.NET 4.0.30319.0" /> 
  <EventID Qualifiers="32768">1309</EventID> 
  <Level>3</Level> 
  <Task>3</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2015-05-25T18:00:30.000000000Z" /> 
  <EventRecordID>5574520</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>ServerName</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>3005</Data> 
  <Data>An unhandled exception has occurred.</Data> 
  <Data>25/05/2015 21:00:30</Data> 
  <Data>25/05/2015 18:00:30</Data> 
  <Data>cb25f0437bee49deaf1ed75e627b9dda</Data> 
  <Data>30028</Data> 
  <Data>6</Data> 
  <Data>0</Data> 
  <Data>/LM/W3SVC/1/ROOT-4-130770366125068492</Data> 
  <Data>Full</Data> 
  <Data>/</Data> 
  <Data>C:\Program Files\Microsoft Dynamics CRM\CRMWeb\</Data> 
  <Data>ServerName</Data> 
  <Data /> 
  <Data>1428</Data> 
  <Data>w3wp.exe</Data> 
  <Data>NT AUTHORITY\NETWORK SERVICE</Data> 
  <Data>CrmException</Data> 
  <Data>contact With Id = 69fa903e-f865-df11-b4ad-001ec9e8be31 Does Not Exist at Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.XrmExecuteInternal() at Microsoft.Crm.Application.Platform.ServiceCommands.RetrieveCommand.Execute() at Microsoft.Crm.Application.Platform.EntityProxy.Retrieve(String[] columns, Guid auditingTransactionId, Boolean addRequiredColumns) at Microsoft.Crm.Application.Platform.EntityProxy.Retrieve(String[] columns, Guid auditingTransactionId) at Microsoft.Crm.Application.Platform.EntityProxy.Retrieve(String columnSet, Guid auditingTransactionId) at Microsoft.Crm.Application.Platform.EntityProxy.Retrieve(String columnSet) at Microsoft.Crm.Application.Forms.AppForm.FormLoadEvent() 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, FormDescriptor fd) at Microsoft.Crm.Application.Components.PageHandlers.ContactRecordPageHandler.ConfigureFormHandler() at Microsoft.Crm.Application.Components.PageHandlers.RecordPageHandler.ConfigureFormWrapper() at Microsoft.Crm.Application.Components.Utility.GenericEventProcessor.RaiseEvent(String eventName) 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)</Data> 
  <Data>http://ServerName/OrgName/userdefined/edit.aspx?_gridType=2&etc=2&id={69FA903E-F865-DF11-B4AD-001EC9E8BE31}&pagemode=iframe&preloadcache=1432576830146&rskey=882919810</Data> 
  <Data>/OrgName/userdefined/edit.aspx</Data> 
  <Data>192.168.30.4</Data> 
  <Data>Domain User</Data> 
  <Data>True</Data> 
  <Data>NTLM</Data> 
  <Data>NT AUTHORITY\NETWORK SERVICE</Data> 
  <Data>116</Data> 
  <Data>NT AUTHORITY\NETWORK SERVICE</Data> 
  <Data>False</Data> 
  <Data>at Microsoft.Crm.Application.Platform.ServiceCommands.PlatformCommand.XrmExecuteInternal() at Microsoft.Crm.Application.Platform.ServiceCommands.RetrieveCommand.Execute() at Microsoft.Crm.Application.Platform.EntityProxy.Retrieve(String[] columns, Guid auditingTransactionId, Boolean addRequiredColumns) at Microsoft.Crm.Application.Platform.EntityProxy.Retrieve(String[] columns, Guid auditingTransactionId) at Microsoft.Crm.Application.Platform.EntityProxy.Retrieve(String columnSet, Guid auditingTransactionId) at Microsoft.Crm.Application.Platform.EntityProxy.Retrieve(String columnSet) at Microsoft.Crm.Application.Forms.AppForm.FormLoadEvent() 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, FormDescriptor fd) at Microsoft.Crm.Application.Components.PageHandlers.ContactRecordPageHandler.ConfigureFormHandler() at Microsoft.Crm.Application.Components.PageHandlers.RecordPageHandler.ConfigureFormWrapper() at Microsoft.Crm.Application.Components.Utility.GenericEventProcessor.RaiseEvent(String eventName) 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)</Data> 
  </EventData>
  </Event>
&#13;
&#13;
&#13;

我无法删除记录,也无法将其停用! 现在我重新开始我还有一些这样的记录,而我想要的就是过滤它们以便摆脱它们! 请帮忙:(

感谢名单。

2 个答案:

答案 0 :(得分:0)

我建议检查数据库以查看记录是否实际存在。

E.g。在联系表上搜索contactid = '69fa903e-f865-df11-b4ad-001ec9e8be31'。

如果返回结果,则记录肯定存在。如果没有,则不然。无论哪种方式都会发生奇怪的事情。如果您可以演示,我会向微软提出一张票。

如果您有任何自定义可能会干扰CRM的正常行为,也值得考虑。

答案 1 :(得分:0)

Thanx James:)

你实际上给了我一个很好的暗示。

在观察数据库后,我意识到这些特定记录存在于ContactsBase表中,但出于某种原因(无法说明原因),这些记录ID在ContactsExtended中缺失。

这就是为什么在主视图中我能够看到这些记录(视图只包含来自ContactsBase的字段),但实际打开表单时它失败了!

因此,在ContactsExtended表中创建缺少ID的这些记录 - 使用EXCEPT语句(参见http://www.sqlusa.com/bestpractices2008/compare-tables/) - 完成了工作:)