Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El addCustomFilter método agrega filtros a los resultados mostrados en un control de búsqueda en aplicaciones controladas por modelos. Cada filtro se combina con los filtros agregados anteriormente como una AND condición.
Tipos de control admitidos
Búsqueda
Sintaxis
formContext.getControl(arg).addCustomFilter(filter, entityLogicalName)
Parámetros
| Nombre | Type | Description |
|---|---|---|
filter |
String | El elemento de filtro FetchXML que se aplicará. |
entityLogicalName |
String | Optional. Si establece este parámetro, el filtro solo se aplica a ese tipo de tabla. De lo contrario, se aplica a todos los tipos de tablas devueltas. |
Por ejemplo, use el siguiente XML para el filter parámetro :
<filter type="and">
<condition attribute="address1_city" operator="eq" value="Redmond" />
</filter>
Comentarios
Use este método en una función de un controlador de eventos para el evento PreSearch de control de búsqueda.
Ejemplo
El ejemplo de código siguiente es para la búsqueda de la cuenta de formulario de oportunidad (parentaccountid). Al establecer la Sdk.setParentAccountIdFilter función en el controlador de eventos de formulario Onload , agregue la Sdk.filterCustomerAccounts función al PreSearch evento de esa búsqueda. Recuerde seleccionar la opción para pasar el contexto de ejecución al establecer la función en el controlador de eventos de formulario Onload . El resultado es que solo se devuelven las cuentas con el valor Category (accountcategorycode) de Preferred Customer (1).
// A namespace defined for SDK sample code
// You should define a unique namespace for your libraries
const Sdk = (window.Sdk ??= {});
// set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
Sdk.setParentAccountIdFilter = (executionContext) => {
const formContext = executionContext.getFormContext();
formContext.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
};
Sdk.filterCustomerAccounts = (executionContext) => {
const control = executionContext.getEventSource();
const customerAccountFilter = `
<filter type="and">
<condition attribute="accountcategorycode" operator="eq" value="1" />
</filter>`;
control.addCustomFilter(customerAccountFilter, "account");
};