Partilhar via


Eventos de formulário (referência do cliente)

 

Publicado: janeiro de 2017

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

Qualquer código do cliente é iniciado por eventos. No Microsoft Dynamics 365, você associará uma função específica em uma biblioteca do JavaScript para ser executada quando eventos específicos ocorrerem.

Todos os eventos de formulário têm uma interface do usuário utilizada para especificar um ou mais manipuladores de evento. Cada manipulador de eventos especifica uma única função em uma biblioteca do JavaScript e todos os parâmetros que podem ser transmitidos para a função.

Eventos

Evento OnLoad

Evento OnSave

Evento OnChange de campo

Evento TabStateChange da guia

Evento IFRAME OnReadyStateComplete

Evento PreSearch de controle de pesquisa

Evento OnProcessStatusChange

Evento OnStageChange

Evento OnStageSelected

Eventos do controle de pesquisa da base de dados de conhecimento

Evento OnLoad da Subgrade Somente Leitura

Eventos de grades editáveis

Evento OnLoad

O evento OnLoad ocorre depois que o formulário for carregado. Não pode impedir o carregamento da janela. Use o evento OnLoad para aplicar a lógica sobre como o formulário deve ser exibido, para definir propriedades em campos e interagir com outros elementos da página.

Quando o cliente Microsoft Dynamics 365 para Tablets for desconectado, o evento OnLoad é o único evento que ocorrerá.

Observação

Formulários para Entidades atualizadas não recarregam a página depois de salvar inicialmente criando um registro ou qualquer salvamento subsequente. Portanto, o evento OnLoad ocorre apenas durante o carregamento inicial do formulário.

Evento OnSave

O evento OnSave ocorrer quando:

  • O usuário clica no botão Botão para salvar automaticamente no canto inferior direito do formulário, mesmo quando não há dados alterados para serem salvos.

  • O código executa o método Xrm.Page.data.entity.Salvar, mesmo quando não houver dados alterados para serem salvos.

  • O usuário sai do formulário e não há dados não salvos no formulário.

  • Com o salvamento automático habilitado, 30 segundos depois dos dados terem sido alterados e houver dados não salvos no formulário.

  • O código executa o método Xrm.Page.data.Salvar e há dados não salvos no formulário.

  • O código executa o método Xrm.Page.data.refresh transmitindo um valor true como o primeiro parâmetro e há dados não salvos no formulário.

Para determinar qual botão é clicado para executar o salvamento, use o método getSaveMode.

Você poderá cancelar o salvamento usando o método preventDefault no objeto de argumentos do evento. O método preventDefault é acessível usando o método getEventArgs que faz parte do contexto de execução. É preciso configurar o manipulador de eventos do formulário para passar no contexto de execução. Para obter mais informações, consulte Usar o contexto de execução e o pipeline de evento de formulário.

Evento OnChange de campo

O evento OnChange normalmente acontece quando os dados em um campo de formulário tiver alterado e o foco será perdido.

Observação

Há uma exceção para esse comportamento que se aplica aos campos de duas opções (booliano) que são formatados para usar botões de opção ou caixas de seleção. Nesses casos, o evento ocorre imediatamente.

Esse evento também ocorre quando alterações de dados no servidor são recuperadas para atualizar um campo quando o formulário é atualizado, como depois que um registro é salvo.

Usando o atributo Xrm.Page.data.entity. O método fireOnChange também fará com que esse evento ocorra.

O evento OnChange não ocorrerá se o campo for alterado programaticamente usando o método setValue. Se desejar que os manipuladores de eventos do evento OnChange sejam executados depois que você definir o valor, você deverá usar o atributo Xrm.Page.data.entity. Método fireOnChange no seu código.

Todos os campos oferecem suporte ao evento OnChange. Os dados no campo são validados antes e depois do evento OnChange.

Observação

Embora o campo Status suporte o evento OnChange, o campo será somente leitura no formulário para que o evento não possa ocorrer com a interação com o usuário. Outro script pode fazer com que esse evento ocorra usando o método fireOnChange no campo.

Evento TabStateChange da guia

O evento TabStateChange ocorre quando DisplayState da guia é alterado devido a interação ou quando o método setDisplayState é aplicado no código. Use este evento quando quiser alterar a propriedade src de um IFRAME na guia.

Observação

Este evento não tem suporte para clientes móveis do Dynamics 365 (telefones e tablets) porque as guias não podem ser expandidas ou recolhidas.

Como nos clientes móveis do Dynamics 365, as guias não são expandidas ou recolhidas no hub de serviço interativo, mas o evento TabStateChange ocorre quando o usuário vai de uma guia para outra no hub de serviço interativo.

Se você definir o IFrame. propriedade src no evento OnLoad para um IFRAME em uma guia recolhida, o valor será substituído quando a guia for expandida.

Evento IFRAME OnReadyStateComplete

O evento OnReadyStateComplete indica que o conteúdo do IFRAME foi carregado e pode ser acessado no código. Use este evento ao consultar controles do IFRAME em seus scripts.

Observação

Este evento não tem suporte para o Dynamics 365 para telefones e para o hub de serviço interativo.

Evento PreSearch de controle de pesquisa

O controle de pesquisa tem um evento PreSearch que ocorre imediatamente antes do controle iniciar um diálogo para pesquisar registros. Não há interface do usuário para definir manipuladores de eventos para o evento. Você deve usar os métodos addPreSearch e removePreSearch no controle de pesquisa para adicionar ou remover manipuladores de eventos para o evento.

Use este evento com outro Métodos de controle de pesquisa e eventos para alterar os resultados exibidos em uma pesquisa baseada em dados do formulário atualmente imediatamente antes do controle de pesquisa mostrar os resultados de pesquisa para que o usuário escolher.

Evento OnProcessStatusChange

Esse evento ocorre quando o status de uma instância do processo é alterado. Use o método Xrm.Page.data.process.addOnProcessStatusChange para adicionar manipuladores de eventos para o evento e o método Xrm.Page.data.process.removeOnProcessStatusChange para removê-los.Para obter mais informações:Criar scripts para fluxos de processos de negócios.

Observação

Esse evento foi apresentado no Atualização de dezembro de 2016 para Dynamics 365 (online e local).

Evento OnStageChange

Esse evento ocorre quando o estágio de um controle de fluxo de processos empresariais alterar. Esse evento ocorre quando o usuário clica nos botões Próximo Estágio ou Mover para o estágio anterior na interface do usuário ou quando um desenvolvedor usa os métodos Xrm.Page.data.process.moveNext ou Xrm.Page.data.process.movePrevious. Não é possível cancelar a alteração de estágios usando código no manipulador para esse evento.

Um objeto de contexto de execução é passado para manipuladores de eventos para o evento. Você pode usar a função getEventArgs para recuperar um objeto com os seguintes métodos:

  • getDirection
    Retorna uma cadeia de caracteres que é “next" ou "previous" para mostrar a direção da alteração de estágios.

  • getStage
    Retorna um objeto do estágio. Exceto quando a navegação se move para uma nova entidade, o estágio retornado representa o objeto do estágio de destino, ou seja, o próximo estágio ativo. Quando a navegação se move para uma nova entidade, o estágio é o estágio que está sendo navegado, ou seja, o objeto de estágio ativo anterior.Para obter mais informações:Métodos do estágio.

Use o método Xrm.Page.data.process.addOnStageChange para adicionar manipuladores de eventos para o evento e o método Xrm.Page.data.process.removeOnStageChange para removê-los.Para obter mais informações:Criar scripts para fluxos de processos de negócios.

Evento OnStageSelected

Esse evento ocorre quando um estágio de um controle de fluxo de processos empresariais for selecionado. Não é possível cancelar a seleção de estágios usando código no manipulador para esse evento.

Um objeto de contexto de execução é passado para manipuladores de eventos para o evento. Você pode usar a função getEventArgs para recuperar um objeto com os seguintes métodos:

  • getStage
    Retorna um objeto de estágio que representa o estágio selecionado.Para obter mais informações:Métodos do estágio.

Use o método Xrm.Page.data.process.addOnStageSelected para adicionar manipuladores de eventos para o evento e o método Xrm.Page.data.process.removeOnStageSelected para removê-los.Para obter mais informações:Criar scripts para fluxos de processos de negócios.

Eventos do controle de pesquisa da base de dados de conhecimento

Um controle de pesquisa da base de dados de conhecimento só pode ser adicionado a formulários para organizações que têm o recurso de gerenciamento de conhecimento ativado. Este controle tem dois eventos (OnResultOpened e OnSelection) aos quais os desenvolvedores podem atribuir, de forma programática, manipuladores de eventos.Para obter mais informações:Controle de pesquisa da base de dados de conhecimento (referência do cliente)

Evento OnLoad da Subgrade Somente Leitura

Anexe manipuladores de eventos ao evento OnLoad de subgrades.Para obter mais informações:Escrever scripts para subgrades

Eventos de grades editáveis

Anexe manipuladores de eventos aos eventos de grades editáveis.Para obter mais informações:Objetos e métodos de grade editável (referência do cliente)

Confira Também

Referência rápida do script de formulário
Crie códigos para os formulários do Microsoft Dynamics 365
Use o modelo de objeto Xrm.Page
Referência de programação do cliente
Criar scripts para fluxos de processos de negócios

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais