CRM 2011 - UR17

by Pedro Azevedo 9. May 2014 01:21

 Boas pessoal,

Quando os olhos estão virados para a saída do SP1 do Dynamics CRM 2013, saiu mais um rollup para o Dynamics CRM 2011, UR17.

O grande destaque vai para os utilizadores do Internet Explorer 11 tanto para o Windows 8.1 e Windows 7, pois passam a ter suporte. O KB com mais de 60 issues resolvidos podem ser vistos aqui. Para fazer download pode ser aqui.

 

Até a próxima.

Tags: ,

Tudo sobre WebResources IV

by Administrator 2. May 2014 06:58

Boas pessoal,

Um post rápido só para acrescentar informação ao post sobre utilização de WebResources, tinha referido que havia quatro áreas (Dashboard; Navegação no Formulário; SiteMap – Sub Area; Ribbon) onde os WebResources se poderiam utilizar.

Existe uma outra área onde esta funcionalidade pode ser utilizada, que é na página de configuração de uma solução. Que obrigatoriamente se quisermos ter uma página de informação ou configuração teremos que associar uma página HTML. Confesso que a nível profissional nunca tinha utilizado, mas como ando a trabalhar em dois add-ons para o Dynamics CRM, esta página fez toda a diferença.

Para configurarmos a nossa página de configuração temos que ir a solução e no nó “Informações” temos um campo chamado “Página de Configuração” permite colocarmos a nossa página HTML, com informações e que caso seja necessários parâmetros para configurarmos a nossa solução:

 

Após colocarmos a página de configuração, aparecerá um novo nó intitulado como “Configuração” onde se visualiza a página de configuração adicionada:

A página de configuração é muito simples apenas para vermos a causa efeito. Mas aqui pode-se ter vários campos onde se guarda parâmetros da solução. Imaginemos que esta solução permitia enviar emails e estes teriam que ter uma assinatura da empresa, então haveria um campo de texto que permitia guardar o texto da assinatura, quando o componente de envio de email desta solução fosse utilizado iria-se ler este parâmetro.

A próxima pergunta é como podemos guardar este tipo de configuração, este assunto será alvo de um novo post após eu lançar um dos add-ons.

 

Até a próxima.

Tags: , , , ,

Feedback do evento ENEI

by Pedro Azevedo 28. April 2014 18:51

Boas pessoal,

Mais um post rápido para transmitir a minha participação (uma apresentação e um workshop) do ENEI 2014 que decorreu em Aveiro. Fiquei muito agradado com o evento, havia muita gente interessada e fiquei a trocar ideias com muitos dos participantes.

O evento estava bem organizado, com muitas boas sessões e foi com muito agrado que participei neste evento.

O que espero que quem assistiu as minhas sessões tenham apreendido? Que existe outras ferramentas de desenvolvimento, que saibam sugerir esta ferramenta quando se adeqúe e que para muitas soluções optar por uma plataforma pode reduzir o custo de desenvolvimento.

Deste evento trago mais uma experiência e também a certeza que os slides podem e vão ser melhorados, já estou a trabalhar noutra versão onde espero mostrar um exemplo prático de como se faz sem o Dynamics CRM e como se resolve com esta ferramenta, deixo-vos aqui algumas fotos do evento:

 

 

Deixo também os slides da apresentação bem como a solução usada no workshop:

 

 

Depois foi redescobrir uma cidade lindíssima. Foi em todos os aspetos um evento magnífico, obrigado a organização por esta oportunidade e espero vir a repetir novamente.

 

Até a próxima.

EneiGrupoEmpresarios_1_0_0_0.zip (24,86 kb)

Tags: , , , ,

CRM 2013 Javascript Object Model - Utility

by Pedro Azevedo 22. April 2014 01:22

Boas pessoal,

Como vos tinha prometido aqui vão exemplos de chamada a cada uma das funções Javascript que apresentei no post sobre o novo object modelo do CRM. Vou dividir em vários posts e vou dividir pelo mesmo critério que separei em tabelas:

Por isso vou começar pelo Xrm.Utility

Xrm.Utility.alertDialog(message,onCloseCallback)

function testAlertDialog(){
                Xrm.Utility.alertDialog("Mensagem a dizer que vou mudar o Nome da Empresa", function () {
                               Xrm.Page.getAttribute("companyname").setValue("Novo Nome");
                });
}

