Pasar los datos desde una página como parámetro a las acciones de la cinta de opciones
Nota
Este tema trata sobre comandos clásicos.
Hay una nueva forma de definir comandos. Consulte Información general de los comandos modernos (versión preliminar)
Cuando define una acción en una cinta de opciones, suele necesario pasar datos desde la página a una función de JavaScript o a una dirección URL. En este artículo se describen las opciones para usar el elemento de <CrmParameter> para recuperar estos valores.
Contexto de formulario y cuadrícula en las acciones de la cinta
Para pasar la información del contexto de ejecución (contexto de formulario o contexto cuadrícula) a la función JavaScript para las acciones de la cinta, especifique PrimaryControl como el valor de contexto de formulario o SelectedControl para el contexto de cuadrícula como el valor <CrmParameter>
en la definición de la cinta. SelectedControl pasará en el contexto de la cuadrícula, para las subcuadrículas y las cuadrículas de página principal. PrimaryControl o el valor SelectedControl se usa como argumento en la característica de JavaScript para contexto de formulario o contexto de cuadrícula respectivamente.
Por ejemplo, aquí tenemos una definición de la cinta de ejemplo donde pasamos el parámetro PrimaryControl a la función JavaScript:
<CommandDefinition Id="SampleCommand">
<EnableRules/>
<DisplayRules/>
<Actions>
<JavaScriptFunction Library="$webresource:new_mySampleScript.js" FunctionName="mySampleFunction">
<CrmParameter Value="PrimaryControl" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
A continuación, en el archivo de recursos web new_mySampleScript.js al que se hace referencia en el ejemplo anterior, defina la función JavaScript con la variable primaryControl como argumento. Este argumento proporciona el contexto de formulario donde se ejecute el comando de la cinta:
function mySampleFunction(primaryControl) {
var formContext = primaryControl;
// Perform operations using the formContext object
}
También puede especificar CommandProperties como el valor <CrmParameter>
en la definición de la cinta para pasar detalles sobre el evento en el control de la cinta. Puede usar esto para enviar información contextual a su función JavaScript donde las acciones específicas pueden determinarse en función del contexto del evento.
Nota
Obtener contexto de forma y contexto cuadrícula para las funciones de JavaScript para acciones de la cinta es diferente de cómo obtener estos valores en forma de secuencias de comandos. Para obtener información sobre cómo obtener estos contextos y secuencias de comandos de formulario, vea contexto del formulario de la API del cliente y contexto de cuadrícula de la API de cliente.
Valores de formulario
Con una cinta de opciones de formulario, puede usar las colecciones de data.entity
.atributos y de ui
.controles para recuperar y establecer valores de las columnas conocidas.
Por ejemplo, el código de ejemplo siguiente muestra cómo recuperar el campo de nombre de la columna en el formulario de cuenta y, después, establecer un valor en la columna de websiteurl según el valor del nombre de cuenta:
function mySampleFunction(primaryControl) {
var formContext = primaryControl;
var accountName = formContext.getControl("name").getAttribute().getValue();
// Set the WebSiteURL column if account name contains "Contoso"
if (accountName.toLowerCase().search("contoso") != -1) {
formContext.getAttribute("websiteurl").setValue("https://www.contoso.com");
}
else {
Xrm.Navigation.openAlertDialog({ text: "Account name does not contain 'Contoso'." });
}
}
Valores de la cuadrícula
La mayoría de los valores disponibles para el elemento de <CrmParameter>
se relacionan con el trabajo con datos que se muestran en una cuadrícula o gráfico de jerarquías. Mediante las opciones de la enumeración del parámetro de Value
, puede aislar fácilmente los elementos por:
Elementos seleccionados
SelectedControlSelectedItemCount
SelectedControlSelectedItemIds
SelectedControlSelectedItemReferences
Todos los elementos
SelectedControlAllItemCount
SelectedControlAllItemIds
SelectedControlAllItemReferences
Elementos no seleccionados
SelectedControlUnselectedItemCount
SelectedControlUnselectedItemIds
SelectedControlUnselectedItemReferences
Para cada una de estas agrupaciones, puede recopilar el número de elementos y de identificadores de GUID. Si pasa los valores a una dirección URL, también puede recuperar objetos
EntityReference
que contienen toda la información necesaria para identificar exclusivamente los objetos de la cuadrícula. Estos parámetros se aplican si la página vista es la cuadrícula principal (HomepageGrid
) o una subcuadrícula situada en un formulario. Cuando se usa conjuntamente con el parámetro deSelectedEntityTypeName
, tiene toda la información que debería tener que pasar a otra aplicación.
Otra información de contexto
Además de los valores de los datos, puede recuperar la información de contexto de cliente mediante <CrmParameter>. Puede usar las siguientes opciones como el valor del elemento CrmParameter
: OrgName
, OrgLcid
y UserLcid
.
Para una acción de <Url>
, también puede usar PassParams
para incluir información contextual.
Las opciones de Value
PrimaryEntityTypeName
y FirstPrimaryItemId
brindan información para un registro de tabla. Puede usar PrimaryItemIds
para una cinta de opciones de HomepageGrid
para obtener una lista de todos los elementos que se muestran.
Consultar también
Personalizar la cinta de opciones
Pasar parámetros a una dirección URL con la cinta de opciones
Definir acciones de la cinta de opciones
Definir acciones personalizadas para modificar la cinta de opciones
Contexto de formulario de la API del cliente
Contexto de cuadrícula de la API del cliente
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).