Partekatu honen bidez:


Ejemplo: Convertir el comportamiento de fecha y hora

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Este ejemplo demuestra cómo usar el mensaje ConvertDateAndTimeBehaviorRequest para convertir el valor UTC al valor DateOnly del atributo de fecha y hora en Dynamics 365 que existen en el sistema antes de cambiar el comportamiento del atributo de UserLocal a DateOnly.Más información:Convertir el comportamiento de valores existentes de fecha y hora en la base de datos.

Este código de ejemplo es para Actualización 1 de Microsoft Dynamics CRM Online 2015 y Microsoft Dynamics 365 (local). Esta opción está disponible para descargar desde Convertir comportamiento de fecha y hora.

Requisitos previos

  1. Obtenga acceso a una organización de Actualización 1 de Microsoft Dynamics CRM Online 2015 o Microsoft Dynamics 365.

  2. Tiene el rol de administrador del sistema en su organización de Dynamics 365 para poder usar el mensaje ConvertDateAndTimeBehaviorRequest que se demuestra en este ejemplo. En caso contrario, este ejemplo producirá un error.

  3. Descargue el proyecto DateTimeAttributeBehaviorVisual Studio.

  4. Abra el proyecto DateTimeAttributeBehavior Visual Studio e instale el paquete NuGet de Microsoft.CrmSdk.CoreAssemblies versión 7.1.0-preview. Vea Instalar paquetes NuGet más adelante para obtener instrucciones.

    Después de instalar los paquetes NuGet, consulte Ejecutar el ejemplo para obtener instrucciones sobre cómo ejecutar el ejemplo y qué esperar.

En este tema

Qué hace este ejemplo

Instalar paquetes NuGet

Ejecutar el ejemplo

Qué hace este ejemplo

  1. El método Run de la clase ConvertDateandTimeBehavior comprueba si está ejecutando la versión adecuada de Dynamics 365 para el ejemplo.

  2. El método CreateRequiredRecords crea los registros necesarios para el ejemplo:

    1. Crea un atributo de fecha y hora de ejemplo para la entidad Account con el comportamiento UserLocal.

    2. Crea un registro de cuenta de ejemplo con el valor March 31, 2015 11:00 PM UTC en el atributo de fecha y hora.

    3. Cambia el comportamiento del atributo de fecha y hora a DateOnly.

    4. Crea otro registro de cuenta de ejemplo con el valor March 31, 2015 11:00 PM UTC en el atributo de fecha y hora. Dado que el atributo es ahora DateOnly, la parte de hora se omite y se guarda en el sistema como March 31, 2015 00:00:00.

    5. Recupera el valor del atributo de fecha y hora en ambos registros de cuenta. Dado que el comportamiento cambia, ambos valores se muestran como March 31, 2015 00:00:00. Sin embargo, el valor del primer registro de cuenta sigue estando en UTC (March 31, 2015 11:00 PM) en la base de datos.

  3. Ejecuta el mensaje del SDK ConvertDateAndTimeBehaviorRequest para crear un trabajo asincrónico para convertir los valores UTC en el atributo de fecha y hora en un valor de DateOnly. La regla de conversión en el mensaje del SDK convierte el valor según el código de zona horaria de la hora estándar de India (IST) en Dynamics 365 (190).

    
    ConvertDateAndTimeBehaviorRequest request = new ConvertDateAndTimeBehaviorRequest()
    {
        Attributes = new EntityAttributeCollection() 
                { 
                    new KeyValuePair<string, StringCollection>("account", new StringCollection() 
                    { "new_sampledatetimeattribute" }) 
                },
        ConversionRule = DateTimeBehaviorConversionRule.SpecificTimeZone.Value,
        TimeZoneCode = 190, // Time zone code for India Standard Time (IST) in CRM
        AutoConvert = false // Conversion must be done using ConversionRule
    };
    
    // Execute the request
    ConvertDateAndTimeBehaviorResponse response = (ConvertDateAndTimeBehaviorResponse)_serviceProxy.Execute(request);
    
  4. Recupera el valor del atributo de fecha y hora en ambos registros de cuenta después de la conversión. El valor UTC en el primer registro de cuenta se convierte a 1 de abril, en lugar de 31 de marzo porque la conversión sucedió de acuerdo con la zona horaria de la hora estándar de India (IST). El valor en el segundo registro de cuenta no se ve afectado porque ya era un valor de DateOnly.

  5. Finalmente, el método DeleteRequiredRecords le pide que elimine los registros de entidad y el atributo de fecha y hora personalizado creado durante la ejecución del ejemplo:

    1. Escriba y, y presione ENTRAR para eliminar los registros de entidad y el atributo personalizado de la organización.

    2. Escriba n, y presione ENTRAR para dejar los registros de entidad y el atributo personalizado en la organización. Tendrá que eliminarlos manualmente más adelante si desea volver al estado original.

Instalar paquetes NuGet

Use los siguientes pasos para instalar los ensamblados necesarios para este ejemplo:

  1. Descargue este ejemplo y extraiga los archivos.

  2. Navegue a la carpeta de C# y abra el archivo DateTimeAttributeBehavior.sln con Visual Studio.

  3. En Visual Studio, haga clic con el botón secundario en el proyecto DateTimeAttributeBehavior y elija Administrar paquetes de NuGet.

  4. Para la versión de vista previa, asegúrese de seleccionar Incluir vista previa en lugar de Solo estable en los criterios de búsqueda. A continuación busque "Microsoft Dynamics CRM 2015 SDK core assemblies". Asegúrese de seleccionar la versión 7.1.0-preview.

  5. Haga clic en Instalar. Necesitará aceptar los términos de licencia para completar la instalación de este paquete.

Ejecutar el ejemplo

  1. En Visual Studio, con la solución abierta y los paquetes NuGet necesarios instalados, presione F5.

  2. Si no ha ejecutado anteriormente uno de los ejemplos de código administrado de Microsoft Dynamics 365 antes, deberá especificar información para ejecutar el código; si no, especifique el número de uno de los servidores de Dynamics 365 que configuró anteriormente.

    Pregunta

    Descripción

    Escriba un nombre de servidor y un puerto de Dynamics 365 [crm.dynamics.com]

    Escriba el nombre del servidor de Microsoft Dynamics 365. El valor predeterminado es Microsoft Dynamics 365 (online) (crm.dynamics.com) en Norteamérica.

    Ejemplo:
    crm5.dynamics.com

    Está esta organización aprovisionada en servicios en línea de Microsoft (y/n) [n]

    Escriba y si esta es una organización aprovisionada en servicios en línea de Microsoft. De lo contrario, escriba n.

    Escriba domain\username

    Escriba su cuenta de Microsoft.

    Escriba la contraseña

    Escriba la contraseña. Los caracteres se mostrarán en la ventana como "*". Su contraseña se guardará con seguridad en el Administrador de credenciales de Microsoft para poder utilizarla posteriormente.

    Especifique un número de organización (1-n) [1]

    En la lista de organizaciones que muestra que usted pertenece, escriba el número correspondiente. El valor predeterminado es 1, que indica la primera organización de la lista.

  3. El ejemplo realizará las operaciones descritas en Qué hace este ejemplo y puede pedirle opciones adicionales.

  4. Cuando se completa el ejemplo, presione ENTRAR para cerrar la ventana de la consola.

Ver también

ConvertDateAndTimeBehaviorRequest
Comportamiento y formato del atributo de fecha y hora
Personalizar metadatos de atributos de entidad

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright