|
27.03.2009, 17:50 | #1 |
Участник
|
Помогите с фильтами в лукапе
Господа, помогите!
На всех форумах люди пишут, что фильтры работают. Ну не работают они! Вот ставлю на форме Электронной почты фильтр на поле Кому var parentID = crmForm.all.regardingobjectid.DataValue[0].id; var oContactLookup = crmForm.all.to; oContactLookup.additionalparams = "fetchXml=<fetch mapping='logical'>"+ "<entity name='contact'><all-attributes/>"+ "<filter><condition attribute='accountid' operator='eq' value='" + parentID +"'/></filter></entity></fetch> "; parentID удачно считывается. Открываю лукап и получаю прекрасный отчет об ошибке: Full Stack: [InvalidOperationException: CRM Parameter Filter - Invalid parameter 'fetchXml=<fetch mapping='logical'><entity name='contact'><all-attributes/><filter><condition attribute='accountid' operator='eq' value='{669A4302-7AF3-DD11-9247-005056AF5786}'/></filter></entity></fetch> ' in Request.QueryString on page /scg/_controls/lookup/lookupmulti.aspx The raw request was 'GET /scg/_controls/lookup/lookupmulti.aspx?class=ActivityRecipient&objecttypes=2&browse=0&fetchXml=<fetch%20mapping='logical'><entity%20name='contact'><all-attributes/><filter><condition%20attribute='accountid'%20operator='eq'%20value='{669A4302-7AF3-DD11-9247-005056AF5786}'/></filter></entity></fetch>%20&ShowNewButton=1&ShowPropButton=1&DefaultType=2' called from .] at Microsoft.Crm.Application.ParameterFilter.ValidateParameter(Page page, ArrayList parameterCollection, String key, String value, String collectionName, EntityType pageEntityType) at Microsoft.Crm.Application.ParameterFilter.ValidateParameters(Page page, EntityType pageEntityType, Boolean alwaysEnableParameterChecking) at Microsoft.Crm.Application.ParameterFilter.ValidateParameters(Page page, EntityType pageEntityType) 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.ProcessRequestWithNoAssert(HttpContext context) at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.scg__controls_lookup_lookupmulti_aspx.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) У кого-нибудь работают эти фильтры в CRM4? Если написать oContactLookup.additionalparams = 'search=' + какой-нибудь name, то это вообще бред. Это значение просто подставляется в поле для поиска, хотя на форумах пишут, что оно используется в параметрах для фильтрации |
|
27.03.2009, 18:34 | #2 |
Kostya Afendikov
|
Вы пробовали делать так
http://sivavadavalli.wordpress.com/2...und-in-crm-40/ ? Этот метод прекрасно работает UPD: field.AddParam(”search”, “<fetch mapping=’logical’><entity name=’contact’>” + “<filter><condition attribute=’parentcustomerid’ operator=’eq’ value=’” + crmForm.ObjectId + “‘ /></filter></entity></fetch>”); search- это обязательный параметр для 4ки, fetchXml использовался в 3ке Последний раз редактировалось Bondonello; 27.03.2009 в 18:37. |
|
30.03.2009, 16:50 | #3 |
Участник
|
Переписала на search. На выходе поставила alert - значения действительно фильтруются. Но в нужную форму все равно не попадают. В lookupmulti все равно необработанная ошибка
|
|
30.03.2009, 17:30 | #4 |
Kostya Afendikov
|
В первый раз не доглядел, этот метод ансаппорт и необходимо менять lookupsingle, возможно на форме электронной почты вместо lookupsingle используется lookupmultiple, тогда он не подходит скорее всего
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|