Por isso já sabem pessoal deixem de utilizar o alert e passem a usar esta função suportada.

Xrm.Utility.confirmDialog(message,yesCloseCallback,noCloseCallback)

function confirmDialogTest() {
                Xrm.Utility.confirmDialog("Quer mudar o Nome da Empresa?", function () {
                                               Xrm.Page.getAttribute("companyname").setValue("Mudei o nome da empresa");
                               },
                               function () {
                                               Xrm.Page.getAttribute("companyname").setValue("Não mudei o nome da empresa");
                               }
                );
}

 

Xrm.Utility.isActivityType(entityName)

function isActivityTypeTest() {
                Xrm.Utility.alertDialog("Cliente Potencial é uma entidade de actividade" + Xrm.Utility.isActivityType("lead"));
                Xrm.Utility.alertDialog("Email é uma entidade de actividade" + Xrm.Utility.isActivityType("email"));
}

Xrm.Utility.openEntityForm(name,id,parameters)

Esta função já merece uma descrição mais pormenorizada, para além do que o nome sugere que é a abertura de um formulário com um determinado registo, caso não coloquemos nada no parâmetro id ele abre um formulário de criação. No parâmetro parameters pode receber alguns parâmetros:

  • formid para poder especificar um formulário, quando existe mais que um;
  • parâmetros para passar valores por defeito quando existe um formulário de criação;
  • parâmetros query string quando um formulário está configurado para receber query string customizadas – não vou dar nenhum exemplo pois implica outras alterações, já está marcado para realizar um post mais tarde.
function openEntityFormTest() {
                Xrm.Utility.openEntityForm("account");
                Xrm.Utility.openEntityForm("account","D045613F-3CBF-E311-88C5-D89D67632EAC");

                var parameters = {};
                parameters["name"] = "este é o meu nome";
                parameters["telephone1"] = "(351) 123456789";
                Xrm.Utility.openEntityForm("account", null, parameters);
}

 

Xrm.Utility.openWebResource(webResourceName,webResourceData,width, height) e Xrm.Utility.openWebResourceDialog(webResourceName, webResourceData, width, height)

Nesta função apenas referir que se o Recurso Web receber dados teremos que o passar no segundo parâmetro.

function openWebResourceTest() {
                Xrm.Utility.openWebResource("new_controlhtml", null, 600,300);
}

 

Começamos com duas funções que utilizávamos muito os métodos de Javascript, ou seja, alert e confirm. Devemos usar estas novas funções pois assim vamos garantir que vão funcionar em todos os ambientes.

 

PS: Todos os testes foram realizados no evento onload da entidade Oportunidade Potencial.

 

Até a próxima.

Tags: , , , , , ,

Aplicação Microsoft Dynamics CRM para Windows 8

by Pedro Azevedo 17. April 2014 00:18

Boas pessoal,

Estou aqui para falar sobre a aplicação para o Windows 8, uma aplicação optimizada principalmente para tablets. A primeira coisa é procurar a aplicação na loja:

Ao entrar na aplicação podemos ver uma breve descrição, vários screenshots, classificação actual, bem como detalhes e aplicações relacionadas:

 

Esta aplicação é gratuita mas só funciona de ligarmos a uma organização Microsoft Dynamics CRM.

Depois de instalar ficamos com a aplicação na lista de aplicações:

Ao abrirmos a aplicação pela primeira vez, temos vários ecrãs de configuração antes de trabalharmos na aplicação. Primeiro teremos que colocar a URL para a instância Dynamics CRM:

De seguida teremos que colocar com que utilizador queremos entrar na aplicação:

 Enquanto a aplicação faz download dos dados e na estrutura é mostrado algumas dicas de utilização:

A seguir informações da nossa organização:

Vimos neste post aplicação para Windows 8, ainda estamos limitados a determinadas entidades mas acredito que brevemente estarão disponíveis as restantes entidades.

 

Até a próxima

Tags: , , , ,

Recursos para o Workshop Dynamics CRM no ENEI 2014

by Pedro Azevedo 11. April 2014 22:48

Boas pessoal,

Para quem se inscreveu no Workshop acerca da plataforma Dynamics CRM, deixo aqui alguns recursos necessários para o Workshop:

1. Criar uma conta gratuita CRM Online (http://www.xptcrm.com/post/2013/05/23/Criar-uma-conta-CRM-Online.aspx)

2. Importar duas soluções para facilitar a criação de menus:

3. Importar a minha solução já com algumas entidades criadas e com bibliotecas genéricas:

 

Este workshop tem com requisitos: PC com internet e saber um pouco de Javascript.

Até a próxima.

Tags: , , , , ,

Participação no ENEI 2014

by Pedro Azevedo 1. April 2014 00:24

Boas pessoal,

Estou aqui para anunciar que no dia 12 de Abril vou realizar uma apresentação sobre a plataforma Microsoft Dynamics CRM no ENEI 2014 (http://eneiaveiro.pt/) que vai decorrer em Aveiro.

Uma boa oportunidade de re-visitar uma das cidades mais bonitas de Portugal e poder partilhar o meu conhecimento.

Irei realizar uma apresentação e um workshop prevejo que seja uma sessão iniciante.

Em próximos posts darei mais informações.

 

Até a próxima.

Tags: , , , , ,

CRM 2011 - Mudar label de campo bloqueado

by Pedro Azevedo 28. March 2014 08:27

Boas pessoal,

Mais um post rápido para responder a uma questão colocada no fórum do Dynamics CRM. A questão parece muito simples mas confesso que se complicou, por isso resolvi colocar aqui a solução e o porquê das várias soluções colocadas não funcionaram. E acabou por funcionar a primeira solução colocada (a minha por sinal Cool) que foi recorrer ao Javascript.

A questão era modificar a label do campo Opcional do formulário do Compromisso. Parece simples:

1ª Solução

Ir ao formulário e alterar a label (sei que não devia começar por esta solução mas dá jeito):

Isto vem assim por defeito e não há nada a fazer, vamos passar para a próxima solução.

2ª Solução

Alterar o nome da label directamente no campo, já que temos a opção de mudar o campo "Nome a Apresentar", diga-se que se nós modificarmos directamente no formulário e depois viermos a este campo, este deixa de funcionar passando a olhar só para o que colocarmos no formulário, mas como vimos anteriormente não conseguimos fazer isso. O nome lá colocado é "Participantes Opcionais" mudando para "Pessoal Opcional", vamos ver o que acontece:

Parece que não funcionou, o mais estranho é que aqui o nome da label do formulário já era diferente do nome a apresentar do campo. Então resta-nos uma alternativa, o javascript.

3ª Solução

Usar Javascript, ou seja no evento onload do formulário vamos colocar o seguinte código:

function onload() {
  var opAteendee = Xrm.Page.ui.controls.get('optionalattendees');
  opAteendee.setLabel('Novo Nome');
}

Vamos ver o resultado:

E finalmente funcionou.

Até a próxima.

Tags: , ,

Relatório Wizard - Limpar registos sem registos filho

by Pedro Azevedo 27. March 2014 02:54

Boas pessoal,

Hoje escrevo um post em resposta a uma dúvida do fórum de Dynamics CRM, como era difícil responder coloco aqui a resposta.

O objectivo é criar um relatório onde é listado por cliente as respectivas ordens de serviço. Este relatório é bastante simples e muito fácil de fazer através do wizard.

Vejam a configuração:

Nos ecrãs anteriores escolhi como registo primário o Cliente e como registo secundário o Incidente.

O problema é que o relatório coloca todos os clientes mesmo aqueles que não têm ordens de serviço e o objectivo é se o cliente não tiver ordens de serviço não aparecer no relatório. Vejam o resultado neste caso com incidentes.

Como podem verificar apenas o último cliente tem um incidente criado, como podemos limpar estes clientes sem incidentes. A solução foi simples:

Com isto previno que sejam mostrados clientes que não tenham tickets criados, não esquecer de colocar os mesmos critérios ao nível do cliente:

Uma solução simples e eficaz.

Até a próxima

Tags: , , ,

CRM 2013 - UR2

by Pedro Azevedo 25. March 2014 23:28

Boas pessoal,

Foi disponibilizado o UR2 do CRM 2013 e que podem transferir aqui. Para mais informações podem ver aqui.

Neste rollup para além da resolução de alguns issues também trás novidades ao nível do suporte para:

  • ·         Windows 8.1
  • ·         Internet Explorer 11
  • ·         iOS7 com o Safari no iPad e iPad air
  • ·         Windows Server 2012 R2

Outra novidade foi o retorno do botão Gravar e Fechar:

Até a próxima.

Tags: , , ,

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