Atributo tipo "Customer": Definindo tipo de registros nas consultas e tela de criação (Contas ou Contatos)

Um dos grandes desafios de usar o campo CustomerId disponivel nas entidades padrões do Dynamics 365 CE é : Restringir seu os resultados das consultas usando um tipo de registro especifico: Contas ou Contatos.

Recentemente, enquanto tralhava com um amigo, desenvolvemos o seguinte script para resolver o dado problema. Obrigado Eduardo Silveira (https://goo.gl/nLmq9x) pela ajuda na criação do código abaixo:

function SetCustomerLookupType(recordtype) {
    var control = Xrm.Page.getControl("customerid");
    control.getAttribute().setLookupTypes([recordtype]);


    var customerId = document.getElementById("customerid");
    if (customerId == null) customerId = parent.document.getElementById('customerid');

    customerId.setAttribute("entitylogicalname", recordtype);
    customerId.setAttribute("entitydisplayname", recordtype);

    if(recordtype=='account'){
        customerId.setAttribute("entitytypecode", "1");
    }
    else if(recordtype=='contact'){
        customerId.setAttribute("entitytypecode", "2");
    }


}

//Sample Usage for allowing only account records
SetCustomerLookupType('account');

//Sample Usage for allowing only contact records
SetCustomerLookupType('contact');

 

Add comment