|
24.06.2015, 16:49 | #1 |
Участник
|
Unified Service Desk - ошибка с EntityReference
Всем привет.
Установлена CRM2015 + Unified Service Desk. Создаю интерес из сессии контакта, по образцу создания обращения в семпле. Вызываю New_CRM_Page со следующими параметрами Получаю ошибку В трейсе - следующее: [2015-06-24 16:44:45.655] Process: w3wp |Organization:6d4e2950-8d09-4ad1-b1a8-1efc4fac1b0b |Thread: 121 |Category: Application |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: 0e2a794b-2681-4ee2-8ae1-59f427119a79 | ErrorInformation.LogError ilOffset = 0x17 >MSCRM Error Report: -------------------------------------------------------------------------------------------------------- Error: Exception of type 'System.Web.HttpUnhandledException' was thrown. Error Message: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Error Details: Exception of type 'System.Web.HttpUnhandledException' was thrown. Source File: Not available Line Number: Not available Request URL:dyncrm2012/.../page.aspx;etc=4&firstname=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9&fullname=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9%20%D0%92%D0%B8%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D0%B4%D0%BE%D0%B2&lastname=%D0%92%D0%B8%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D0%B4%D0%BE%D0%B2&mobilephone=79859039090&pagemode=iframe&parentcontactid=%7bb06ea362-cfbd-e411-80ce-005056b54792%7d&parentcontactidtype=contact&theme=Outlook15White Stack Trace Info: [InvalidOperationException: CRM Parameter Filter - Invalid parameter 'parentcontactidtype=contact' in Request.QueryString on page /DYNCRM/_forms/read/page.aspx The raw request was 'GET /DYNCRM/_forms/read/page.aspx?emailaddress1=someone_g%40example.com&etc=4&firstname=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9&fullname=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9%20%D0%92%D0%B8%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D0%B4%D0%BE%D0%B2&lastname=%D0%92%D0%B8%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D0%B4%D0%BE%D0%B2&mobilephone=79859039090&pagemode=iframe&parentcontactid=%7bb06ea362-cfbd-e411-80ce-005056b54792%7d&parentcontactidtype=contact&theme=Outlook15White' called from http://dyncrm2012/DYNCRM/_common/err...er_lcid=1049.] at Microsoft.Crm.Application.ParameterFilter.ValidateParameter(HttpRequest request, ArrayList parameterCollection, String key, String value, ParameterSources source, EntityType pageEntityType, FormAdditionalAllowedParameters additionalAllowedParameters) at Microsoft.Crm.Application.ParameterFilter.ValidateParameters(Page page, EntityType pageEntityType, Boolean alwaysEnableParameterChecking, FormAdditionalAllowedParameters formAdditionalAllowedParametersTemp) at Microsoft.Crm.Application.ParameterFilter.ValidateParameters(Page page, EntityType pageEntityType, FormAdditionalAllowedParameters formAdditionalAllowedParametersTemp) at Microsoft.Crm.Application.Controls.AppPage.ValidatePageParameters() at Microsoft.Crm.Application.Controls.AppPage.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) 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.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) Из лога понятно, что ругается на параметр "Invalid parameter 'parentcontactidtype=contact'", но это значение, я так понимаю формируется стандартной функцией EntityReference. Что я делаю не так? Заранее спасибо за помощь. |
|
25.06.2015, 18:10 | #2 |
Участник
|
Попробуйте вместо "parentcontactid" и "parentcontactidtype" использовать "customerid" и "customeridtype".
__________________
Опыт позволяет ошибаться гораздо увереннее. |
|
29.06.2015, 10:59 | #3 |
Участник
|
Если использовать customerid - значение поля не появляется в интерфейсе. Необходимо заполнить именно родительский контакт. Из скрипта C# аналогичная конструкция работает без проблем.
|
|
29.06.2015, 12:06 | #4 |
Участник
|
Цитата:
А можете продемонстрировать "скрипт" C#, в котором все работает?
__________________
Опыт позволяет ошибаться гораздо увереннее. |
|
29.06.2015, 12:56 | #5 |
Участник
|
Да, обычный сreateRequest
if (!Row.CONTACTID_IsNull) { Guid _contact_id = new Guid(Row.CONTACTID); if (_contact_id != Guid.Empty) { lead["parentcontactid"] = new EntityReference("contact", _contact_id); } } В общем, если вырубить фильтр параметров, то после сохранения Интереса в USD значение в поле подтягивается корректно. Уж не знаю, почему так. Не может к несохраненной записи контакт подтянуть что ли. |
|
29.06.2015, 13:31 | #6 |
Участник
|
Цитата:
Сообщение от Chapelain
Да, обычный сreateRequest
if (!Row.CONTACTID_IsNull) { Guid _contact_id = new Guid(Row.CONTACTID); if (_contact_id != Guid.Empty) { lead["parentcontactid"] = new EntityReference("contact", _contact_id); } } В общем, если вырубить фильтр параметров, то после сохранения Интереса в USD значение в поле подтягивается корректно. Уж не знаю, почему так. Не может к несохраненной записи контакт подтянуть что ли. А если в адресную строку этот параметр подставить, то он пытается такое поле найти на форме. А такого поля нет.
__________________
Опыт позволяет ошибаться гораздо увереннее. |
|
Теги |
usd, crm2015 |
|
|