CRM 2011 – UpperCase

Um script de exemplo para deixarmos todos os campos do formulário em “caixa alta” (uppercase), basta inserí-lo em uma biblioteca e registrá-lo no “onsave” do formulário, vejam:

function UpperCase()
{
    // Recupera os controles do formulário
    var controls = Xrm.Page.ui.controls.get();

    // Percorre os controles
    for (var i in controls)
    {
        // Recupera o controle atual
        var control = controls[i];

        // Verifica se o tipo do controle é "Standard"
        if(control.getControlType() == "standard")
        {
            // Recupera o atributo atual
            var attribute = control.getAttribute();

            // Verifica se o atributo existe e se o tipo é uma "string" ou "memo" (textarea)
            if(attribute && attribute.getAttributeType() &&
                (attribute.getAttributeType() == "string" || attribute.getAttributeType() == "memo"))
            {
                // Recupera o valor do atributo
                var valor = attribute.getValue();

                // Verifica se o valor do atributo não é "nulo"
                if(valor)
                {
                    // Realiza o comando UpperCase()
                    valor = valor.toUpperCase();

                    // Seta o atributo com o valor em CAIXA ALTA
                    attribute.setValue(valor);
                }
            }
        }
    }
}

PS: Editado (12/06/2013) – Correção, créditos à Anderson Alencar, obrigado pela ajuda.

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.

4 respostas para CRM 2011 – UpperCase

  1. Luiz disse:

    Amigo,
    Esta dando um erro – O objeto não oferece suporte á propriedade ou metodo “getAttribute” .
    Sabe o que pode ser?

    Curtir

  2. Anderson Alencar disse:

    Tiago otimo Post e Exemplo Ajudou muito… Apenas uma observação.
    // Recupera o atributo atual
    var attribute = control.getAttribute();

    Este trecho deveria estar após a verificação do tipo do controle.

    Pois se no formulário possuir um Subgrid será apresentado um erro.

    Abraços

    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