Para quem deseja aplicar um filtro no campo do tipo lookup no Microsoft Dynamics CRM (2013 e 2015), a ferramenta oferece através do SDK dois métodos para isto:

  • addPreSearch
    • Método que deve ser adicionado no controle de lookup para executar  o filtro antes de realizar a busca
  • addCustomFilter
    • Método onde deve ser aplicado o filtro (fetchxml) que deve ser somente a tag “<filter>…</filter>”

Utilizando esses dois métodos no controle do lookup, a janela de busca e o auto resolução de nomes do controle terá o filtro aplicado fazendo com que ache somente o que você deseja. Estes métodos vieram como melhoria frente ao método addCustomView, que existe a partir da versão 2011 e que para aplicar o filtro era necessário montar toda a exibição, desde o layout até o fetchxml. Neste formato novo, a ferramenta somente incorpora o seu filtro dentro da exibição padrão que já está definida nas configurações da entidade.

Exemplo da implementação


// Adicionar o método para aplicar o filtro antes da procura
// o método addPreSearch pede como paramêtro uma função
Xrm.Page.getControl("parenaccountid").addPreSearch(LookupFilter);

function LookupFilter()
{
/// <summary>
/// Aplica o filtro no campo
/// </summary>

var filter = "<filter type='and'>";
filter += "<condition attribute='parenaccountid' operator='null'/>";
filter += "</filter>";

//neste momento deverá ser aplicado o filtro para que possa trazer somente os registros desejados
Xrm.Page.getControl("parenaccountid").addCustomFilter(filter);
}

Espero que tenham gosta desta dica! Até o próximo post.

Down and straighten your arms help me with my spanish homework fully as you pull the weight all the way down!

Leave a Reply

Your email address will not be published. Required fields are marked *

Protected by WP Anti Spam