Compartir por


Clases, atributos y tipos de proceso

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

En este tema, se proporciona información sobre los tipos y clases de procesos que se encuentran en Microsoft Dynamics 365 y que se pueden usar para trabajar con actividades personalizadas.

En este tema

Tipos de proceso

Atributos y tipos de Microsoft Dynamics CRM

InputAttribute y OutputAttribute

DefaultAttribute

ReferenceTargetAttribute

AttributeTargetAttribute

RequiredArgumentAttribute

Tipos de proceso

Las clases de procesos están disponibles en el espacio de nombres Microsoft.Xrm.Sdk.Workflow (Microsoft.Xrm.Sdk.Workflow.dll). Puede usar estas clases para crear actividades personalizadas en Windows Workflow Foundation y después utilizar las actividades en el área Procesos de Microsoft Dynamics 365 o en los flujos de trabajo de XAML. Para obtener información detallada sobre las clases de proceso, consulte Microsoft.Xrm.Sdk.Workflow.

Atributos y tipos de Microsoft Dynamics CRM

Los tipos de Microsoft Dynamics 365 se encuentran en el espacio de nombres Microsoft.Xrm.Sdk (Microsoft.Xrm.Sdk.dll). Use las clases de InputAttribute y de OutputAttribute para anotar propiedades de entrada y de salida.

Se admiten los siguientes tipos para las actividades personalizadas de flujo de trabajo:

Aparte de Input, Output, y los atributos de Default , algunos de los tipos compatibles de Microsoft Dynamics 365 en las actividades de flujo de trabajo personalizadas requieren que se especifiquen atributos adicionales, como ReferenceTarget y AttributeTarget. Se describen en la sección siguiente.

InputAttribute y OutputAttribute

El siguiente ejemplo muestra cómo agregar los atributos de entrada y salida a un parámetro Money usado en una actividad de flujo de trabajo personalizada. También muestra cómo especificar un valor predeterminado para la propiedad.

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

DefaultAttribute

Puede usar la clase DefaultAttribute para especificar un valor predeterminado para un parámetro de entrada. Los siguientes ejemplos muestran cómo establecer el valor predeterminado para cada tipo mediante el atributo Default .

Bool

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

Fecha y hora

[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; }

Doble

[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; }

Dinero

[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; }

Cadena

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

ReferenceTargetAttribute

El tipo de atributo EntityReference requiere especificar el tipo de entidad al que se hace referencia mediante la clase ReferenceTargetAttribute . El siguiente ejemplo muestra cómo agregar los atributos de entrada y salida a un parámetro AccountReference en una actividad de flujo de trabajo personalizada mediante el atributo ReferenceTarget.

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

AttributeTargetAttribute

El tipo de atributo OptionSetValue requiere que especifique la entidad y el atributo a los que se hace referencia mediante la clase AttributeTargetAttribute. El siguiente ejemplo muestra cómo agregar los atributos de entrada y salida a un parámetro OptionSetValue en una actividad de flujo de trabajo personalizada mediante el atributo AttributeTarget.

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

RequiredArgumentAttribute

Puede usar la clase System.Activities.RequiredArgumentAttribute para especificar que se necesita un parámetro de entrada.

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

Ver también

Actividades de flujo de trabajo personalizadas (ensamblados de flujo de trabajo)
Agregar metadatos a una actividad de flujo de trabajo personalizada
Ejemplo: crear una actividad de flujo de trabajo personalizada

© 2017 Microsoft. Todos los derechos reservados. Copyright