CRM 2011 – Múltiplos Formulários


Uma grande funcionalidade proporcionada na versão 2011 do Dynamics CRM é a possibilidade de “múltiplos formulários” (multiple forms), com ela, podemos ter vários formulários diferentes em uma mesma entidade, além disso, as funções de seguração (direitos de acesso), podem garantir ou impedir o acesso de um determinado formulário.

Tudo o que disse realmente é ótimo e já caminhou à “passos largos”, quando comparamos com o Dynamics CRM 4, porém temos um deficiência quando um mesmo perfil de usuário pode acessar dois ou mais formulários de uma mesma entidade.

Imagine que existam dois formulários de Produtos de uma Cotação, um voltado para serviços e outro para produtos. Alguns vendedores podem comercializar apenas um ou outro, porém uma nova equipe de vendedores poderá vender ambos. Da forma nativa, o vendedor teria que manualmente alternar qual form deseja visualizar:

Porém em muitos casos isso seria um problema para os usuários, visto que podem digitar uma Cotação de Produtos em um formulário de Serviços.

Para resolver, podemos incluir um atributo na Cotação que possa sinalizar se é uma cotação de produtos ou serviços, com este informação podemos no momento da abertura do Produto da Cotação saber qual formulário exibir. Iremos consultar o seletor e comparar com a Cotação e assim determinar qual form será apresentado.

No Load da entidade Produtos da Cotação, realize uma consulta na entidade Cotação (SOAP/REST) e insira uma validação como esta abaixo:

// FUNCTION: RedirecionarForm
// SAMPLE: RedirecionarForm("Produtos");
function RedirecionarForm(TIPO_DE_FORM_DEFINIDO_NA_COTACAO) {
    var items;
    var currentFormId;
    var item;
    var itemId;
    var itemLabel;

    // Recupera todos os Formulários existentes
    items = Xrm.Page.ui.formSelector.items.get();

    // Recupera Formulário atual
    currentFormId = Xrm.Page.ui.formSelector.getCurrentItem().getId();

    // Percorre todos os Itens do Formulário
    for (var i in items) {
        // Recupera o Item atual
        item = items[i];

        // Recupera o Id do Item atual
        itemId = item.getId();

        // Verifica se o Item atual Não é o Formulário atual
        if (itemId != currentFormId) {
            // Recupera o Nome do Item atual
            itemLabel = item.getLabel();

            // Verifica se o Item atual é um Form Informado na COTAÇÃO
            if (itemLabel == TIPO_DE_FORM_DEFINIDO_NA_COTACAO) {
                // "Redireciona" para o Form correto
                Xrm.Page.ui.formSelector.items.get(itemId).navigate();
                break;
            }
        }
    }
}

Deste modo, os vendedores sempre visualizarão os formulários de Produtos da Cotação que foram definidos na Cotação.

Maiores informações acesse:

http://msdn.microsoft.com/en-us/library/gg309560.aspx

2 comentários em “CRM 2011 – Múltiplos Formulários

  1. Tiago, boa tarde!

    Quando estávamos na versão 2011 online do CRM, esta funcionalidade de Múltiplos Formulários funcionava perfeitamente, porem quando o CRM foi migrado para a versão 2013, parou de funcionar. Então gostaria de saber se voce teria alguma alternativa a este processo ou alguma sugestão para funcionar.

    Obrigado

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.