Criar um painel

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Os painéis de propriedade da organização podem ser criados com o SDK do Microsoft Dynamics 365 ou personalizando o formulário de entidade no Microsoft Dynamics 365 editando o arquivo customizations.xml.

Observação

Alguns painéis criados usando o SDK ou personalizando o formulário de entidade não são suportados pelo Designer de Painéis no aplicativo Web. Para obter mais informações, consulte Limitações: Criando painéis usando o SDK ou através da personalização de formulário, posteriormente neste tópico.

Antes de criar um painel, considere o seguinte:

  • Tipo de painel: Se quiser que os painéis estejam disponíveis na organização e não deseja gerenciar os níveis de acesso em um nível mais detalhado, convém criar um painel de propriedade da organização. Entretanto, se você está preocupado sobre privilégios de acesso e segurança do seu painel, considere criar um painel de propriedade do usuário onde você tem mais controle sobre quem pode acessá-lo.

    Para criar painéis de propriedade da organização, você deve ter o direito de acesso Administrador de Sistema ou Personalizador de Sistema.

  • Layout do Painel: Ao criar painéis, você precisa usar o FormXML para definir os componentes do painel e layout. Para obter informações sobre como trabalhar com o FormXML para definir um painel, consulte Componentes do painel e elementos FormXML. Para algumas amostras de FormXMLs de diferentes tipos de painéis, consulte Painéis de exemplo.

Neste tópico

Criar um painel usando o SDK

Criar um painel de propriedade da organização personalizando o formulário de entidades

Limitações: Criando painéis usando o SDK ou através da personalização de formulário

Criar um painel usando o SDK

Para criar um painel, crie uma instância do SystemForm para um painel de propriedade da organização ou UserForm para um painel de propriedade do usuário. A amostra a seguir mostra como criar um painel de propriedade da organização.


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

Para obter uma amostra completa, consulte: Exemplo: Criar, recuperar, atualizar e excluir um painel. Para uma amostra sobre como criar um painel de propriedade do usuário e atribuir para outro usuário, consulte Exemplo: atribuir um painel pertencente ao usuário a outro usuário.

Criar um painel de propriedade da organização personalizando o formulário de entidades

O arquivo customizations.xml exportado com uma solução não gerenciada contém definições para formulários de entidades e painéis. Você pode adicionar ou alterar o arquivo customizations.xml para adicionar ou atualizar um painel.

Criar um painel personalizando um formulário de entidades

  1. Entre no Microsoft Dynamics 365.

  2. Exportar uma solução. Para obter mais informações sobre como fazer isso, consulte Exportação, preparação para editar e importação da faixa de opções.

  3. Procure o arquivo customizations.xml na pasta de solução exportada e abra para edição.

  4. Navegue para o final da área de painéis no arquivo customizations.xml pesquisando pela seguinte marcação: </Dashboards>

  5. Antes da marcação </Dashboards>, adicione o seguinte para definir um novo painel:

    <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. Salve o arquivo customizations.xml.

  7. Importe o arquivo .zip como uma solução no Microsoft Dynamics 365.Para obter mais informações:Exportação, preparação para editar e importação da faixa de opções.

Limitações: Criando painéis usando o SDK ou através da personalização de formulário

Alguns painéis criados ou modificados usando o SDK do Microsoft Dynamics 365 ou através da personalização de formulário não são suportados pelo designer de painéis no aplicativo Web. Evite o seguinte ao criar ou modificar um painel usando o SDK ou através da personalização de formulário.

Geral

  • Problema: Você cria um painel com uma guia sem qualquer seção definida no FormXML.

    Solução: Certifique-se de criar um painel com pelo menos uma seção definida para cada guia no FormXML.

  • Problema: Você pode criar um painel que não tem o mesmo número de elementos <row> (FormXml) de uma seção como especificado na propriedade rowspan de um elemento <cell> (FormXml) da seção no FormXML. Idealmente, o valor de propriedade rowspan de um elemento <cell> (FormXml) e o número de elementos <row> (FormXml) em uma seção deve ser igual.

    Resolução: Certifique-se de que você pode criar um painel com o mesmo número de elementos <row> (FormXml) de uma seção como especificado na propriedade rowspan de um elemento <cell> (FormXml) da seção.

Grades

Problema: Você pode criar um painel contendo grades com o valor de parâmetro <AutoExpand> (FormXml) definido como Auto para a grade.

Resolução: Certifique-se de especificar o valor de parâmetro <AutoExpand> (FormXml) como Fixed para as grades no FormXML ao criar um painel.

IFRAMEs

Problema: Você pode criar um painel com um IFRAME. Isso acontece quando você não especifica nenhum valor do parâmetro <Url> (FormXml) para o controle IFRAME no FormXML.

Resolução: Certifique-se de especificar um valor para o parâmetro <Url> (FormXml) ao criar um IFRAME no FormXML.

Confira Também

Analisar dados com painéis
Compreender os painéis: Componentes dos painéis e FormXML
Ações em painéis
Painéis de exemplo
Exemplo: Criar, recuperar, atualizar e excluir um painel
Personalizar formulários de entidade

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais