Best Practices do Javascript no CRM – Parte I

Apesar dos avanços significativos que tivemos da versão 4 para com a versão 2011 em relação aos javascripts, ainda encontramos muita coisa no mercado fora dos padrão e das melhores práticas. Sendo assim, decidi assim que possível ir postando boas práticas no desenvolvimento de codificação client (javascript) no Dynamics CRM, irei sempre demostrar o funcionamento para com as duas versões mais atuais (4 e 2011).

Vamos a primeira dica…

Em algumas ocasiões as validações que pretendemos fazer nos formulários CRM exigem que sejam aplicadas para algum “estado” e outro não, por exemplo a regra X só deve ser aplicada quando o registro já existir. O que vemos muito por ai seria uma codificação que iniciaria comparando o ID da entidade do formulário se não está Nulo (campoID != null) ou a data de criação (createdon != null), não é verdade!?

Porém as boas prática recomendam que se faça uso do objeto/método crmForm.FormType – versão 4 ou Xrm.Page.ui.getFormType() – versão 2011. Pois com seu uso fica claro em qual estado do formulário que iremos aplicar alguma validação.

Vejam um exemplo na versão 4:

var CRMFORMTYPE_CREATE = 1;
var CRMFORMTYPE_UPDATE = 2;
var CRMFORMTYPE_READONLY = 3;
var CRMFORMTYPE_DISABLED = 4;
var CRMFORMTYPE_QUICKCREATE = 5;
var CRMFORMTYPE_BULKEDIT = 6;

switch (crmForm.FormType)
{
case CRMFORMTYPE_CREATE:
case CRMFORMTYPE_UPDATE:
alert("ok");
break;
case CRMFORMTYPE_READONLY:
case CRMFORMTYPE_DISABLED:
case CRMFORMTYPE_QUICKCREATE:
case CRMFORMTYPE_BULKEDIT:
default:
// não faça nada
break;
}

Na versão 2011:

var CRMFORMTYPE_CREATE = 1;
var CRMFORMTYPE_UPDATE = 2;
var CRMFORMTYPE_READONLY = 3;
var CRMFORMTYPE_DISABLED = 4;
var CRMFORMTYPE_QUICKCREATE = 5;
var CRMFORMTYPE_BULKEDIT = 6;

switch (Xrm.Page.ui.getFormType())
{
case CRMFORMTYPE_CREATE:
case CRMFORMTYPE_UPDATE:
alert("ok");
break;
case CRMFORMTYPE_READONLY:
case CRMFORMTYPE_DISABLED:
case CRMFORMTYPE_QUICKCREATE:
case CRMFORMTYPE_BULKEDIT:
default:
// não faça nada
break;
}

Da forma que a codificação foi feita, teríamos uma validação apenas no Create e Update dos registros de uma entidade.

Assim teremos muito mais controle do que é “feito” e “desfeito” nos formulários, além da facilidade no entendimento da codifição por toda equipe.

Vamos a parte II…

Material Microsoft que utilizei no post:

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

http://msdn.microsoft.com/en-us/library/gg327828.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 Best Practices do Javascript no CRM – Parte I

  1. Olá Tiago,

    Muito interessante sua dica. Estou em busca de maiores materiais de boas práticas de programação Javascript voltado para o CRM 2011.
    Trabalho atualmente como Consultor de Implantação de CRM, minha equipe compõe 3 pessoas, e acaba ficando um pouco fora de padrão os códigos, já que cada um raciocina de uma maneira (natural do ser humano). Caso tenha algo que possa compartilhar serei imensamente grato.

    Desde já agradeço sua atenção.

    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