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:
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
CurtirCurtir
Anderson,
Qual o tipo de problema que está tendo? O que parou de funcionar?
[]’s,
Tiago Cardoso
CurtirCurtir