Partager via


Exemple : Convertir le comportement de date et d'heure

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Cet exemple montre comment utiliser le message ConvertDateAndTimeBehaviorRequest pour convertir la valeur UTC à la valeur DateOnly de l'attribut de date et d'heure dans Dynamics 365 qui existe dans le système avant que le comportement de l'attribut soit modifié de UserLocal à DateOnly.Pour plus d'informations :Convertir le comportement des valeurs de date et heure dans la base de données.

Cet exemple est pour Mise à jour 1 de Microsoft Dynamics CRM Online 2015Microsoft Dynamics 365 (local). Vous pouvez le télécharger à partir de Convertir le comportement de date et d'heure.

Conditions préalables

  1. Accédez à une organisation Mise à jour 1 de Microsoft Dynamics CRM Online 2015 ou Microsoft Dynamics 365.

  2. Vous devez disposer du rôle administrateur système dans votre organisation Dynamics 365 pour pouvoir utiliser le message ConvertDateAndTimeBehaviorRequest qui est montré dans cet exemple. Sinon, cet exemple échoue.

  3. Télécharger le projet DateTimeAttributeBehaviorVisual Studio.

  4. Ouvrez le projet Visual Studio DateTimeAttributeBehavior et installez le package NuGet Microsoft.CrmSdk.CoreAssemblies version 7.1.0-preview. Pour plus d'instructions, voir Installer les packages NuGet.

    Après avoir installé les packages NuGet, voir Exécuter l'exemple pour obtenir des instructions sur le mode d'exécution de l'exemple et les prévisions possibles.

Contenu de la rubrique

En quoi consiste cet exemple :

Installer les packages NuGet

Exécuter l'exemple

En quoi consiste cet exemple :

  1. La méthode Run de la classe ConvertDateandTimeBehavior vérifie si vous exécutez la version appropriée de Dynamics 365 pour l'exemple.

  2. La méthode CreateRequiredRecords crée les enregistrements requis pour l'exemple :

    1. Crée un attribut de date et d'heure pour l'entité Account avec le comportement UserLocal.

    2. Crée un exemple d'enregistrement de compte avec la valeur March 31, 2015 11:00 PM UTC dans le nouvel attribut de date et d'heure.

    3. Modifie le comportement de l'attribut de date et d'heure par DateOnly.

    4. Crée un autre exemple d'enregistrement de compte avec la valeur March 31, 2015 11:00 PM UTC dans le nouvel attribut de date et d'heure. Comme l'attribut est désormais DateOnly, les éléments horaires sont ignorés et enregistrés dans le système en tant que March 31, 2015 00:00:00.

    5. Récupère la valeur de l'attribut de date et d'heure dans les deux enregistrements de comptes. Comme le comportement est modifié, les deux valeurs sont affichées en tant que March 31, 2015 00:00:00. Cependant, la valeur du premier enregistrement de compte est toujours au format UTC (March 31, 2015 11:00 PM) dans la base de données.

  3. Exécute le message SDK ConvertDateAndTimeBehaviorRequest pour créer une tâche asynchrone pour convertir les valeurs UTC dans l'attribut de date et d'heure en une valeur DateOnly. La règle de conversion du message SDK convertit la valeur selon le code de fuseau horaire IST (Inde) dans 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. Récupère la valeur de l'attribut de date et d'heure dans les deux enregistrements de comptes après la conversion. La valeur UTC du premier enregistrement de compte est convertie en 1er avril, au lieu de 31 mars, car la conversion s'est produite selon le fuseau horaire IST (Inde). La valeur du deuxième enregistrement de compte n'est pas affectée, car il s'agissait déjà d'une valeur DateOnly.

  5. Enfin, les invites de méthode DeleteRequiredRecords vous permettent de supprimer les enregistrements d'entité et l'attribut personnalisé de date et d'heure créé pendant l'exécution de l'exemple :

    1. Tapez y, puis appuyez sur Entrée pour supprimer les enregistrements d'entité et l'attribut personnalisé de votre organisation.

    2. Tapez n, puis appuyez sur Entrée pour conserver les enregistrements d'entité et l'attribut personnalisé dans votre organisation. Vous devrez les supprimer manuellement si vous souhaitez revenir à l'état d'origine.

Installer les packages NuGet

Suivez les étapes suivantes pour installer les assemblys requis par exemple :

  1. Téléchargez cet exemple et extrayez les fichiers.

  2. Accédez au dossier C# et ouvrez le fichier DateTimeAttributeBehavior.sln à l'aide de Visual Studio.

  3. Dans Visual Studio, cliquez avec le bouton droit sur le projet DateTimeAttributeBehavior et choisissez Gérer les packages NuGet.

  4. Pour la version de prévisualisation, veillez à sélectionner Inclure la version préliminaire au lieu de Stable uniquement dans les critères de recherche. Ensuite recherchez « Microsoft Dynamics CRM 2015 SDK core assemblies ». Veillez à sélectionner la version 7.1.0-preview.

  5. Cliquez sur Installer. Vous devrez accepter les termes du contrat de licence pour terminer l'installation de ce package.

Exécuter l'exemple

  1. Dans Visual Studio, avec la solution ouverte et les packages NuGet nécessaires installés, appuyez sur F5.

  2. Si vous n'avez pas déjà exécuté l'un des exemples de code gérés Microsoft Dynamics 365, vous devez entrer les informations permettant d'exécuter le code. Sinon, entrez le numéro de l'un des serveurs Dynamics 365 que vous avez déjà configurés.

    Invite

    Description

    Entrer un nom de serveur Dynamics 365 et de port CRM [crm.dynamics.com]

    Tapez le nom de votre serveur Microsoft Dynamics 365. La valeur par défaut est Microsoft Dynamics 365 (Online) (crm.dynamics.com) en Amérique du Nord.

    Exemple :
    crm5.dynamics.com

    Est-ce que cette organisation est mise en service dans les services en ligne de Microsoft (y/n) [n] ?

    Tapez y s'il s'agit d'une organisation mise en service dans les services en ligne de Microsoft. Sinon, tapez n.

    Entrez le domaine\nomutilisateur.

    Tapez votre compte Microsoft.

    Entrez le mot de passe.

    Tapez votre mot de passe. Dans la fenêtre, les caractères s’afficheront sous la forme de « * ». Le mot de passe est enregistré de façon sécurisée dans le gestionnaire d’informations d’identification Microsoft pour être réutilisé ultérieurement.

    Spécifiez un numéro d'organisation (1-n) [1].

    Dans la liste des organisations auxquelles vous appartenez, tapez le numéro correspondant. La valeur par défaut est 1, indiquant la première organisation de la liste.

  3. L'exemple effectuera les opérations décrites dans En quoi consiste cet exemple : et pourra vous demander des options supplémentaires.

  4. À la fin de l'exemple, appuyez sur ENTRÉE pour fermer la fenêtre de la console.

Voir aussi

ConvertDateAndTimeBehaviorRequest
Comportement et format de l'attribut Date et heure
Personnaliser les métadonnées d’attribut d’entité

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright