Java Script no Microsoft Dynamics CRM 2011

  • 1
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;

Um comentário: