简体   繁体   English

Dynamics CRM 2011-尽管在网格中可见,但无法打开记录表单

[英]Dynamics CRM 2011 - Can not open a record form although seen in grid

I can see a record in the entity grid but when I click the record to open it's form I get an error saying "The record is not available. The requested record was not found, or that your display privileges are insufficient." 我可以在实体网格中看到一条记录,但是当我单击该记录以将其打开时,我收到一条错误消息:“该记录不可用。找不到请求的记录,或者您的显示权限不足。” (since my system is in Hebrew-I hope my translation is precise) I am the System Manger (as per CRM privileges). (由于我的系统使用希伯来语,希望我的翻译准确无误)我是系统管理员(根据CRM特权)。

After checking the server I realized an SQL error warning in the Event Viewer: 检查服务器后,我在事件查看器中意识到了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> 

I can not delete the record nor Deactivate it ! 我无法删除该记录,也无法使其停用! Now I relized I have a few more such records, and all I want is to filter them out an get rid of them for good !! 现在,我相关了一些这样的记录,我想要的是将它们过滤掉,以摆脱它们! Please some help :( 请一些帮助:(

Thanx. 感谢名单。

I would suggest checking the database to see if the record does not actually exist. 我建议检查数据库以查看记录是否实际不存在。

Eg search on the contact table for contactid = '69fa903e-f865-df11-b4ad-001ec9e8be31'. 例如,在联系表上搜索contactid ='69fa903e-f865-df11-b4ad-001ec9e8be31'。

If it returns a result, then the record definitely exists. 如果返回结果,则该记录肯定存在。 If not then it doesn't. 如果没有,那就不是。 Either way something weird is going on. 无论哪种方式都在发生奇怪的事情。 If you can demonstrate either, I would raise a ticket with Microsoft. 如果您能展示其中任何一个,我都会向Microsoft提出要求。

Also worth considering if you have any customisations, that might be interfering with the normal behavior of CRM. 同样值得考虑的是,如果您有任何定制,可能会干扰CRM的正常行为。

Thanx James :) 詹姆士(Thanx James):)

You have actually gave me a great hint. 您实际上给了我一个很好的提示。

After observing the database I realized that these specific records were present in the ContactsBase table but for some reason (cant figure why) these same record IDs where missing in ContactsExtended. 观察数据库后,我意识到这些特定的记录存在于ContactsBase表中,但是由于某些原因(正确的原因),这些相同的记录ID在ContactsExtended中丢失了。

That is why on the main view I was able to see these records (the view consisted of only fields from ContactsBase) but when actually opening the form it failed! 这就是为什么在主视图中我能够看到这些记录(该视图仅包含ContactsBase中的字段),但是在实际打开表单时却失败了!

So creating these records with the missing IDs, in the ContactsExtended table - using the EXCEPT statement (see http://www.sqlusa.com/bestpractices2008/compare-tables/ ) - did the work :) 因此,使用EXCEPT语句在ContactsExtended表中创建缺少ID的这些记录(请参见http://www.sqlusa.com/bestpractices2008/compare-tables/)-完成了工作:)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM