Compartir por


addCustomFilter (Referencia da API do cliente)

Engade filtros aos resultados que se mostran na busca. Cada filtro combinarase con todos os filtros engadidos previamente como condición AND .

Tipos de control soportados

Busca

Sintaxe

formContext.getControl(arg).addCustomFilter(filter, entityLogicalName)

Parámetros

  • filter: Cadea. O elemento de filtro fetchXml a aplicar. Por exemplo:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (Opcional) Cadea. Se esta opción está establecida, o filtro só se aplica a ese tipo de táboa. En caso contrario, aplícase a todos os tipos de táboas devoltas.

Comentarios

Este método só se pode usar nunha función nun xestor de eventos para o evento de busca previa ao control de busca.

Exemplo

O seguinte exemplo de código é para a busca de conta do formulario de oportunidade (parentaccountid). Cando a función Sdk.setParentAccountIdFilter está establecida no xestor de eventos Onload , a función Sdk.filterCustomAccounts engádese ao evento PreSearch para esa busca. Lembre seleccionar a opción a pasar no contexto de execución ao configurar a función na forma Onload event handler. O resultado é que só se devolverán as contas co valor de Categoría (accountcategorycode) de Cliente Preferente (1).

// A namespace defined for SDK sample code
// You should define a unique namespace for your libraries
var Sdk = window.Sdk || {};

// set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
Sdk.setParentAccountIdFilter = function (executionContext) {

    // get the form context
    formContext = executionContext.getFormContext();
    formContext.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
}

Sdk.filterCustomerAccounts = function () {

    // Only show accounts with the type 'Preferred Customer'
    var customerAccountFilter = "<filter type='and'><condition attribute='accountcategorycode' operator='eq' value='1'/></filter>";
    formContext.getControl("parentaccountid").addCustomFilter(customerAccountFilter, "account");
}

addPreSearch
Contexto do formulario