Abrir formulários, exibições, caixas de diálogo e relatórios com uma URL

 

Publicado: janeiro de 2017

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

Os elementos endereçáveis do URL permitem incluir links para formulários, exibições, caixas de diálogo e relatórios do Microsoft Dynamics 365 em outros aplicativos. Assim, é possível estender facilmente outros aplicativos, relatórios ou sites de modo que os usuários possam exibir informações e executar ações sem alternar aplicativos.

Observação

  • Formulários endereçáveis de URL, exibições, caixas de diálogo e relatórios não podem ignorar a segurança do Microsoft Dynamics 365. Somente os usuários licenciados do Microsoft Dynamics 365, com base nas funções de segurança, podem acessar os dados e os registros que veem.

  • Use o Xrm.Utility.openEntityForm ao abrir formulários de entidade de forma programática no aplicativo usando os recursos da Web. Não use o window.open.

  • Fora do aplicativo, onde as páginas não têm acesso à função Xrm.Utility.openEntityForm, use o window.open ou um link para abrir um registro ou um formulário específico para uma entidade. O aplicativo inteiro será aberto para qualquer um dos Entidades atualizadas.

Neste tópico

Formulários e exibições endereçáveis da URL

  • Parâmetros de cadeia de caracteres de consulta para a página Main.aspx

  • Copiar a URL para uma exibição

  • Mostrar uma exibição na navegação do aplicativo usando o mapa do site

Abrir um processo de diálogo usando uma URL

Abrir um relatório usando uma URL

Formulários e exibições endereçáveis da URL

Todos os formulários e exibições da entidade são exibidos na página main.aspx. Os parâmetros da cadeia de caracteres de consulta informados para essa página controlam o que será exibido. Por exemplo:

  • Para abrir um novo registro de entidade da conta para o Microsoft Dynamics 365 no local:

    http://mycrm/myOrg/main.aspx?etn=account&pagetype=entityrecord
    
  • Para abrir um formulário de registro de entidade da conta para o Microsoft Dynamics 365 (online) em que o id é {91330924-802A-4B0D-A900-34FD9D790829}:

    http://myorg.crm.dynamics.com/main.aspx?etn=account&pagetype=entityrecord&id=%7B91330924-802A-4B0D-A900-34FD9D790829%7D
    
  • Para abrir a exibição Oportunidades fechadas para o Microsoft Dynamics 365 (online):

    http://myorg.crm.dynamics.com/main.aspx?etn=opportunity&pagetype=entitylist&viewid=%7b00000000-0000-0000-00AA-000010003006%7d&viewtype=1039
    
  • Para abrir a exibição Contatos ativos para o Microsoft Dynamics 365 (online) sem barra de navegação ou barra de comandos

    http://myorg.crm.dynamics.com/main.aspx?etn=contact&pagetype=entitylist&viewid={00000000-0000-0000-00AA-000010001004}&viewtype=1039&navbar=off&cmdbar=false
    

Observação

Não é suportado abrir formulários de entidade em uma janela de diálogo usando showModalDialog ou showModelessDialog.

A exibição de um formulário de entidade dentro de um IFrame inserido em outro formulário de entidade não tem suporte.

Geralmente, você usa o método getClientUrl para recuperar a URL raiz da organização para o Microsoft Dynamics 365 e o Microsoft Dynamics 365 (online) no local.

Parâmetros de cadeia de caracteres de consulta para a página Main.aspx

Dica

Para obter o valor da ID de qualquer registro, use o botão Enviar um link na barra de comandos. A seguir, há um exemplo do que será aberto no aplicativo de email:

<http://mycrm/myOrg/main.aspx?etc=4&id=%7b899D4FCF-F4D3-E011-9D26-00155DBA3819%7d&pagetype=entityrecord>.

O parâmetro de id informado para a URL é o valor de id codificado para o registro. Neste exemplo, o valor de id é {899D4FCF-F4D3-E011-9D26-00155DBA3819}. A versão codificada da GUID substitui os parênteses de abertura e de fechamento “{” e “}” por “%7B” e “%7D”, respectivamente,

A seguir, estão os parâmetros de cadeia de caracteres de consulta usados com a página main.aspx para abrir formulários e exibições da entidade:

Parâmetro

Descrição

etn

O nome lógico da entidade.

Importante

Não use o parâmetro etc (código do tipo de entidade) que contenha um código de número inteiro para a entidade. Esse código de número inteiro varia para entidades personalizadas em diferentes organizações.

extraqs

Opcional para formulários. Esse parâmetro contém parâmetros codificados nesse parâmetro.

Use esse parâmetro para informar valores para um formulário. Para obter mais informações, consulte Definir valores de campo usando parâmetros transmitidos a um formulário.

Quando uma entidade tiver mais de um formulário definido, você poderá usar esse parâmetro para especificar qual formulário abrir para transmitir o parâmetro codificado formid com o valor igual ao valor de ID do formulário. Por exemplo, para abrir um formulário com a ID de ‘6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf’, inclua esse valor no parâmetro extraqs: formid%3D6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf%0D%0A.

pagetype

O tipo de página. Há dois valores possíveis:

  • entityrecord

    Exibe um formulário de registro de entidade.

  • entitylist

    Exibe uma exibição de entidade.

id

Opcional para formulários. Use isso ao abrir um registro de entidade específico. Informe o identificador de GUID codificado para a entidade. A versão codificada da GUID substitui os parênteses de abertura e de fechamento “{“ e “}” por “%7B” e “%7D”, respectivamente, por exemplo, {91330924-802A-4B0D-A900-34FD9D790829} é %7B91330924-802A-4B0D-A900-34FD9D790829%7D.

viewid

Obrigatório para exibições. Esta é a ID do registro da entidade savedquery ou userquery que define a exibição. A maneira mais fácil de obter a URL de uma exibição é copiá-la. Para obter mais informações, consulte Copiar a URL para uma exibição.

viewtype

Define o tipo de exibição. Os valores possíveis são os seguintes:

  • 1039

    Use para uma exibição do sistema. O viewid representa a Id de um registro savedquery.

  • 4230

    Use para uma exibição pessoal. O viewid representa a Id de um registro userquery.

navbar

Controla se a barra de navegação é exibida e se a navegação do aplicativo está disponível usando as áreas e as subáreas definidas no mapa do site.

  • on

    A barra de navegação é exibida. Esse é o comportamento padrão se o parâmetro navbar não for usado.

  • off

    A barra de navegação não é exibida. Pessoas podem navegar usando outros elementos da interface com o usuário ou os botões de retrocesso e de avanço.

  • entity

    Em um formulário de entidade, somente as opções de navegação para entidades relacionadas estão disponíveis. Após a navegação para uma entidade relacionada, um botão de retrocesso é exibido na barra de navegação para permitir o retorno ao registro original.

cmdbar

Controla se a barra de comandos é exibida.

Observação

Esse recurso suporta requisitos para o aplicativo Unified Service Desk for Microsoft Dynamics 365.
O uso disso para exibir um formulário de entidade dentro de um IFrame inserido em outro formulário de entidade não tem suporte.

  • true

    A barra de comandos é exibida. Esse é o padrão.

  • false

    A barra de comandos é ocultada.

Copiar a URL para uma exibição

Muitas exibições no Microsoft Dynamics 365 permitem que um usuário copie a URL de uma exibição específica ou envie um email com a URL de uma exibição específica incorporada na mensagem. Esse recurso facilita a comunicação entre os usuários e expõe uma maneira para você obter acesso à URL de uma exibição que os usuários podem incluir em outro aplicativo, como o local do SharePoint.

Observação

Não use essa URL para incluir a exibição na navegação do aplicativo usando o mapa do site. Para obter mais informações, consulte Mostrar uma exibição na navegação do aplicativo usando o mapa do site.

A página exibida pela URL inclui a exibição completa. Isso inclui a faixa de opções, mas não inclui a navegação do aplicativo.

Obter a URL para uma exibição

  1. Abra a exibição que você deseja usar.

  2. Na barra de comandos, clique em Enviar um link e, em seguida, clique em Da exibição atual.

  3. Cole o link no Bloco de Notas e edite-o para extrair apenas a parte da URL com o texto desejado.

Observação

  • Exibições que usam o contexto do usuário como um parâmetro, como Minhas contas, não podem ser copiadas.

  • A GUID que representa as exibições do sistema para entidades do sistema será a mesma para cada instalação do Microsoft Dynamics 365 no local. A GUID para entidades personalizadas e exibições personalizadas será exclusiva para cada instalação do Microsoft Dynamics 365.

Mostrar uma exibição na navegação do aplicativo usando o mapa do site

Ao personalizar a navegação do aplicativo usando o mapa do site, não use a URL de exibição que copiou do aplicativo usando as etapas descritas em Copiar a URL para uma exibição para definir como a URL. Essa URL exibe uma página que inclui a faixa de opções e produz resultados indesejados se for usada em um atributo de URL <SubArea> (SiteMap).

Para exibir uma lista de registros da entidade no aplicativo para uma SubArea, defina o valor de atributo da entidade. Isso mostra a exibição padrão dessa entidade e fornece o título e o ícone corretos.

No entanto, se quiser ter um elemento de SubArea que usa uma exibição padrão inicial específica, use o seguinte padrão de URL.

Url=“/_root/homepage.aspx?etn=<entity logical name >&amp;viewid=%7b<GUID value of view id>%7d”

Ao usar essa URL, especifique também valores adequados para <Titles> (SiteMap) e <Descriptions> (SiteMap) e especifique um ícone para a entidade.

Observação

Se você especificar a exibição usando a página /_root/homepage.aspx, o seletor de exibição ainda será mostrado. Se o usuário alterar a exibição, o Microsoft Dynamics 365 lembrará a seleção mais recente do usuário e as exibições iniciais de exibição padrão depois que ele fechar e reabrir o navegador.

Abrir um processo de diálogo usando uma URL

Uma personalização comum é habilitar um usuário para abrir um processo de diálogo específico no contexto de um determinado registro. Por exemplo, talvez você queira adicionar um botão personalizado na faixa de opções de uma entidade específica usando o valor de ID do registro atual como um parâmetro de entrada do processo de diálogo.

Para abrir uma caixa de diálogo, é necessário o seguinte:

  • O identificador exclusivo da caixa de diálogo.

  • O nome lógico da entidade para a qual a caixa de diálogo foi criada.

  • O identificador exclusivo do registro com o qual você deseja executar a caixa de diálogo.

Dica

Para obter o identificador exclusivo para a caixa de diálogo, navegue até Configurações, na solução padrão, selecione Processos. Selecione um processo e, nas opções de Ações da barra de comandos, clique em Copiar um Link. Isso copiará um link para editar a caixa de diálogo na área de transferência, por exemplo, [URL da organização]/sfa/workflow/edit.aspx?id=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d.

O exemplo a seguir mostra os parâmetros da URL e da cadeia de caracteres de consulta para abrir uma caixa de diálogo:

[organization url]/cs/dialog/rundialog.aspx?DialogId=[dialog unique identifier]&EntityName=[entity logical name]&ObjectId=[unique identifier for the record]

Por exemplo, para abrir a caixa de diálogo com a id ={6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976} com a ID do registro da conta = {40C9ADFD-90A8-DF11-840E-00155DBA380F}, use a URL no exemplo a seguir.

[organization url]/cs/dialog/rundialog.aspx?DialogId=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d&EntityName=account&ObjectId=%7b40C9ADFD-90A8-DF11-840E-00155DBA380F%7d

Dica

Em navegadores diferentes de Internet Explorer, se um processo de diálogo for aberto de um link, o botão Concluir pode não funcionar. Os dados serão salvos, mas o usuário precisará clicar no botão Fechar na janela para fechá-la. Isso ocorre porque outros navegadores não oferecem um método de window.close se a janela não for aberta usando JavaScript de outra janela. Quando possível, use JavaScript e o método de window.open para abrir os processos de caixa de diálogo, em vez de apenas fornecer links.

Você pode criar uma função JavaScript para abrir a caixa de diálogo conforme mostrado no exemplo a seguir:

function openDialogProcess(dialogId, entityName, objectId)
{
 var url = Xrm.Page.context.getClientUrl() +
  "/cs/dialog/rundialog.aspx?DialogId=" +
  dialogId + "&EntityName=" +
  entityName + "&ObjectId=" +
  objectId;
 window.open(url);
}

Abrir um relatório usando uma URL

Você pode abrir um relatório transmitindo valores de parâmetro adequados para a seguinte URL: [organization url]/crmreports/viewer/viewer.aspx.

Essa URL aceita os seguintes parâmetros:

  • ação
    Dois valores possíveis para esse parâmetro são run ou filter. Quando o run for usado, o relatório será exibido usando os filtros padrão. Quando o filter for usado, o relatório exibirá um filtro que o usuário pode editar antes de escolher o botão Executar relatório para visualizar o relatório.

  • helpID
    Esse parâmetro é opcional. Para relatórios incluídos no Microsoft Dynamics 365, o valor desse parâmetro permite que o botão Ajuda exiba o conteúdo apropriado sobre esse relatório quando Ajuda sobre esta página será escolhido. O valor deve coincidir com o valor de atributo de relatório do FileName.

  • id
    Esse parâmetro é o valor de atributo de relatório do ReportId.

Os exemplos a seguir mostram as URLs que podem ser usadas para abrir relatórios no Microsoft Dynamics 365.

  • Abra o relatório Ocorrências inativas usando o filtro padrão:

    [organization url]/crmreports/viewer/viewer.aspx?action=run&helpID=Neglected%20Cases.rdl&id=%7b8c9f3e6f-7839-e211-831e-00155db7d98f%7d
    
  • Abra o relatório Artigos principais da Base de Dados de Conhecimento e solicite que o usuário defina os valores do filtro:

    [organization url]/crmreports/viewer/viewer.aspx?action=filter&helpID=Top%20Knowledge%20Base%20Articles.rdl&id=%7bd84ec390-7839-e211-831e-00155db7d98f%7d
    

A função a seguir mostra como codificar corretamente os valores na URL:

function getReportURL(action,fileName,id) {
 var orgUrl = GetGlobalContext().getClientUrl();
 var reportUrl = orgUrl + 
  "/crmreports/viewer/viewer.aspx?action=" +
  encodeURIComponent(action) +
  "&helpID=" +
  encodeURIComponent(fileName) +
  "&id=%7b" +
  encodeURIComponent(id) +
  "%7d";
 return reportUrl;
}

Confira Também

Estender o Microsoft Dynamics 365 no cliente
Definir valores de campo usando parâmetros transmitidos a um formulário
Configurar um formulário para aceitar parâmetros de cadeia de caracteres de consulta personalizados
Alterar navegação do aplicativo usando o SiteMap
Personalizar os comandos e a faixa de opções
Crie códigos para os formulários do Microsoft Dynamics 365
Recursos da Web do Microsoft Dynamics 365
Iniciar um diálogo usando uma URL

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais