Use el modelo de objeto Xrm.Page

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Al escribir scripts de formularios interactuará con objetos del espacio de nombres Xrm.Page para realizar las siguientes acciones:

  • Obtener o establecer valores de atributo.

  • Ocultar o mostrar elementos de la interfaz de usuario.

  • Hacer referencia a varios controles por atributo.

  • Tener acceso a varios formularios por entidad.

  • Manipular elementos de navegación del formulario.

  • Interactuar con el control de flujo de proceso de negocio.

Para obtener más ejemplos, vea Referencia de scripting de formularios.

En este tema

Jerarquía de objetos Xrm.Page

Contexto de ejecución

Colecciones

Descripciones de objeto

  • atributo

  • contexto

  • control

  • entidad

  • formSelector

  • navegación

  • proceso

  • Sección

  • fase

  • paso

  • Ficha

Jerarquía de objetos Xrm.Page

Como se muestra en el siguiente diagrama, Xrm.Page proporciona un contenedor de espacio de nombres para tres objetos que se describen en la tabla siguiente:

Objeto

Descripción

context

Proporciona métodos para recuperar información específica de una organización, un usuario o parámetros que se pasaron al formulario en una cadena de consulta.

data

Proporciona acceso a los datos de entidad y los métodos para administrar los datos en el formulario así como en el control de flujo de proceso de negocio

ui

Contiene métodos para recuperar información acerca de la interfaz de usuario, además de recopilaciones para varios subcomponentes del formulario.

Modelo de objetos Xrm.Page

Contexto de ejecución

Al registrar una función para un controlador de eventos, tiene la opción de pasar un objeto de contexto de ejecución como primer parámetro a dicha función. Este objeto contiene métodos que le permiten administrar variables que desea compartir con otros controladores de eventos y el evento de guardar. Para obtener más información, vea Contexto de ejecución (referencia del lado del cliente) y Guardar argumentos de evento (referencia del lado del cliente).

Colecciones

La siguiente tabla describe las recopilaciones de modelo de objetos Xrm.Page. Consulte Colecciones (referencia del lado del cliente) para obtener información sobre los métodos disponibles para las recopilaciones.

Recogida

Descripción

attributes

La recopilación Xrm.Page.data.entity.attributes proporciona acceso a cada atributo de entidad que esté disponible en el formulario. Solo los atributos que correspondan a los campos que se agregan al formulario están disponibles.

controls

Tres objetos contienen una recopilación de controles:

ui.controls

La recopilación Xrm.Page.ui.controls proporciona acceso a los controles incluidos en el formulario.

attribute.controls

Dado que un atributo puede tener más de un control en el formulario, esta recopilación proporciona acceso a cada uno de ellos. Esta recopilación contendrá solo un elemento a menos que se agreguen varios controles para el atributo al formulario.

section.controls

Esta recopilación solo contiene los controles que se encuentran en la sección.

navigation.items

La recopilación Xrm.Page.ui.navigation.items proporciona acceso a elementos de navegación que se definen mediante el área de navegación del editor de formularios. Con TechNet: Formularios actualizados, los usuarios pueden desplazarse a ellos mediante la barra de comandos. En TechNet: Formularios clásicos estos elementos están en el lado izquierdo del formulario.

formSelector.items

Cuando se proporcionan varios formularios para una entidad, puede asociarlos con roles de seguridad. Cuando los roles de seguridad asociados a un usuario les permiten ver más de un formulario, la recopilación Xrm.Page.ui.formSelector.items proporciona acceso a cada definición del formulario disponible para ese usuario.

tabs

Puede organizar cada formulario mediante una o varias pestañas. La recopilación Xrm.Page.ui.tabs proporciona acceso a cada una de estas pestañas.

sections

Puede organizar cada pestaña de formulario usando una o varias secciones. La recopilación sections de la pestaña proporciona acceso a cada una de estas secciones.

Colecciones de flujo de proceso de negocio

Las colecciones para fases y pasos en Xrm.Page.data.process se basan en la misma estructura de colección, pero también permiten agregar o quitar elementos de las colecciones.

Use el método proceso.getStages para obtener acceso a la colección de fases. Use el método fase.getSteps para obtener acceso a la colección de pasos.

Descripciones de objeto

Cada objeto posee varios métodos para recuperar datos, obtener o establecer propiedades de objeto, o realizar acciones:

atributo

Cada atributo corresponde a un atributo de entidad que se ha agregado al formulario como un campo. Normalmente solo los atributos de entidad que se han agregado al formulario como un campo están disponibles. Cada instancia de un campo es un control. Un campo se puede agregar a un formulario más de una vez, lo que creará varios controles que hacen referencia al mismo atributo.

Nota

Los atributos compuestos tienen comportamientos especiales.Más información:Escribir scripts para atributos compuestos

Los atributos se clasifican por tipo. Puede determinar el tipo de un atributo mediante el método getAttributeType.

Mientras que todos los atributos comparten algunos métodos comunes, ciertos métodos solo están disponibles para los tipos de atributos específicos. Para obtener más información, vea Atributo Xrm.Page.data.entity (referencia de cliente).

Nota

La información del tipo de atributo representa el comportamiento del atributo en el formulario. No se corresponde necesariamente con el tipo de campo definido en la aplicación o los tipos AttributeMetadata. Los atributos de un tipo de campo en particular pueden comportarse de forma diferente en función de su formato.

En la siguiente tabla se enumeran los valores de cadena de tipo de atributo esperados para cada tipo de tipo de esquema de atributo y opción de formato.

Tipo de campo de aplicación

Opción de formato

Tipo de atributo

Divisa

NA

money

Fecha y hora

Fecha y hora, Solo fecha

datetime

Número decimal

NA

decimal

Número de punto flotante

NA

double

Búsqueda

NA

lookup

Varias líneas de texto

NA

memo

Conjunto de opciones

NA

optionset

Línea única de texto

Correo electrónico, Texto, Símbolo del valor, Dirección URL, Teléfono

string

Línea única de texto

Área de texto

memo

Estado

NA

optionset

Razón para el estado

NA

optionset

Dos opciones

Dos botones de opción, Casilla, Lista

boolean

Número entero

Ninguno, Duración

integer

Número entero

Idioma, Zona horaria

optionset

contexto

Xrm.Page.context proporciona métodos para recuperar información específica de una organización, un usuario o parámetros que se pasaron al formulario en una cadena de consulta. Para obtener más información, vea Contexto del lado del cliente (referencia del lado del cliente).

control

Representa un elemento HTML incluido en el formulario. Algunos controles se enlazan a un atributo específico, mientras que otros pueden representar controles sin enlazar como un IFRAME, un recurso web o una subcuadrícula que se ha agregado al formulario.

Use nombres de control específicos en el código para los controles de IFrame, recurso de Web y subcuadrícula. Estos controles no están enlazados a un atributo. Evite incluir nombres de control específicos en el código cuando el control esté enlazado a un atributo. Cuando hay varios controles enlazados a un atributo, los nombres de control se resuelven en tiempo de ejecución y pueden variar en función de dónde esté ubicado el control en el formulario.

Para la mayoría de las tareas relacionadas con controles enlazados a un atributo, tendrá acceso a los controles mediante la recopilación de controles de atributo o a través de la recopilación de controles de una sección. En lugar de hacer referencia a un control por nombre, obtendrá una referencia a él basándose en el contexto de la recopilación. En este caso, el nombre no es importante. Consulte el ejemplo para el atributo controles para obtener una forma de crear funciones para realizar acciones en todos los controles enlazados a un atributo específico.

Nota

Los atributos compuestos tienen comportamientos especiales.Más información:Escribir scripts para atributos compuestos.

Nota

En la mayor parte del trabajo de desarrollo de scripts fuera de Microsoft Dynamics 365, los desarrolladores pueden estar acostumbrados a hacer referencia a elementos de página mediante el método document.getElementById. En los scripts de formularios de Microsoft Dynamics 365 este método no se admite. Es importante reconocer que el atributo almacena los datos y que el control es simplemente la presentación del atributo en el formulario. En los controles enlazados a atributos puede que necesite ajustar la forma en que está acostumbrado a tener acceso a los datos en el formulario.

Los controles se clasifican por tipo. Puede determinar el tipo de un control mediante el método getControlType. Algunos métodos de control solo están disponibles para tipos específicos de controles. Por ejemplo, el método addOption solo está disponible para los controles que se muestran como conjuntos de opciones. Para obtener más información, vea Control Xrm.Page.ui (referencia de cliente).

entidad

Xrm.Page.data.entity proporciona métodos para recuperar información específica del registro que se muestra en la página, el método save y una recopilación de todos los atributos incluidos en el formulario. Para obtener más información, vea Xrm.Page.data.entity (referencia del lado del cliente).

formSelector

Xrm.Page.ui.formSelector contiene una recopilación de elementos que proporciona funciones para consultar los formularios disponibles para el usuario actual. Use el método navigate para cerrar el formulario actual y abrir otro diferente. Para obtener más información, vea Elemento Xrm.Page.ui.formSelector (referencia del lado del cliente).

No contiene ningún método. Proporciona acceso a elementos de navegación a través de la recopilación de elementos.

proceso

Contiene métodos para recuperar propiedades de un flujo de proceso de negocio.Más información:Métodos de proceso

Sección

Una sección contiene métodos para administrar la forma en la que aparece además de para acceder a la pestaña que contiene la sección. Una sección también proporciona acceso a los controles que contiene mediante una recopilación de controles.Más información:Sección Xrm.Page.ui (referencia del lado del cliente)

fase

Cada proceso incluye una colección de fases a la que se puede acceder mediante el método getStages de proceso.

Una fase es la fase activa.Más información:Estructura de flujos de proceso de negocio

paso

Los pasos representan los elementos individuales de datos que se recogerán durante una fase. Cada fase tiene una colección de pasos a la que se puede acceder mediante el método getSteps de fase.Más información:Estructura de flujos de proceso de negocio

Puede obtener acceso a un control de paso en la fase activa de un control de flujo de proceso de negocio haciendo referencia al nombre del control con el prefijo especial "header_process_<nombre del control>". Por ejemplo, para ocultar el paso que representa el atributo purchaseprocess, use lo siguiente:

Xrm.Page.getControl("header_process_purchaseprocess").setVisible(false);

Ficha

Una pestaña es un grupo de secciones en una página. Contiene métodos para cambiar la presentación de la pestaña. Tendrá acceso a las secciones de la pestaña a través de la recopilación de secciones. Para obtener más información, vea Pestaña Xrm.Page.ui (referencia del lado del cliente).

Ver también

Referencia de scripting de formularios
Escribir y depurar scripts para CRM para tabletas
Escriba código para formularios de Microsoft Dynamics CRM 2015
Escribir scripts para atributos compuestos
Escribir scripts para flujos de procesos de negocio
Uso de JavaScript con Microsoft Dynamics CRM 2015
Ejemplo: crear OptionSets (listas desplegables) dependientes
Referencia de programación del lado del cliente
Referencia de programación del lado del cliente
Bibliotecas de JavaScript para Microsoft Dynamics CRM 2015
Personalizar los formularios de entidad

© 2017 Microsoft. Todos los derechos reservados. Copyright