Configuración

Acelerar la entrada de datos estableciendo valores predeterminados

Fecha de publicación: Enero 1, 2008

Cuando proporcione campos que ya incluyan valores, reducirá el tiempo que pasa todo el mundo escribiendo y mejorará su precisión. Los usuarios pueden reemplazar los valores predeterminados si fuera necesario.

Puede establecer los valores predeterminados para los campos de Microsoft Dynamics CRM escribiendo código JScript que se activa cuando se carga un formulario o cuando cambia un valor. Los ejemplos de este artículo presentan la programación de cliente mediante JScript. Las muestras de código son fáciles de entender, copiar y modificar, incluso aunque nunca haya escrito código antes.

En el primer ejemplo, "Establecer la duración predeterminada de una cita", se muestra cómo cambiar la duración predeterminada de una cita. Es una forma sencilla de evitar errores que se producen cuando los empleados realizan cambios al escribir citas.

En el segundo ejemplo, "Establecer la fecha de vencimiento basándose en la prioridad", se muestra cómo cambiar el valor en el campo Fecha de vencimiento para una tarea basada en un valor que el usuario selecciona en la lista Prioridad del formulario Tarea. Al usar el valor de un campo para establecer el valor predeterminado de otro campo se garantiza que los empleados siguen un proceso estándar. También se reduce el número de clics y la escritura de cada usuario.

Para realizar los cambios sugeridos en este artículo, debe tener el rol de seguridad Administrador del sistema o Personalizador del sistema, o privilegios equivalentes.

En esta página
Establecer la duración predeterminada de una cita Establecer la duración predeterminada de una cita
Ajustar la fecha de vencimiento basándose en la prioridad Ajustar la fecha de vencimiento basándose en la prioridad
Sugerencias para modificar el código JScript Sugerencias para modificar el código JScript

Establecer la duración predeterminada de una cita

En el siguiente ejemplo se muestra cómo usar el evento OnLoad para cambiar el valor predeterminado de un atributo cuando Microsoft Dynamics CRM carga un formulario. Cuando se abre el formulario, Microsoft Dynamics CRM ejecuta código que se ha especificado en el evento OnLoad antes de que aparezca el formulario. Esto garantiza que los empleados siempre vean el valor personalizado.

Configurar el evento onLoad para el formulario Cita

  1. En el Panel de navegación, haga clic en Configuración, en Personalización y, a continuación, en Personalizar entidades.

  2. Haga doble clic en Cita.

  3. En Detalles, haga clic en Formularios y vistas y, a continuación, haga doble clic en Formulario.

  4. En el área Tareas comunes, haga clic en Propiedades del formulario.

  5. Seleccione OnLoad y, a continuación, haga clic en Editar. Se abre el cuadro de diálogo Propiedades de detalle del evento.

  6. Pegue el siguiente código en el cuadro del cuadro de diálogo Propiedades de detalle del evento.

    // Set the default duration to 60 minutes when the form is opened.
    var CRM_FORM_TYPE_CREATE = "1";
    var iMinutes = 60;
    
    if (crmForm.FormType==CRM_FORM_TYPE_CREATE)
       {
       crmForm.all.scheduleddurationminutes.DataValue = iMinutes;
       }
    
  7. Active la casilla El evento está habilitado.

  8. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de detalle del evento y, a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades del formulario.

  9. En el formulario Formulario: Cita, en el menú Vista previa, haga clic en Formulario de creación.

  10. En el formulario Formulario de creación, compruebe si Duración se ha establecido en una hora y, a continuación, cierre esta ventana.

  11. En el menú Vista previa, haga clic en Formulario de actualización. Como el código sólo se ejecuta cuando se abre el formulario para crear un nuevo registro, el valor de Duración no cambia cuando se abre el formulario para actualizar un registro. Cierre esta ventana.

  12. En el formulario Formulario: Cita, haga clic en Guardar y cerrar.

  13. Si ha terminado de realizar los cambios, haga clic en Guardar y cerrar en el formulario Entidad: Cita, seleccione Cita en la lista Personalizar entidades y, a continuación, en el menú Acciones haga clic en Publicar.

  14. Como las páginas web se almacenan en caché, es posible que las personalizaciones publicadas no se vean inmediatamente. Si ocurre esto, puede cerrar y volver a abrir Microsoft Dynamics CRM o actualizar la página presionando F5.

Volver al principio

Ajustar la fecha de vencimiento basándose en la prioridad

En este ejemplo se muestra cómo usar la prioridad de la tarea para determinar cuándo vence. Puede ver cómo configurar un valor predeterminado de un campo cuando cambia otro valor.

El campo Prioridad de la entidad Tarea es una lista desplegable y las listas desplegables tienen valores predeterminados. Cuando se abre una nueva tarea, la prioridad se establece en Normal. En el ejemplo se usa el evento OnLoad para establecer la fecha de vencimiento cuando se abre el formulario. Después se usa el evento OnChange del campo Prioridad para establecer la fecha de vencimiento cuando se cambia el valor en el campo Prioridad.

Configurar el evento onLoad para el formulario Tarea

  1. En el Panel de navegación, haga clic en Configuración, en Personalización y, a continuación, en Personalizar entidades.

  2. Haga doble clic en Tarea.

  3. En Detalles, haga clic en Formularios y vistas y, a continuación, haga doble clic en Formulario.

  4. En el área Tareas comunes, haga clic en Propiedades del formulario.

  5. Seleccione OnLoad y, a continuación, haga clic en Editar.

  6. Pegue el siguiente código en el cuadro del cuadro de diálogo Propiedades de detalle del evento:

    var CRM_FORM_TYPE_CREATE = "1";
    var DUE;
    var TODAY;
    
    // Only make these changes when the form is opened in Create mode.
    if (crmForm.FormType==CRM_FORM_TYPE_CREATE) 
        {
        // Get today's date.
        TODAY = new Date();
    
        // Set the due today date to today + 3 days at 5:00 P.M.
        DUE = TODAY.setDate( TODAY.getDate() + 3);
        DUE=TODAY.setHours(17,0,0);
        crmForm.all.scheduledend.DataValue = DUE;
        }
    
  7. Active la casilla El evento está habilitado.

  8. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de detalle del evento y, a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades del formulario.

  9. En el formulario Formulario: Tarea, en el menú Vista previa, haga clic en Formulario de creación.

  10. Compruebe que el valor del campo Vencimiento esté establecido en tres días desde hoy a las 5:00 p.m. y, a continuación, cierre la ventana Formulario de creación.

  11. Haga clic en Guardar y continúe con el siguiente procedimiento.

Configurar el evento OnChange para el campo Prioridad del formulario Tarea

  1. Con el formulario Formulario: Tarea abierto en el procedimiento anterior, haga clic en Prioridad y, a continuación, en el área Tareas comunes haga clic en Cambiar propiedades.

  2. En la ficha Eventos, seleccione onChange y, a continuación, haga clic en Editar. El cuadro de diálogo Propiedades de detalle del evento se abre.

  3. Pegue el siguiente código en el cuadro del cuadro de diálogo Propiedades de detalle del evento:

    var CRM_FORM_TYPE_CREATE = "1";
    var PRIORITY_HIGH="High";
    var PRIORITY_NORMAL="Normal";
    var PRIORITY_LOW="Low";
    var DUE;
    var TODAY;
    
    // Only make these changes when the form is opened in Create mode.
    if (crmForm.FormType==CRM_FORM_TYPE_CREATE)
        {
        TODAY = new Date();
    
        // If Due Date is null, set it to today's date.
        DUE =  crmForm.all.scheduledend.DataValue;
        if (DUE == null) 
            {
            DUE = new Date();
            }
        // Set the due date based on the value of the Priority field. 
        // Set the time to 5:00 P.M. in each case.
        switch (crmForm.prioritycode.SelectedText) {
    
        case PRIORITY_HIGH:
            DUE = TODAY;
            DUE = DUE.setHours(17,0,0);
            break;
       
        case PRIORITY_LOW:
            DUE = TODAY.setDate( TODAY.getDate() + 7);
            DUE = TODAY.setHours(17,0,0);
            break;
    
        case PRIORITY_NORMAL:
            DUE = TODAY.setDate( TODAY.getDate() + 3);
            DUE = TODAY.setHours(17,0,0);
            break;
        }
    
        crmForm.all.scheduledend.DataValue = DUE;
        }
    
  4. Active la casilla El evento está habilitado.

  5. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de detalle del evento y, a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de campo.

  6. En el formulario Formulario: Tarea, en el menú Vista previa, haga clic en Formulario de creación.

  7. En el cuadro Prioridad, seleccione cada valor y, a continuación, compruebe que el valor del campo Vencimiento haya cambiado correctamente.

  8. Cierre el formulario Formulario de creación.

  9. En el menú Vista previa, haga clic en Formulario de actualización y, a continuación, compruebe que al cambiar el valor del cuadro Prioridad no cambia el valor en el campo Vencimiento.

  10. Cierre el formulario Formulario de actualización.

  11. En el formulario Formulario: Tarea, haga clic en Guardar y cerrar.

  12. Si ha terminado de realizar los cambios, haga clic en Guardar y cerrar en el formulario Entidad: Tarea.

  13. En la lista Personalizar entidades seleccione Tarea y en la barra de tareas Acciones haga clic en Publicar.

  14. Como las páginas web se almacenan en caché, es posible que las personalizaciones publicadas no se vean inmediatamente. Si ocurre esto, puede cerrar y volver a abrir Microsoft Dynamics CRM o actualizar la página presionando F5.

Volver al principio

Sugerencias para modificar el código JScript

Cuando cree valores predeterminados en Microsoft Dynamics CRM, tenga en cuenta estas cuestiones:

¿Encontró la información que necesita?
Sí     No 
Si no es así, ¿qué información necesita? (opcional)

© 2009 Microsoft Corporation. Reservados todos los derechos.