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

Anúncios

Sobre Tiago Michelini Cardoso

I have been working with IT since 2006, almost of this time using Microsoft Dynamics CRM/365 as a source of solutions. I graduated in Bachelor of Information Systems at FIAP (Brazil) in 2012. I really love what I do! Technology has been my interest since always. Even in a tool different world of the current. When we didn't have internet, tablets, smartphones e social networks! Although I have worked in some roles, I can't give up "the developer life". Even so far of the greatest developers. Development in general is the thing that I love to work! I started my contributions about Dynamics in 2010. At the beginning, I used to help at MSDN and TechNet forums. But now, I'm dedicating all my time in my personal blog! Currently, I have the enormous honour of being the only Brazilian who got the award for Microsoft MVP (Most Valuable Professional) for Microsoft Dynamics CRM/365 product. I have been receiving the award since 2012.
Esse post foi publicado em Dynamics CRM e marcado , , . Guardar link permanente.

2 respostas para CRM 2011 – Múltiplos Formulários

  1. Anderson disse:

    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:

Logotipo do WordPress.com

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

Imagem do Twitter

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

Foto do Facebook

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

Foto do Google+

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

Conectando a %s