Como obter guids de registos

by Pedro Azevedo 15. August 2014 08:16

Boas pessoal,

Vou iniciar hoje um conjunto de pelo menos dois artigos onde vou tentar resumir as várias formas que temos para obter os vários tipos de guids e nas duas versões 2011 e 2013. Para começar adicionei uma nova entrada no dicionário de CRM com o que significa GUID.

Hoje vou falar em várias possibilidades de obter os guids de registos, num futuro post irei falar como obter guids de vários objetos. O mais comum é obtermos o guid de um registo, se tivermos dentro desse registo temos várias opções:

CRM 2011

No CRM 2011 podemos obter o guid através do URL, mas quase ele esteja no modo aplicação abre assim:

Não temos URL então podemos fazer F11 ou CTRL+N e conseguimos ver o URL associado:

Seleccionamos o URL e retiramos o que queremos:

http://server/org/main.aspx?etc=3&extraqs=%3f_gridType%3d3%26etc%3d3%26id%3d%257b64E808B4-3A1A-E311-9B18-005056907305%257d%26pagemode%3diframe%26preloadcache%3d1412850657742%26rskey%3d566790654&pagetype=entityrecord

CRM 2013

No CRM 2013 aparentemente deixamos de ter a opção de obtermos através do URL, então uma possibilidade passa por utilizarmos este botão:

Obtemos um email e de onde podemos extrair o guid deste registo:

A. Datum Corporation (sample)
<https://cmfazevedo.crm4.dynamics.com/main.aspx?etc=1&extraqs=formid%3d8448b78f-8f42-454e-8e2a-f8196b0419af&id=%7b0DDD50D8-021E-E411-892E-2C59E541AD08%7d&pagetype=entityrecord>

Bem o que disse anteriormente e como vimos no CRM 2011 deixámos de ver o guid no URL, caso façamos popup desse registo obtemos um URL com o guid:

 

https://cmfazevedo.crm4.dynamics.com/main.aspx?etc=1&extraqs=&histKey=604351270&id={0DDD50D8-021E-E411-892E-2C59E541AD08}&newWindow=true&pagetype=entityrecord#945933055

Outra possibilidade e que funciona para as duas versões é colocar um botão (vou mostrar como fazer mais adiante) para mostrar o guid e para isso basta usar o seguinte código:

function showMeGuid() {
    prompt("Este é o teu GUID",  Xrm.Page.data.entity.getId());
}

 

Este pedaço de código Xrm.Page.data.entity.getId() é o mais importante, é o que permite obter o guid do registo atual.

Agora vamos ver o caso de numa lista de registos querermos saber quais os registos que estão selecionados, para este exemplo vou mostrar como criar o botão com o Ribbon Workbench para refrescar a memória e para mostrar como trabalhar com parâmetros por defeito.

Vamos então acrecentar um botão:

 

Para executar uma ação teremos que adicionar um comando, este comando adicionamos regras para mostrar e tornar disable. Mas onde me quero focar é nas “actions”:

Adiciono uma nova ação de Javascript:

 Dentro da configuração da ação para a chamada de uma função Javascript temos que especificar qual o Recurso Web e qual a função dentro desse recurso que queremos chamar. Para o primeiro caso bastava este passo:

 Mas agora o objetivo é que o CRM nos passe os registos selecionados, conseguimos indicar através dos “parameters”, que neste caso é um parâmetro do CRM:

Como podemos ver podemos passar vários parâmetros, neste caso existe um parâmetro mesmo para aquilo que queremos:

 Terminada a nossa configuração do comando podemos associá-la ao nosso botão:

 E é este o resultado:

Outra maneira que habitualmente queremos saber o guid de um registo é quando temos um lookup no formulário e temos um registo selecionado, aqui recorremos a um post já realizado para ver como podemos aceder a estes dados.

 

Até a próxima

Tags: , , , ,

Pingbacks and trackbacks (1)+

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

About

Muito bem casado, Pai babado e um gosto muito grande pela tecnologia.

Tenho um lema "Sharing is Learning"

Mais aqui -> http://www.psazevedo.com

Month List