JavaScript referente ao Microsoft Dynamics CRM 2013

  • 0

O modelo de objeto JavaScript é a API JavaScript que o CRM oferece para que você possa personalizar vários comportamentos com base em eventos e para acessar os dados do CRM, que está presente em um formulário.


CRM 2013 apoia totalmente o modelo de objeto JavaScript da versão anterior; no entanto, ele não suporta o modelo de objeto de JavaScript Microsoft Dynamics CRM 4.0.


Confira seguinte documentação de referência para eventos do lado do cliente e modelos de objetos que podem ser usados com a bibliotecas JavaScript. * Marcado é nova no CRM 2013.


Xrm.Utility: Xrm.Utility objeto fornece um recipiente para funções úteis não directamente relacionadas com a página atual. A tabela a seguir lista as funções de Xrm.Utility.

//Exibe uma caixa de diálogo com uma mensagem.
var mensagem = "Mensagem Dialogo!";
Xrm.Utility.alertDialog(mensagem, msgOK);
function msgOK(){
      Xrm.Page.getAttribute("subject").setValue("New Subject");
}

//Exibe uma caixa de diálogo de confirmação que contém uma mensagem, bem como botões OK e Cancelar.

var mensagem = "Mensagem Dialogo!";
Xrm.Utility.confirmDialog(mensagem, msgOK, msgCancel);
function msgOK() {
      Xrm.Page.getAttribute("description").setValue("Yes call back selected");
}
function msgCancel() {
      Xrm.Page.getAttribute("description").setValue("No call back selected");
}

//Determina se uma entidade é uma actividade. entityName é o nome lógico da Entidade. O método abaixo retorna um valor booleano. True se a entidade é uma entidade de atividade, caso contrário, False.
Xrm.Utility.isActivityType(entityName);

//Abrindo um formulário de entidade Usando Java Script.
Xrm.Utility.openEntityForm("nome", id, parametros);

Exemplos
//Abra um novo registro de conta
Xrm.Utility.openEntityForm("account");

//Abra um registro de conta existente
Xrm.Utility.openEntityForm("account", "A85C0252-DF8B-E111-997C-00155D8A8410");

//Abra um novo registro conta com uma forma específica e configuração de valores padroes
parametros var = {};
parametros ["formid"] = "b053a39a-041a-4356-ACEF-ddf00182762b";
parametros ["name"] = "Teste";
Xrm.Utility.openEntityForm ("account", null, parametros);









POST EM DESENVOLVIMENTO..

Java Script no Microsoft Dynamics CRM 2011

Neste post vou colocar alguns códigos Java Script para serem utilizados nas customizações de formulários do Microsoft Dynamics CRM 2011. Estas funções são as mais utilizadas nas customizações que publico nos clientes atualmente. Espero que sejam úteis. Outras podem ser encontradas no próprio SDK do CRM em msdn.microsoft.

//Retornar URL do servidor
Xrm.Page.context.getServerUrl();


//Retornar GUID do registro atual

Xrm.Page.data.entity.getId();

//Retornar o GUID do usuário atual

Xrm.Page.context.getUserId();

//Retornar GUID de um lookup

Xrm.Page.data.entity.attributes.get("parentaccountid").getValue()[0].id;

//Retornar texto de um lookup

Xrm.Page.data.entity.attributes.get("parentaccountid").getValue()[0].name;

//Retornar o tipo de objeto de um lookup

Xrm.Page.data.entity.attributes.get("parentaccountid").getValue()[0]. typename;

//Retornar valor de campo

Xrm.Page.getAttribute("name").getValue();

//Retornar valor de campo tipo picklist

Xrm.Page.getAttribute("address1_addresstypecode").getSelectedOption().value;

//Retornar texto de campo tipo picklist

Xrm.Page.getAttribute("address1_addresstypecode").getSelectedOption().text;

//Definir valor para um campo de texto

Xrm.Page.getAttribute("address1_line1").setValue("Rua Primavera");

//Definir valor para campo do tipo pick list

Xrm.Page.getAttribute("address1_addresstypecode").setValue(2);

//Definir valor para campo do tipo data

Xrm.Page.data.entity.attributes.get("birthdate").setValue(new Date());

//Definir valor para campo do tipo dinheiro

Xrm.Page.getAttribute("creditlimit").setValue(parseFloat(eval(1200.35)));

//Definir valor para campo do tipo decimal

Xrm.Page.getAttribute("exchangerate").setValue(parseFloat(eval(1.32)));

//Definir valor para campo do tipo lookup

Xrm.Page.getAttribute("parentaccountid").setValue( [{id: idValue, name: textValue, entityType: typeValue}]);

//Desabilitar campo

Xrm.Page.ui.controls.get("address1_addresstypecode").setDisabled(true);

//Habilitar campo

Xrm.Page.ui.controls.get("address1_addresstypecode").setDisabled(false);

//Esconder campo
Xrm.Page.ui.controls.get("address1_addresstypecode").setVisible(false);

//Exibir campo

Xrm.Page.ui.controls.get("address1_addresstypecode").setVisible(true);

//Esconder um item de navegação

Xrm.Page.ui.navigation.items.get("navContacts").setVisible(false);

//Exibir um item de navegação

Xrm.Page.ui.navigation.items.get("navContacts").setVisible(true);

//Esconder uma seção

Xrm.Page.ui.tabs.get("tabName").sections.get("sectionName").setVisible(false);

//Exbir uma seção
Xrm.Page.ui.tabs.get("tabName").sections.get("sectionName").setVisible(true);

//Salvar o formulário

Xrm.Page.data.entity.save();

//Salvar e fechar o formuláirio

Xrm.Page.data.entity.save("saveandclose");

//Fechar o formulário

Xrm.Page.ui.close();

//Tipo do formulário

Xrm.Page.ui.getFormType(); 
//Create (1), Update (2), Read Only (3), Disabled (4), Bulk Edit (6)

//Atualizar grid

Xrm.Page.ui.controls.get("target_grid").refresh();

//Disparar evento de um campo

Xrm.Page.getAttribute("parentaccountid").fireOnChange();

//Definir requerimento de campoXrm.Page.getAttribute("parentaccountid").setRequiredLevel("none");

Xrm.Page.getAttribute("parentaccountid").setRequiredLevel("required");
Xrm.Page.getAttribute("parentaccountid").setRequiredLevel("recommended");

//Setar o foco no campo

Xrm.Page.getControl("parentaccountid").setFocus(true);

//Interromper o evento de salvar

event.returnValue = false;