Créer un tableau de bord

Les tableaux de bord appartenant à l’organisation peuvent être créés à l’aide des services Web Dynamics 365 Customer Engagement (SDK) ou en personnalisant le formulaire d’entité dans Dynamics 365 for Customer Engagement en modifiant le fichier customizations.xml.

Note

Certains tableaux de bord créés à l’aide du Kit de développement logiciel (SDK) ou en personnalisant le formulaire d’entité ne sont pas pris en charge par le concepteur de tableau de bord dans l’application web. Pour plus d’informations, voir Limitations : création de tableaux de bord à l’aide du Kit de développement logiciel (SDK) ou via la personnalisation de formulaire plus loin dans cette rubrique.

Avant de créer un tableau de bord, prenez en compte les éléments suivants :

  • Type de tableau de bord : si vous souhaitez que vos tableaux de bord soient disponibles dans toute l’organisation et vous ne souhaitez pas gérer les niveaux d’accès à un niveau plus détaillé, vous pouvez créer un tableau de bord appartenant à l’organisation. En revanche, si vous êtes préoccupé par les privilèges d’accès et la sécurité de votre tableau de bord, envisagez de créer un tableau de bord appartenant à l’utilisateur qui vous permet d’avoir plus de contrôle sur les utilisateurs qui peuvent y accéder.

    Pour créer des tableaux de bord appartenant à l’organisation, vous devez détenir le rôle Administrateur système ou Personnalisateur de système.

  • Disposition du tableau de bord : lorsque vous créez des tableaux de bord, vous devez utiliser FormXML pour définir les composants et la disposition du tableau de bord. Pour plus d’informations sur l’utilisation de FormXML pour définir un tableau de bord, voir Composants de tableau de bord et éléments du FormXML. Pour obtenir des exemples de FormXML de différents types de tableaux de bord, voir Exemples de tableaux de bord.

Créer un tableau de bord à l’aide du Kit de développement logiciel (SDK)

Pour créer un tableau de bord, créez une instance de SystemForm pour un tableau de bord appartenant à l’organisation, ou de UserForm pour un tableau de bord appartenant à l’utilisateur. L’exemple suivant montre comment créer un tableau de bord appartenant à l’organisation.



//This is the language code for U.S. English. If you are running this code
//in a different locale, you will need to modify this value.
int languageCode = 1033;

//We set up our dashboard and specify the FormXml. Refer to the
//FormXml schema in the Microsoft Dynamics CRM SDK for more information.
SystemForm dashboard = new SystemForm
{
    Name = "Sample Dashboard",
    Description = "Sample organization-owned dashboard.",
    FormXml = String.Format(@"<form>
            <tabs>
                <tab name='Test Dashboard' verticallayout='true'>
                    <labels>
                        <label description='Sample Dashboard' languagecode='{0}' />
                    </labels>
                    <columns>
                        <column width='100%'>
                            <sections>
                                <section name='Information Section'
                                    showlabel='false' showbar='false'
                                    columns='111'>
                                    <labels>
                                        <label description='Information Section'
                                            languagecode='{0}' />
                                    </labels>
                                    <rows>
                                        <row>
                                            <cell colspan='1' rowspan='10' 
                                                showlabel='false'>
                                                <labels>
                                                    <label description='Top Opportunitiess - 1'
                                                    languagecode='{0}' />
                                                </labels>
                                                <control id='TopOpportunities'
                                                    classid='{{E7A81278-8635-4d9e-8D4D-59480B391C5B}}'>
                                                    <parameters>
                                                        <ViewId>{1}</ViewId>
                                                        <IsUserView>false</IsUserView>
                                                        <RelationshipName />
                                                        <TargetEntityType>opportunity</TargetEntityType>
                                                        <AutoExpand>Fixed</AutoExpand>
                                                        <EnableQuickFind>false</EnableQuickFind>
                                                        <EnableViewPicker>false</EnableViewPicker>
                                                        <EnableJumpBar>false</EnableJumpBar>
                                                        <ChartGridMode>Chart</ChartGridMode>
                                                        <VisualizationId>{2}</VisualizationId>
                                                        <EnableChartPicker>false</EnableChartPicker>
                                                        <RecordsPerPage>10</RecordsPerPage>
                                                    </parameters>
                                                </control>
                                            </cell>
                                            <cell colspan='1' rowspan='10' 
                                                showlabel='false'>
                                                <labels>
                                                    <label description='Top Opportunities - 2'
                                                    languagecode='{0}' />
                                                </labels>
                                                <control id='TopOpportunities2'
                                                    classid='{{E7A81278-8635-4d9e-8D4D-59480B391C5B}}'>
                                                    <parameters>
                                                        <ViewId>{1}</ViewId>
                                                        <IsUserView>false</IsUserView>
                                                        <RelationshipName />
                                                        <TargetEntityType>opportunity</TargetEntityType>
                                                        <AutoExpand>Fixed</AutoExpand>
                                                        <EnableQuickFind>false</EnableQuickFind>
                                                        <EnableViewPicker>false</EnableViewPicker>
                                                        <EnableJumpBar>false</EnableJumpBar>
                                                        <ChartGridMode>Grid</ChartGridMode>
                                                        <VisualizationId>{2}</VisualizationId>
                                                        <EnableChartPicker>false</EnableChartPicker>
                                                        <RecordsPerPage>10</RecordsPerPage>
                                                    </parameters>
                                                </control>
                                            </cell>
                                        </row>
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                        <row />
                                    </rows>
                                </section>
                            </sections>
                        </column>
                    </columns>
                </tab>
            </tabs>
        </form>",
    languageCode,
    defaultOpportunityQuery.SavedQueryId.Value.ToString("B"),
    visualization.SavedQueryVisualizationId.Value.ToString("B")),
    IsDefault = false
};
_dashboardId = _serviceProxy.Create(dashboard);

Pour obtenir un exemple complet, voir Exemple : créer, récupérer, mettre à jour et supprimer un tableau de bord. Pour obtenir un exemple pour créer un tableau de bord appartenant à l’utilisateur, et l’attribuer à un autre utilisateur, voir Exemple : attribuer un tableau de bord appartenant à un utilisateur à un autre utilisateur.

Créer un tableau de bord appartenant à l’organisation en personnalisant le formulaire d’entité

Le fichier customizations.xml exporté avec une solution non gérée contient les définitions des formulaires d’entité et des tableaux de bord. Vous pouvez ajouter ou modifier le fichier customizations.xml pour ajouter ou mettre à jour un tableau de bord.

Créer un tableau de bord en personnalisant un formulaire d’entité

  1. Connectez-vous à Dynamics 365 for Customer Engagement.

  2. Exportez une solution. Pour plus d’informations sur la procédure, voir Exportation, préparation de la modification et importation du ruban.

  3. Accédez au fichier customizations.xml dans le dossier des solutions exportées, puis ouvrez-le pour modification.

  4. Accédez à la fin de la zone des tableaux de bord dans le fichier customizations.xml et recherchez la balise suivante : </Dashboards>

  5. Avant la balise </Dashboards>, ajoutez la syntaxe suivante pour définir un nouveau tableau de bord :

    <Dashboard>  
       <LocalizedNames>  
          <LocalizedName description="Dashboard_Name" languagecode="1033" />  
       </LocalizedNames>     
       <IsCustomizable>1</IsCustomizable>  
       <IsDefault>0</IsDefault>  
       <FormXml>  
          <forms type="dashboard">  
    *** Dashboard definition goes here. *** // See “Sample Dashboards” topic for the FormXML content to be used here.  
          </forms>  
       </FormXml>  
    </Dashboard>  
    
  6. Enregistrez le fichier customizations.xml.

  7. Importez le fichier .zip en tant que solution dans Dynamics 365 for Customer Engagement. Pour plus d’informations : Exportation, préparation à la modification et importation du ruban.

Limitations : création de tableaux de bord à l’aide du Kit de développement logiciel (SDK) ou via la personnalisation de formulaire

Certains tableaux de bord créés ou modifiés à l’aide des services Web Dynamics 365 Customer Engagement Web Services ou via la personnalisation de formulaire ne sont pas pris en charge par le concepteur de tableau de bord dans l’application web. Évitez les erreurs suivantes lors de la création ou de la modification d’un tableau de bord à l’aide du Kit de développement logiciel (SDK) ou via la personnalisation de formulaire.

Général

  • Problème : vous pouvez créer un tableau de bord contenant un onglet sans une section définie dans FormXML.

    Résolution : assurez-vous de créer un tableau de bord avec au moins une section définie pour chaque onglet de FormXML.

  • Problème : vous pouvez créer un tableau de bord qui ne contient pas le même nombre d’éléments <row> pour une section que le nombre spécifié dans la propriété rowspan d’un élément <cell> de la section dans FormXML. Idéalement, la valeur de la propriété rowspan d’un élément <cell> et le nombre d’éléments <row> dans une section doivent être identiques.

    Résolution : assurez-vous de créer un tableau de bord qui contient le même nombre d’éléments <row> pour une section que le nombre spécifié dans la propriété rowspan d’un élément <cell> de la section.

Grilles

Problème : vous pouvez créer un tableau de bord qui contient des grilles avec la valeur du paramètre <AutoExpand> définie sur Auto pour la grille.

Résolution : assurez-vous de définir la valeur du paramètre <AutoExpand> sur Fixed pour les grilles du FormXML lors de la création d’un tableau de bord.

IFRAME

Problème : vous pouvez créer un tableau de bord qui contient un IFRAME. Cela se produit lorsque vous ne spécifiez pas de valeur pour le paramètre <Url> du contrôle IFRAME du FormXML.

Résolution : assurez-vous de spécifier une valeur pour le paramètre <Url> lors de la création d’un contrôle IFRAME dans FormXML.

Voir aussi

Tableaux de bord pour Microsoft Dynamics 365 Customer Engagement
Utilisation de FormXML pour les tableaux de bord
Actions sur les tableaux de bord
Exemples de tableaux de bord
Exemple : créer, récupérer, mettre à jour et supprimer un tableau de bord
Personnaliser les formulaires d’entité dans Microsoft Dynamics 365 Customer Engagement