Who's Bruno Willian

My photo
I'm Bruno, I've been working as a Dynamics CRM consultant since 2012. This blog is intended to share acknowledgement not only about Dynamics, but also any technology we use to extend the platform.

Monday, January 29, 2018

TIP #1 - OutArgument Workflow Customizado

Workflows customizados são muito úteis, principalmente quando possuem um baixo acoplamento, permitindo que sua lógica seja reaproveitada por outros componentes (Workflows, Real-time Workflows, JavaScript, entre outros).

No código abaixo, temos um workflow customizado bem simples e útil, que retorna o usuário que está executando o workflow, muito usado em cenários de aprovação, onde é preciso popular algum lookup do tipo systemuser com o usuário que está aprovando/reprovando determinado processo.


A dica é referente ao retorno do workflow (CurrentUser) do tipo EntityReference. Conhecendo essa classe, sabemos que a mesma possui três propriedades principais (ID, LogicalName e Name), porém quando utilizado como um argumento de saída de um workflow customizado, conseguimos extrair mais informações que apenas as citadas acima. Na verdade, ele se comporta como se estivéssemos retornando um Entity com todos seus atributos.

No imagem abaixo, é possível perceber que quando selecionamos esse parâmetro em um workflow real-time, usado para setar um campo systemuser, obtemos não apenas a referência do usuário, mas sim todos campos de sua tabela.

Como não encontrei nenhuma documentação descrevendo esse comportamento, achei que valeria a pena compartilhar.

No comments:

Post a Comment