Partilhar via


Adicionar metadados para uma atividade de fluxo de trabalho personalizada

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

O assembly que contém a definição de atividade de fluxo de trabalho personalizado é anotado usando os atributos .NET para fornecer os metadados que o Microsoft Dynamics 365 usa no tempo de execução para vincular seu código ao mecanismo de fluxo de trabalho. Para obter mais informações sobre os atributos do .NET, consulte Estendendo metadados usando atributos.

Antes de começar a adicionar metadados a sua definição de atividade do fluxo de trabalho personalizado, certifique-se de que você está ciente dos tipos e atributos do Microsoft Dynamics 365 com suporte para atividades do fluxo de trabalho personalizado.Para obter mais informações: consulte Processar classes, atributos e tipos

Neste tópico

Adicionar parâmetros de entrada

Adicionar parâmetros de saída

Adicionar atributos de entrada e saída para o mesmo parâmetro

Atributos adicionais

Adicionar o método de execução

Adicionar parâmetros de entrada

Ao especificar o parâmetro de entrada na sua classe de fluxo de trabalho, também é possível especificar um valor padrão para o parâmetro. O exemplo a seguir mostra a definição de um parâmetro de entrada.

[Input("DateTime input")]
[Default("2004-07-09T02:54:00Z")]
public InArgument<DateTime> Date { get; set; }

Esse parâmetro de entrada é anotado com o atributo .NETInput. A classe InputAttribute é derivada da classe ParameterAttribute, que executa um parâmetro (ParameterAttribute.Name) para especificar o nome do atributo de entrada. Esse nome é exibido no assistente de formulário de processo no aplicativo Web. Isso permite mapear um atributo como um parâmetro de entrada para o processo.

Além disso, você pode realizar o parâmetro de entrada necessário.Para obter mais informações:RequiredArgumentAttribute

Adicionar parâmetros de saída

Os parâmetros de saída são adicionados da mesma forma que os parâmetros de entrada. O exemplo a seguir mostra a definição de um parâmetro de saída.

[Output("Money output only")]
[Default("23.3")]
public OutArgument<Money> MoneyOutput { get; set; }

Esse parâmetro de saída é anotado com o atributo .NETOutput. A classe OutputAttribute é derivada da classe ParameterAttribute, que executa um parâmetro (ParameterAttribute.Name) para especificar o nome do atributo de saída. Esse nome é exibido no assistente de formulário de processo no aplicativo Web. Isso permite mapear um atributo como uma saída.

Adicionar atributos de entrada e saída para o mesmo parâmetro

É possível usar os atributos de entrada e saída para o mesmo parâmetro. No exemplo de código a seguir, IntParameter é o parâmetro de entrada e de saída.

[Input("Int input")]
[Output("Int output")]
[Default("2322")]
public InOutArgument<int> IntParameter { get; set; }

Atributos adicionais

Alguns tipos, como EntityReference e OptionSetValue exigem atributos adicionais além dos atributos Input, Output e Default. Os atributos adicionais são: ReferenceTarget e AttributeTarget. O exemplo a seguir mostra a definição de um parâmetro do tipoEntityReference.

[Input("EntityReference input")]
[Output("EntityReference output")]
[ReferenceTarget("account")]
[Default("3B036E3E-94F9-DE11-B508-00155DBA2902", "account")]
public InOutArgument<EntityReference> AccountReference { get; set; }

Para obter uma lista dos tipos e atributos suportados, consulte Processar classes, atributos e tipos.

Adicionar o método de execução

A atividade do fluxo de trabalho personalizado deve ter um método Execute, conforme mostrado no exemplo a seguir.

protected override void Execute(CodeActivityContext context)
{
   if (AccountReference.Get(context).Id != new Guid("3B036E3E-94F9-DE11-B508-00155DBA2902"))   
      throw new InvalidPluginExecutionException("Unexpected default value");
}

Confira Também

Atividades personalizadas de fluxo de trabalho (assemblies de fluxo de trabalho)
Atividades personalizadas de fluxo de trabalho (assemblies de fluxo de trabalho)
Criar uma atividade de fluxo de trabalho personalizado
Usar o serviço Web IOrganization em uma atividade de fluxo de trabalho personalizada
Exemplo: Criar uma atividade de fluxo de trabalho personalizada
Processar classes, atributos e tipos

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais