Controle Xrm.Page.ui (referência do cliente)
Publicado: novembro de 2016
Aplicável a: Dynamics CRM 2015
O objeto de control fornece métodos para alterar a apresentação ou o comportamento de um controle e identificar o atributo correspondente.
Você acessa controles usando os seguintes conjuntos: Xrm.Page.ui.controls, Xrm.Page.ui Section.controls ou Xrm.Page.data.entity Attribute.controls. O método Xrm.Page.getControl é um método de atalho para acessar Xrm.Page.ui.controls.get.
Os exemplos de sintaxe neste tópico mostram o uso do método Xrm.Page.getControl para acessar um controle. Qual controle depende dos argumentos passados para o método. O parâmetro args para acessar um único controle deve ser o nome do controle ou do índice.
Quando um formulário exibe um controle de fluxo de processo comercial no cabeçalho, os controles adicionais serão adicionados para cada atributo exibido no fluxo de processos de negócios. Esses controles tem um nome semelhante ao seguinte exemplo: header_process_<attribute name>.
Observação
Somente os controles do estágio ativo do fluxo de processos corporativos podem ser acessados por nome dessa maneira.
Os controles exibidos no cabeçalho do formulário são acessíveis e têm um nome exclusivo como o seguinte: header_<attribute name>.
Para controles associados aos atributos é comum acessar controles através do conjunto Xrm.Page.data.entity Attribute.controls.
Propriedades e métodos de controle
Desabilitada
Detectar o estado e habilitar ou desabilitar controles usando os métodos getDisabled e setDisabled.getAttribute
Obter o atributo que o controle está associado.getControlType
Obter informações sobre o tipo de controle.getName
Obter o nome do controlegetParent
Obter o objeto da seção que o controle está.Métodos de controle da base de dados de conhecimento
Esses métodos estão disponíveis apenas para o controle de pesquisa da base de dados de conhecimento disponível quando a organização do Microsoft Dynamics CRM Online estiver integrada ao Parature. Esses métodos foram introduzidos no Atualização 1 do Microsoft Dynamics CRM Online 2015.Para obter mais informações sobre esses controles, consulte Controle de pesquisa da base de dados de conhecimento do Parature (referência do cliente).
Etiqueta
Obter ou alterar a etiqueta de um controle usando os métodos getLabel e setLabel.Métodos de controle de pesquisa e eventos
Controlar os resultados exibidos para um usuário selecionar quando definir o valor de um controle de pesquisa usando os métodos addCustomFilter, addCustomView, getDefaultView, setDefaultView.É possível adicionar ou remover manipuladores de eventos para o Evento PreSearch usando os métodos addPreSearch e removePreSearch.
Notificação
Exibir e remover notificações para usuários sobre um controle usando os métodos setNotification e clearNotification.Métodos de controle OptionSet
Modifique as opções exibidas em controles OptionSet usando os métodos addOption, clearOptions, e removeOption.ShowTime
Use setShowTime para especificar se o controle de data deve mostrar a parte de hora da data e getShowTime para determinar se a parte da hora da data está sendo exibida atualmente.Métodos de controle de subgrade
Para organizações que estejam usando o CRM Online 2015 Atualização 1, há novos recursos para trabalhar com controles de subgrade.Para obter mais informações:Objetos e métodos de grade (referência do cliente)Para outras organizações, o método refresh é o único método exclusivo disponível para controles de subgrade. Esse método atualizará os dados exibidos na subgrade.
Visível
Determinar quais controles estão visíveis e mostrar ou ocultar usando os métodos getVisible e setVisible.Métodos de controle IFRAME e recursos da Web
Interagir com o recurso da Web e controles do IFRAME usando os métodos getData, setData, getInitialUrl, getObject, setSrc e getSrc.
Desabilitada
Use getDisabled e setDisabled para detectar se um controle está desabilitado ou para habilitar ou desabilitar.
Tipos de controle: padrão, pesquisa, optionset.
getDisabled
Retorna se o controle está desabilitado.
Xrm.Page.getControl(arg).getDisabled()
- Valor de Retorno
Tipo: Booleano. True se o controle estiver desabilitado, caso contrário, false.
setDisabled
Define se o controle está desabilitado.
Xrm.Page.getControl(arg).setDisabled(bool)
- Argumentos
Tipo: Booleano. True se o controle deve ser desabilitado, caso contrário, False.
getAttribute
Retorna o atributo que o controle está associado.
Tipos de controle: padrão, pesquisa, optionset.
Xrm.Page.getControl(arg).getAttribute()
Observação
Controles que não estejam associados a um atributo (subgrade, recurso da Web e IFRAME) não têm esse método. Um erro será jogado se você tentar usar esse método em um desses controles.
- Valor de Retorno
Tipo: Objeto: Um atributo.
Comentários
Os controles constitutivos em um controle de exibição rápida são incluídos na coleção de controles e esses controles têm método getAttribute. Entretanto, o atributo não faz parte do conjunto de atributos da entidade. Embora você possa recuperar o valor do atributo usando getValue e até mesmo alterar o valor usando setValue, as alterações realizadas não serão salvas com a entidade.
Os seguintes códigos mostram o uso do valor do atributo mobilephone de contato quando exibidos em um formulário de entidade de conta usando um controle de exibição rápida chamado contactQuickForm. Este código ocultará o controle quando o valor do atributo for null.
var quickViewMobilePhoneControl = Xrm.Page.getControl("contactQuickForm_contactQuickForm_contact_mobilephone");
if (quickViewMobilePhoneControl.getAttribute().getValue() == null)
{
quickViewMobilePhoneControl.setVisible(false);
}
getControlType
Retorna um valor que categoriza controles.
Tipos de controle: todos.
Xrm.Page.getControl(arg).getControlType()
Valor de Retorno
Tipo: Cadeia de caracteresPossíveis valores de retorno do getControlType:
Valor de Retorno
Descrição
standard
Um controle padrão.
iframe
Um controle do IFRAME.
lookup
Um controle de pesquisa.
optionset
Um controle conjunto de opções.
subgrid
Um controle de subgrade.
webresource
Um controle de recurso da Web.
notes
Um controle de anotações.
timercontrol
Um controle de timer.
kbsearch
Um controle de pesquisa da base de dados de conhecimento.
getName
Retorna o nome atribuído ao controle.
Observação
O nome atribuído a um controle não é determinado até o formulário carregar. As alterações para o formulário podem alterar o nome atribuído a um determinado controle.
Tipos de controle: todos.
Xrm.Page.getControl(arg).getName()
- Valor de Retorno
Tipo: Cadeia de caracteres. O nome do controle.
getParent
Retorna uma referência ao objeto da seção que contém o controle.
Tipos de controle: todos.
Xrm.Page.getControl(arg).getParent()
- Valor de Devolução
Tipo: Seção Xrm.Page.ui (referência do cliente) objeto.
Métodos de controle da base de dados de conhecimento
Esses métodos estão disponíveis apenas para o controle de pesquisa da base de dados de conhecimento disponível quando a organização do Microsoft Dynamics CRM Online estiver integrada ao Parature. Esses métodos foram introduzidos no Atualização 1 do Microsoft Dynamics CRM Online 2015.
Para obter mais informações sobre esses controles, consulte Controle de pesquisa da base de dados de conhecimento do Parature (referência do cliente).
Etiqueta
Obter ou alterar a etiqueta de um controle usando os métodos getLabel e setLabel.
Tipos de controle: todos.
getLabel
Retorna a etiqueta do controle.
Xrm.Page.getControl(arg).getLabel()
- Valor de Retorno
Tipo: Cadeia de caracteres. A etiqueta do controle.
setLabel
Define a etiqueta do controle.
Xrm.Page.getControl(arg).setLabel(label)
- Argumentos
Tipo: Cadeia de caracteres. A nova etiqueta do controle.
Métodos de controle de pesquisa e eventos
Controlar os resultados exibidos para um usuário selecionar quando definir o valor de um controle de pesquisa usando os métodos addCustomFilter, addCustomView, getDefaultView e setDefaultView. O controle Lookup também expõe o Evento PreSearch para poder adicionar de forma programática manipuladores de eventos que usam os métodos addPreSearch e removePreSearch.
Tipos de controle: pesquisa.
addCustomFilter
Use para adicionar mais filtros aos resultados exibidos na pesquisa. Cada filtro será combinados com os filtros adicionados anteriormente como uma condição “AND”.
Xrm.Page.getControl(arg).addCustomFilter(filter, entityLogicaName)
Argumentos
filterXml
Tipo: Cadeia de caracteres : O elemento de filtro fetchXml a aplicar. Por exemplo:<filter type="and"> <condition attribute="address1_city" operator="eq" value="Redmond" /> </filter>
entityLogicalName
Tipo: Cadeia de caracteres: (Opcional) Se estiver definido, o filtro será aplicado apenas para esse tipo de entidade. Caso contrário, será aplicado a todos os tipos de entidade retornadas.
Comentários
Para obter mais informações:FetchXML schema.Este método está disponível somente para o Entidades atualizadas.
Esse método pode ser usado apenas em uma função em um manipulador de eventos para o Evento PreSearch de controle de pesquisa.
A seguinte amostra de código é para a pesquisa do formulário de oportunidade Conta (parentaccountid). Quando a função Sdk.setParentAccountIdFilter é definida no manipulador de eventos do formulário Onload, a função Sdk.filterCustomAccounts é adicionada ao evento PreSearch para essa pesquisa. O resultado é que apenas contas com o valor de Categoria (accountcategorycode) de Cliente Preferencial (1) serão retornadas.
var Sdk = window.Sdk || {}; Sdk.filterCustomerAccounts = function () { //Only show accounts with the type 'Preferred Customer' var customerAccountFilter = "<filter type='and'><condition attribute='accountcategorycode' operator='eq' value='1'/></filter>"; Xrm.Page.getControl("parentaccountid").addCustomFilter(customerAccountFilter, "account"); } //set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler Sdk.setParentAccountIdFilter = function () { Xrm.Page.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts); }
addCustomView
Adiciona uma nova exibição para a caixa de diálogo de pesquisa.
Xrm.Page.getControl(arg).addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXml, isDefault)
Argumentos
viewId
Tipo: Cadeia de caracteres: A representação da cadeia de caracteres de um GUID para uma exibição.Observação
Esse valor nunca é salvo e só precisa ser exclusivo entre as outras exibições disponíveis para a pesquisa. Uma cadeia de caracteres para um GUID não válido funcionará, por exemplo, “{00000000-0000-0000-0000-000000000001}”. É recomendável usar uma ferramenta como guidgen.exe para gerar um GUID válido. A ferramenta guidgen.exe é incluída no SDK do Windows.
entityName
Tipo: Cadeia de caracteres: O nome da entidade.viewDisplayName
Tipo: Cadeia de caracteres: O nome da exibição.fetchXml
Cadeia de caracteres: A consulta fetchXml para a exibição.layoutXml
Tipo: Cadeia de caracteres: O XML que define o layout da exibição.isdefault
Tipo: Booleano: Se a exibição deve ser a exibição padrão.
- Comentários
Este método não funciona com pesquisas de Proprietário. As pesquisas do proprietário são usadas para atribuir registros de propriedade do usuário.
DefaultView
Você pode detectar que a exibição é a exibição padrão a ser exibida para permitir que os usuários selecionem os registros em uma pesquisa e alterem a exibição padrão com o getDefaultView e setDefaultView.
getDefaultView
Retorna o valor de ID da exibição de diálogo de pesquisa padrão.
Xrm.Page.getControl(arg).getDefaultView()
- Valor de Retorno
Tipo: Cadeia de caracteres. O valor da ID da exibição padrão.
setDefaultView
Define a exibição padrão da caixa de diálogo de controle de pesquisa.
Xrm.Page.getControl(arg).setDefaultView(viewGuid)
- Argumentos
Tipo: Cadeia de caracteres. A ID da exibição a ser definida como exibição padrão.
Exemplo: essa função do setDefaultViewSample definirá a exibição padrão da pesquisa do contato principal do formulário de entidade account para a exibição de Meus Contatos Ativos.
function setDefaultViewSample() {
Xrm.Page.getControl("primarycontactid").setDefaultView("{00000000-0000-0000-00AA-000010001003}");
}
Evento PreSearch
É possível adicionar ou remover manipuladores de eventos para o Evento PreSearch de controle de pesquisa usando os métodos addPreSearch e removePreSearch.
Usar o evento PreSearch para controlar os resultados exibidos para o controle usando os dados do formulário atual conforme o usuário estiver começando a pesquisar registros.
Esses métodos têm Contexto de execução (referência do cliente) passado como o primeiro parâmetro.
addPreSearch
Use este método para aplicar alterações nas pesquisas com base nos valores atuais assim como o usuário está prestes a exibir os resultados da pesquisa.
Xrm.Page.getControl(arg).addPreSearch(handler)
Argumentos
Tipo: Função para adicionar.Comentários
Este método está disponível somente para o Entidades atualizadas.
O argumento é uma função executada imediatamente antes da pesquisa para fornecer resultados quando uma pesquisa ocorre. Você pode usar o manipulador para chamar uma das outras funções de controle de pesquisa e melhorar os resultados para que sejam exibidos na pesquisa.
removePreSearch
Usar este método para remover as funções do manipulador de eventos que foram definidas anteriormente para o evento PreSearch.
Xrm.Page.getControl(arg).removePreSearch(handler)
Argumentos
Tipo: Função para remover.Comentários
Este método está disponível somente para o Entidades atualizadas.
Notificação
Usar setNotification para exibir uma notificação sobre o controle e clearNotification para remover.
setNotification
Exibe uma mensagem próxima ao controle para indicar que os dados não são válidos. Quando este método é usado no Microsoft Dynamics CRM para Tablets, um ícone “X” vermelho é exibido ao lado do controle. Tocar no ícone será exibida a mensagem.
Xrm.Page.getControl(arg).setNotification(message,uniqueId)
Comentários
Definir uma notificação em um controle bloqueará o formulário da economia.
Este método está disponível somente para o Entidades atualizadas.
Argumentos
mensagem
Tipo: Cadeia de caracteres: A mensagem será exibida.uniqueId
Tipo: Cadeia de caracteres: A ID para ser usada para desmarcar apenas essa mensagem ao usar clearNotification.
Valor de Retorno
Tipo: Booleano: Indica se o método teve sucesso.
clearNotification
Remove uma mensagem já exibida para um controle.
Xrm.Page.getControl(arg).clearNotification(uniqueId)
Argumentos
uniqueId
Tipo: Cadeia de caracteres: A ID para ser usada para desmarcar uma mensagem específica definida usando setNotification.Se o parâmetro uniqueId não for usado, a notificação atual mostrada será removida.
Comentários
Este método está disponível somente para o Entidades atualizadas.
Valor de Retorno
Tipo: Booleano: Indica se o método teve sucesso.
Métodos de controle OptionSet
Use os métodos addOption, clearOptions e removeOption para manipular opções disponíveis para controles OptionSet. Para um exemplo destas funções sendo colocadas em uso, consulte Exemplo: Criar OptionSets dependentes (listas de seleção).
addOption
Adiciona uma opção para um controle de definição de opção.
Xrm.Page.getControl(arg).addOption(option, [index])
Importante
Este método não verifica se os valores das opções adicionadas são válidos. Se você adicionar opções inválidas, elas não funcionarão corretamente. É preciso apenas adicionar as opções que foram definidas para o atributo de conjunto de opções específico ao qual o controle está vinculado. Usar o atributo getOptions ou os métodos getOption para obter objetos de opção válidos para adicionar usando este método.
Argumentos
opção
Tipo: Objeto: Um objeto de opções a ser adicionado ao OptionSet.index
Tipo: Número: (Opcional) A posição do índice para colocar a nova opção. Se não for fornecido, a opção será adicionada ao final.
clearOptions
Limpa todas as opções de um controle Conjunto de Opções.
Xrm.Page.getControl(arg).clearOptions()
removeOption
Remove uma opção de um controle conjunto de opções.
Xrm.Page.getControl(arg).removeOption(number)
- Argumentos
Tipo: Número: O valor da opção que você deseja remover.
setFocus
Define o foco para o controle.
Xrm.Page.getControl(arg).setFocus()
ShowTime
Use setShowTime para especificar se um controle de data deve mostrar a parte da hora da data e, com o Atualização 1 do Microsoft Dynamics CRM Online 2015 ou posterior, use getShowTime para determinar se a parte da hora da data está sendo exibida atualmente.
getShowTime
Veja se um controle de data mostra a parte da hora da data.
Tipos de Controle: controle padrão para os atributos datetime.
var showsTime = Xrm.Page.getControl(arg).getShowTime();
Comentários
Esse método foi introduzido no Atualização 1 do Microsoft Dynamics CRM Online 2015.
setShowTime
Especificar se um controle de data deve mostrar a parte de hora da data.
Tipos de Controle: controle padrão para os atributos datetime.
Xrm.Page.getControl(arg).setShowTime(bool)
Comentários
Este método está disponível somente para o Entidades atualizadas. Esse método mostrará ou ocultará o componente de hora de um controle de data onde o atributo usar o formato DateAndTime. Esse método não terá efeito quando o formato DateOnly for usado.
Métodos de controle de subgrade
Para versões anteriores ao Atualização 1 do Microsoft Dynamics CRM Online 2015, o único método disponível para um controle de subgrade é refresh. Com o CRM Online 2015 Atualização 1, há recursos novos que você pode usar.Para obter mais informações:Objetos e métodos de grade (referência do cliente)
refresh
Atualiza os dados exibidos em uma subgrade.
Xrm.Page.getControl(arg).refresh()
Observação
O método de atualização não está disponível no formulário Evento OnLoad porque as subgrades não são carregadas de forma assíncrona. Com a subgrade Evento OnLoad introduzida no CRM Online 2015 Atualização 1, agora você pode detectar quando a subgrade está carregada e usar esse método com manipuladores de evento para esse evento.
Visível
Determinar quais controles estão visíveis e mostrar ou ocultar usando os métodos getVisible e setVisible.
getVisible
Retorna um valor que indica se o controle está visível no momento.
Observação
Se a seção ou guia contida para este controle não estiverem visíveis, este método ainda pode retornar true. Para garantir que o controle esteja realmente visível; você também precisará verificar a visibilidade de elementos possíveis.
Xrm.Page.getControl(arg).getVisible()
- Valor de Retorno
Tipo: Booleano.True se o controle estiver visível. Caso contrário, false.
setVisible
Define um valor que indica se o controle está visível.
Xrm.Page.getControl(arg).setVisible(bool)
- Argumentos
Tipo: Booleano.True se o controle deve ser visível. Caso contrário, false.
Observação
Quando você seletivamente mostra campos para os usuários no código que executa no evento Onload, é recomendável configurar campos para não ficarem visíveis por padrão e usar setVisible(true) para mostrar os campos quando as condições são apropriadas. Usar setVisible(false) para ocultar campos no evento Onload pode resultar no campo aparecendo rapidamente para o usuário antes de ser ocultado.
Se estiver ocultando um grande número de campos usando setVisible(false), verifique se você pode agrupar as guias ou seções e ocultar a guia ou seção em vez dos campos separadamente. Isso pode aprimorar o desempenho.
Métodos de controle IFRAME e recursos da Web
Use esses métodos para interagir com o recurso da Web e controles do IFRAME.
Observação
Esses métodos não funcionam com o Microsoft Dynamics CRM para Tablets.
Dados
Recursos da Web têm um parâmetro de cadeia de caracteres de consulta especial chamado data para passar dados personalizados. Os métodos getData e setData funcionam somente para recursos da Web Silverlight adicionados a um formulário.Para obter mais informações:Transmitindo dados de um formulário para um recurso da Web do Silverlight integrado
Para recursos da Web (HTML) da página da Web, o parâmetro de dados pode ser extraído do método ou conjunto getSrc usando o método setSrc.
getData
Retorna o valor do parâmetro de cadeia de caracteres de consulta de dados passado para um recurso da Web Silverlight.
Xrm.Page.getControl(arg).getData()
- Valor de Retorno
Tipo: Cadeia de caracteres. O valor de dados passado para o recurso da Web Silverlight.
setData
Define o valor do parâmetro de cadeia de caracteres de consulta de dados passado para um recurso da Web Silverlight.
Xrm.Page.getControl(arg).setData(string)
- Argumentos
Tipo: Cadeia de caracteres. O valor de dados para passar ao recurso da Web Silverlight.
getInitialUrl
Retorna a URL padrão que um controle URL está configurado para exibição. Este método não está disponível para recursos da Web.
Xrm.Page.getControl(arg).getInitialUrl()
- Valor de Retorno
Tipo: Cadeia de caracteres. A URL inicial.
getObject
Retorna o objeto no formulário que representa o recurso da Web ou um I-frame.
Xrm.Page.getControl(arg).getObject()
Valor de Retorno
Tipo: Objeto. Qual objeto depende do tipo de controle.Um IFRAME retorna o elemento IFrame do Modelo de Objeto de Documento (DOM).
Um recurso da Web Silverlight retornará o elemento Object do DOM que representa o plug-in Silverlight integrado.
Src
IFRAMEs e recursos da Web têm uma propriedade src para definir o que exibir na janela integrada. Você pode obter ou alterar a propriedade src usando os métodos getSrc e setSrc.
getSrc
Retorna a URL atual que está sendo exibida em um IFRAME ou um recurso da Web.
Xrm.Page.getControl(arg).getSrc()
- Valor de Retorno
Tipo: Cadeia de caracteres. Uma URL representando a propriedade src do IFRAME ou recurso Web.
setSrc
Define a URL a ser exibida em um IFRAME ou um recurso da Web.
Xrm.Page.getControl(arg).setSrc(string)
- Argumentos
Tipo: Cadeia de caracteres: A URL.
Confira Também
Referência de programação do cliente
Referência rápida do script de formulário
Xrm.Page.ui (referência do cliente)
Criar códigos para os formulários do Microsoft Dynamics CRM 2015
Use o modelo de objeto Xrm.Page
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais