Partager via


Créer un tableau de bord

 

Date de publication : novembre 2016

S’applique à : Dynamics CRM 2015

Les tableaux de bord appartenant à l’organisation peuvent être créés à l’aide du SDK Microsoft Dynamics CRM ou en personnalisant le formulaire d’entité dans Microsoft Dynamics 365 en modifiant le fichier customizations.xml.

Notes

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, consultez la rubrique 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 granulaire, 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, consultez Composants de tableau de bord et éléments du FormXML. Pour obtenir des exemples de FormXML de différents types de tableaux de bord, consultez Exemples de tableaux de bord.

Contenu de la rubrique

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

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

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

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);

'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.
Dim languageCode As Integer = 1033

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

Pour un exemple complet, consultez Exemple : Créer, récupérer, mettre à jour et supprimer un tableau de bord. Pour obtenir un exemple décrivant comment créer un tableau de bord appartenant à l’utilisateur et l’attribuer à un autre utilisateur, consultez 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 à Microsoft Dynamics 365.

  2. Exportez une solution. Pour savoir comment faire, consultez Exporter, préparer à modifier et importer le 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. *** </forms>   </FormXml></Dashboard>
    
  6. Enregistrez le fichier customizations.xml.

  7. Importez le fichier .zip en tant que solution dans Microsoft Dynamics 365.Pour plus d'informations :Exporter, préparer à modifier et importer le 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 du SDK Microsoft Dynamics CRM 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> (FormXml) pour une section que le nombre spécifié dans la propriété rowspan d’un élément <cell> (FormXml) de la section dans FormXML. Idéalement, la valeur de la propriété rowspan d’un élément <cell> (FormXml) et le nombre d’éléments <row> (FormXml) 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> (FormXml) pour une section que le nombre spécifié dans la propriété rowspan d’un élément <cell> (FormXml) 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> (FormXml) définie sur Auto pour la grille.

Résolution : assurez-vous de définir la valeur du paramètre <AutoExpand> (FormXml) 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> (FormXml) du contrôle IFRAME du FormXML.

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

Voir aussi

Analyser les données avec les tableaux de bord
Comprendre les tableaux de bord : composants et FormXML de tableau 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és

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