Compartilhar via


Processar classes, atributos e tipos

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

Este tópico oferece informações sobre as classes e tipos de processos encontrados em Microsoft Dynamics 365 e que você pode usar para trabalhar com atividades personalizadas.

Neste tópico

Classes de processos

Atributos e tipos de Microsoft Dynamics CRM

InputAttribute e OutputAttribute

DefaultAttribute

ReferenceTargetAttribute

AttributeTargetAttribute

RequiredArgumentAttribute

Classes de processos

As classes de processos estão disponíveis no namespace Microsoft.Xrm.Sdk.Workflow (Microsoft.Xrm.Sdk.Workflow.dll). Você pode usar essas classes para criar atividades personalizadas em Windows Workflow Foundation e, depois, utilizá-las na área de Processos de Microsoft Dynamics 365, ou nos fluxos de trabalho do XAML. Para obter informações detalhadas sobre as classes de processos, consulte Microsoft.Xrm.Sdk.Workflow.

Atributos e tipos de Microsoft Dynamics CRM

Os tipos de Microsoft Dynamics 365 são encontrados no namespace Microsoft.Xrm.Sdk (Microsoft.Xrm.Sdk.dll). Use as classes de InputAttribute e de OutputAttribute para anotar propriedades de entrada e saída.

Os seguintes tipos são suportados para as atividades personalizadas de fluxo de trabalho:

Com exceção dos atributos Input, Output e Default, alguns dos tipos suportados de Microsoft Dynamics 365 no fluxo de trabalho de atividades personalizadas exigem que você especifique atributos adicionais, como ReferenceTarget e AttributeTarget. Isso é descrito na seção a seguir.

InputAttribute e OutputAttribute

O exemplo a seguir mostra como adicionar atributos de entrada e saída a um parâmetro monetário usado em uma atividade de fluxo de trabalho personalizada. Ele também mostra como especificar um valor padrão para a propriedade.

[Input("Money input")]
[Output("Money output")]
[Default("232.3")]
public InOutArgument<Money> MoneyParameter { get; set; }

DefaultAttribute

É possível utilizar a classe DefaultAttribute para especificar um valor padrão para um parâmetro de entrada. Os exemplos a seguir mostram como definir o valor padrão para cada tipo, usando o atributo Default.

Bool

[Input("Bool input")]
[Output("Bool output")]
[Default("True")]
public InOutArgument<bool> Bool { get; set; }

DateTime

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

Decimal

[Input("Decimal input")]
[Output("Decimal output")]
[Default("23.45")]
public InOutArgument<decimal> Decimal { get; set; }

Duplo

[Input("Double input")]
[Output("Double output")]
[Default("252.2")]
public InOutArgument<double> Double { get; set; }

EntityReference

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

Int

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

Dinheiro

[Input("Money input")]
[Output("Money output")]
[Default("232.3")]
public InOutArgument<Money> Money { get; set; }

OptionSetValue

[Input("OptionSetValue input")]
[Output("OptionSetValue output")]
[AttributeTarget("account", "industrycode")]
[Default("3")]
public InOutArgument<OptionSetValue> OptionSetValue { get; set; }

Cadeia de caracteres

[Input("String input")]
[Output("String output")]
[Default("string default")]
public InOutArgument<string> String { get; set; }

ReferenceTargetAttribute

O tipo de atributo EntityReference exige que você especifique o tipo de entidade que está sendo referenciada, usando a classe ReferenceTargetAttribute. O exemplo a seguir mostra como adicionar os atributos de entrada e saída a um parâmetro AccountReference em uma atividade de fluxo de trabalho personalizada, usando o atributo ReferenceTarget.

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

AttributeTargetAttribute

O tipo de atributo OptionSetValue exige que você especifique a entidade e o atributo que estão sendo referenciados, usando a classe AttributeTargetAttribute. O exemplo a seguir mostra como adicionar atributos de entrada e saída a um parâmetro OptionSetValue em uma atividade de fluxo de trabalho personalizada, usando o atributo AttributeTarget.

[Input("OptionSetValue input")]
[Output("OptionSetValue output")]
[AttributeTarget("account", "industrycode")]
[Default("3")]
public InOutArgument<OptionSetValue> OptionSetValue { get; set; }

RequiredArgumentAttribute

É possível utilizar a classe System.Activities.RequiredArgumentAttribute para especificar que um parâmetro de entrada é necessário.

[RequiredArgument]
[Input("Update Next Birthdate for")]
[ReferenceTarget("contact")]
public InArgument<EntityReference> Contact { get; set; }

Confira Também

Atividades personalizadas de fluxo de trabalho (assemblies de fluxo de trabalho)
Adicionar metadados para uma atividade de fluxo de trabalho personalizada
Exemplo: Criar uma atividade de fluxo de trabalho personalizada

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais