Contexto de execução (referência do cliente)
Publicado: janeiro de 2017
Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
O contexto de execução é um parâmetro opcional que pode ser passado para uma função de biblioteca do JavaScript por meio de um manipulador de eventos. Essa opção é apresentada na caixa de diálogo de propriedades do manipulador quando você especifica o nome da função. Essa opção é definida para um elemento <Handler> (FormXml) usando o atributo passExecutionContext.
O contexto de execução é passado automaticamente para funções definidas usando os métodos Xrm.Page.data.fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_addOnSave e Xrm.Page.data.entityAttribute.6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_addOnChange e Xrm.Page.uiControl.51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addPreSearch.
Métodos do contexto de execução
getContext
Método que retorna o objeto Contexto do cliente (referência do cliente).getDepth
O método que retorna um valor que indica a ordem em que esse manipulador é executado.getEventArgs
Método que retorna um objeto com métodos para gerenciar o evento Save.getEventSource
Método que retorna uma referência ao objeto em que o evento ocorreu.getFormContext
Método que retorna a referência para um formulário ou para a grade editável, dependendo do local de onde o método foi chamado.Variáveis compartilhadas
Variáveis compartilhadas permitem compartilhamento de uma variável com outros manipuladores para o mesmo evento. Você usa os métodos setSharedVariable e getSharedVariable para trabalhar com variáveis compartilhadas.
getContext
Método que retorna o objeto Contexto do cliente (referência do cliente)
ExecutionContextObj.getContext()
- Valor de Retorno
Tipo: Objeto
getDepth
O método que retorna um valor que indica a ordem em que esse manipulador é executado.
Valor de Retorno
Tipo: NúmeroO pedido começa com 0.
getEventArgs
Método que retorna um objeto com métodos para gerenciar o evento Save.
Observação
Esse método retornará nulo para qualquer evento diferente do evento Save.
ExecutionContextObj.getEventArgs()
Valor de Devolução
Tipo: ObjetoPara obter mais informações:Argumentos do evento salvar (referência do cliente).
getEventSource
Método que retorna uma referência ao objeto em que o evento ocorreu.
ExecutionContextObj.getEventSource()
Valor de Retorno
Tipo: ObjetoEsse método retornará o objeto do modelo de objeto Xrm.Page que é a origem do evento, não um objeto HTMLDOM. Por exemplo, em um evento OnChange, este método retorna o objeto de atributo Xrm.Page.data.entity que representa o atributo alterado.
getFormContext
Método que retorna a referência para o formulário (Xrm.Page) ou para a grade editável, dependendo do local de onde o método foi chamado.
ExecutionContextObj.getFormContext()
Valor de Retorno
Tipo: ObjetoEste método retorna uma referência para o objeto do modelo de objeto Xrm.Page ou para o objeto dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_GridRow em uma grade editável, dependendo do local de onde o método tiver sido chamado. Esse método permite que você crie manipuladores de eventos comuns que podem operar em um formulário ou em uma grade editável, dependendo do local de onde ele for chamado.
Mais informações: Use o modelo de objeto Xrm.Page e Objetos e métodos de grade editável (referência do cliente)
Observação
Esse método foi apresentado no Atualização de dezembro de 2016 para Dynamics 365 (online e local).
Exemplo
O código de exemplo a seguir demonstra como criar um método que define uma notificação em um campo de formulário ou em uma célula de grade editável, dependendo do local onde você tiver registrado o script (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_FieldOnChangeEvent ou o evento de grade editável dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_OnChange):function commonEventHandler(executionContext) { var entityObject = executionContext.getFormContext().data.entity; var telephoneAttr = entityObject.attributes.getByName('telephone1'); var isNumberWithCountryCode = telephoneAttr.getValue().substring(0,1) === '+'; // telephoneField will be an Xrm.Page control if invoked from a form OnChange event; // telephoneField will be a editable grid GridCell object if invoked from editable grid OnChange event. var telephoneField = telephoneAttr.controls.getByIndex(0); if (!isNumberWithCountryCode) { telephoneField.setNotification('Please include the country code beginning with ‘+’.', 'countryCodeNotification'); } else { telephoneField.clearNotification('countryCodeNotification'); } }
Variáveis compartilhadas
Variáveis compartilhadas permitem compartilhamento de uma variável com outros manipuladores para o mesmo evento. Você usa os métodos setSharedVariable e getSharedVariable para passar variáveis entre as funções.
setSharedVariable
Define o valor de uma variável para ser usada por um manipulador depois que o manipulador concluir.
ExecutionContextObj.setSharedVariable(key, value)
Argumentos
String: O nome da variávelObject: O valor para definir.
getSharedVariable
Recupera um conjunto de variáveis usando setSharedVariable.
ExecutionContextObj.getSharedVariable(key)
Argumentos
String: O nome da variável.Valor de Retorno
Tipo: ObjetoO tipo específico depende qual é o objeto para o valor.
Confira Também
Referência de programação do cliente
Microsoft Dynamics 365
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais