Dynamics 365 – Dicas para utilizar Entidades Virtuais


Olá pessoal,

Dando sequência ao post anterior, sobre Entidades Virtuais… Neste post irei colocar algumas dicas e tricks para não termos dores de cabeça!

Para escrever os posts que coloco no blog, sempre procuro criar alguns exemplos para testar alguns cenários e verificar se o que estou escrevendo irá fazer sentido/funcionar. Quando estava fazendo isso acabei encontrando algumas dificuldades. Sendo assim, vou usar este post para dize-las e quem sabe ajudar quem for se aventurar! :)

Antes de irmos as minhas dicas, uma lida no artigo oficial da Microsoft sobre boas práticas para utilizar entidades virtuais, deve ajudar!

Indo aos detalhes e minhas experiências…

  • Chave Primária tem ser do tipo GUID

Infelizmente temos que ter como chave primária um atributo do tipo GUID. Assim é requerido, pois temos que seguir o modelo de dados do Dynamics, onde, toda entidade possui como chave primária um atributo do tipo GUID. Deste modo, a entidade externa deve seguir o modelo, vale lembrar que não adianta tentarmos formatar atributos de diferente tipos de dados ou criamos outras chaves de dados. O que importa é um GUID como chave primária!

  • Atributos não nulos (Nullable = false)

Tome cuidado com atributos que foram declarados no OData como não nulos, quando o atributo é requerido, isso nos obriga a criar o atributo no Dynamics como “Requisitos Comerciais” (business required)

  • Cuidado ao usar grandes conjuntos de dados (datasets)

Use filtros e recupere apenas as colunas que pretende utilizar, isso ajuda quando estamos trabalhando com grande volumes de dados, assim, evitamos que a performance das consultas seja degradada.

Um dica para filtrar os conjunto de dados externos. podemos fazer de duas formas, uma pelo próprio registro da fonte de dados (data source record), mas o que não encontrei nos materiais oficiais seria que podemos filtrar o conjunto de dados na própria view do Dynamics. Deste modo, podemos fazer assim:

Ou simplesmente assim:

Um ponto importante que não pode deixar de ser mencionado é a ordenação, ao contrário dos filtros a única forma de ordernamos os dados é através do registro da fonte de dados, não se esqueça de usar “$” antes da palavra “orderby“:

  • Confirme isso após criar sua entidade virtual

Após criarmos a nossa nova entidade virtual no Dynamics, precisamos realizar algumas checagens, para garantir que os dados externos sejam exibidos no Dynamics.

– Veja o nome externo (external name) e nome da coleção externa (external collection name) são os mesmos quando acessamos o metadata do serviço externo (http://SEU_SERVICO/$metadata):

– Apenas dois atributos serão criados automaticamente quando criamos uma entidade virtual: a chave primária (GUID) e o campo primário (texto). Assim devemos abri-los para informar qual propriedade do OData irá representá-los, através do campo nome externo (external name):

*Muito cuidado com a ortografia, os nomes respeitam letras minúsculas e maiúsculas, assim temos que digitar corretamente!

  • E com vocês, nosso melhor amigo… Plug-in Tracing (rastreamento de plug-in)

Devido o provedor de serviços externos fazer a consulta através de um plugin registrado no Retrieve e RetrieveMultiple, todas consultas que fazemos usando um serviço externo pode ser visualizada nos logs! Caso não tenha isso já habilitado, utilize este link.

Como eu disse no post anterior, as entidades virtuais estão ainda em sua versão 1.0, assim, ainda é difícil de depurar alguns erros que podem ocorrer ao fazermos uso das fonte de dados externas. Com isso, os logs de plugin são a melhor ferramenta para troubleshooting até o momento!

Os erros costumam aparecer da seguinte forma:

Entity could not be retrieved from data source. Please try again or contact your system administrator.

This query is not supported. Please update the query and try again. If the problem persists, contact your Microsoft Dynamics 365 administrator.

Indo no log dos plugins, podemos visualizar com em maior detalhes o que está acontecendo:


Bom, estas foram as dicas que meus testes proporcionaram, espero que ajude você!

[]’s,

Tiago

 

 

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 365 e marcado , , , , . Guardar link permanente.

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