Administración de Oracle CRM On Demand > Personalización de aplicaciones > Página de personalización de aplicaciones de tipos de registro > Acerca de los campos obligatorios condicionalmente
Acerca de los campos obligatorios condicionalmente
Puede configurar un campo de modo que no sea obligatorio de forma predeterminada pero que sí sea obligatorio cuando se cumpla una condición definida. Los campos que se configuran de este modo se conocen como campos obligatorios condicionalmente. Por ejemplo, puede decidir que cuando un usuario establezca el estado de una oportunidad en Perdida, dicho usuario debe seleccionar un valor en el campo Motivo para ganar o perder antes de guardar el registro. Para implementar este proceso, puede introducir la siguiente condición para el campo Motivo para ganar o perder en la gestión de campos:
[{Status}]=LookupValue("OPTY_STATUS", "Perdida")
Tras configurar el campo de este modo, si un usuario selecciona el estado Perdida para una oportunidad, el usuario no puede guardar la oportunidad hasta que se seleccione un valor en el campo Motivo para ganar o perder. Se muestra un asterisco (*) de color rojo junto al campo, y si se muestra la etiqueta para el campo, esta aparece en color rojo.
Tenga en cuenta los siguientes puntos al configurar un campo obligatorio condicionalmente:
- Asegúrese de que se muestra el campo obligatorio condicionalmente en los diseños de página correspondientes. De lo contrario, los usuarios no podrán introducir un valor para el campo cuando se convierta en obligatorio. Asimismo, se recomienda activar la casilla de verificación Siempre en el diseño para el campo obligatorio condicionalmente en el Asistente de diseño de páginas, para que los usuarios no puedan quitar el campo de sus diseños de página. Si algunos usuarios ya han personalizado sus diseños de página, puede que sea necesario restablecer los diseños de página personalizados en el diseño predeterminado tras configurar el campo obligatorio condicionalmente. Para obtener más información, consulte Restablecimiento de diseños de página personalizados.
- Si desea que un campo obligatorio condicionalmente sea siempre obligatorio para un determinado rol, puede convertir este campo en obligatorio en el diseño de página que se utiliza para ese rol. El campo pasa a ser obligatorio en todos los casos en los que se utilice el diseño de página, incluso si no se cumple la condición que se define para el campo en el nivel de campo. En los casos en los que se utilizan otros diseños de página, el campo es obligatorio solo cuando se cumple la condición.
En la siguiente tabla se explica la configuración para convertir los campos en obligatorios u obligatorios condicionalmente en la gestión de campos y en el Asistente de diseño de páginas.
Casilla de verificación Obligatorio en la gestión de campos
|
Campo Obligatorio condicionalmente en la gestión de campos
|
Casilla de verificación Obligatorio en el Asistente de diseño de páginas
|
Casilla de verificación Obligatorio condicionalmente en el Asistente de diseño de páginas
|
Resultado
|
Seleccionada
|
En blanco
|
Seleccionado y de solo lectura
|
No seleccionado y de solo lectura
|
El campo es siempre obligatorio.
|
No seleccionado
|
Contiene una expresión
|
No seleccionado y editable
|
Seleccionado y de solo lectura
NOTA: Si activa la casilla de verificación Obligatorio en el Asistente de diseño de páginas, la casilla de verificación Obligatorio condicionalmente se desactiva automáticamente.
|
El campo es obligatorio solo cuando se cumple la condición que se especifica para el campo, a menos que active la casilla de verificación Obligatorio en el Asistente de diseño de páginas.
|
No seleccionado
|
En blanco
|
No seleccionado y editable
|
No seleccionado y de solo lectura
|
Si activa la casilla de verificación Obligatorio en el Asistente de diseño de páginas, el campo es obligatorio en todos los casos en los que se utilice el diseño de página. De lo contrario, el campo no es obligatorio.
|
Funcionalidad Expression Builder para campos obligatorios condicionalmente
Se aplican las siguientes limitaciones a la funcionalidad Expression Builder que puede utilizar en las condiciones que cree para los campos obligatorios condicionalmente:
- Funciones. Solo se admiten las siguientes funciones de Expression Builder:
- Tipos de datos. No puede utilizar campos del tipo de campo Fecha o Fecha y hora en expresiones para campos obligatorios condicionalmente. Puede utilizar todos los demás tipos de campos que se pueden utilizar en Expression Builder.
- Operadores. No se aplica ninguna limitación.
Para obtener más información sobre el uso de Expression Builder, consulte Expression Builder.
Limitaciones al editar campos obligatorios condicionalmente
Los administradores y los usuarios deben tener en cuenta las siguientes limitaciones al editar campos de obligatoriedad condicional:
- La expresión en un campo de obligatoriedad condicional puede incluir campos de registros asociados. Por ejemplo, en la página Detalles del contacto puede tener un campo que solo sea necesario cuando una determinada cuenta esté asociada al registro de contacto. La expresión puede incluir el campo ID o el campo Nombre de la cuenta, como se muestra en los ejemplos siguientes:
[{Account Id}]="1QA2-1IRPI7"
[{Primary Account Name}]="ACME Computer Parts"
Cuando realiza llamadas a un servicio web o a la API de REST para actualizar el registro y la solicitud incluye la asociación, para asegurarse de que la expresión en el campo de obligatoriedad condicional se evalúa correctamente, la solicitud debe contener el campo correcto del registro asociado. En el ejemplo de contacto, el campo ID o Nombre, según lo que se haya configurado para el campo de obligatoriedad condicional, debe estar en la solicitud. Otra opción es que la solicitud contenga tanto el campo ID como el campo Nombre.
- La expresión de un campo de obligatoriedad condicional puede evaluar campos de solo lectura que se actualizan automáticamente cuando se actualiza una asociación entre dos registros, como el campo Ubicación de la cuenta en un registro de contacto. Sin embargo, esa configuración no funciona correctamente en las siguientes circunstancias:
- Si el campo de obligatoriedad condicional actualmente no es necesario (es decir, la expresión en el campo se evalúa como false), y el registro se edita en línea en la página Detalle del registro, la actualización hace que la expresión en el campo de obligatoriedad condicional se evalúe como true. En este caso, el campo de obligatoriedad condicional continúa siendo no obligatorio.
- Si el campo de obligatoriedad condicional actualmente es necesario (es decir, la expresión en el campo se evalúa como true), y el registro se edita en línea en la página Editar del registro, la actualización hace que la expresión en el campo de obligatoriedad condicional se evalúe como false. En este caso, el campo de obligatoriedad condicional continúa siendo obligatorio.
- Un campo de obligatoriedad condicional puede utilizar una expresión que se evalúe como campos de información relacionada personalizados. Sin embargo, cuando se actualiza el campo de origen de un campo de información relacionada personalizado, hay muy poco retraso antes de que el campo de información relacionada personalizado se actualice de forma automática.
Por lo tanto, si la expresión en un campo de obligatoriedad condicional se evalúa como un campo de información relacionada personalizado, la expresión podría no evaluarse correctamente de forma inmediata después de que se actualice el campo de origen para el campo de información relacionada personalizado.
|