Processar classes, atributos e tipos
Publicado: janeiro de 2017
Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
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 365
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 365
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:
Bool
DateTime
Decimal
Double
Int
Money
String
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
Microsoft Dynamics 365
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais