OnChange evento activado campos no están disponibles en la ventana Editar varios registros en Microsoft Dynamics CRM 4.0

Se aplica a: Dynamics CRM 4.0

Síntomas


Al editar varios registros en la ventana Editar varios registros en Microsoft Dynamics CRM 4.0, los campos que tienen el evento OnChange habilitado no están disponibles. Además, se deshabilitan los eventos OnLoad personalizados o eventos OnSave para el formulario.

Causa


Este problema se produce porque Microsoft Dynamics CRM 4.0 deshabilita los campos que tienen el evento OnChange habilitado en la ventana Editar varios registros. Microsoft Dynamics CRM 4.0 deshabilita estos campos para evitar que el evento OnChange causando errores.

Solución alternativa


Para evitar este problema, debe habilitar manualmente los campos que tienen el evento OnChange habilitado. Por ejemplo, para habilitar manualmente el campo parentaccountid , siga estos pasos:
  1. Exportar las personalizaciones de la cuenta. Para ello, siga estos pasos:
    1. En Microsoft Dynamics CRM 4.0, haga clic en configuración, haga clic en personalizacióny, a continuación, haga clic en Exportar personalizaciones.
    2. Haga clic en cuenta, haga clic en Más accionesy, a continuación, haga clic en Exportar personalizaciones seleccionadas en la barra de herramientas.
    3. Haga clic en Aceptary, a continuación, guardar el archivo exportado como el archivo AccountCustom.xml.
  2. En el Bloc de notas, abra el archivo AccountCustom.xml y, a continuación, busque la sección siguiente:
    etiqueta descripción = "Cuenta primaria"
  3. En esta sección del archivo AccountCustom.xml, busque la siguiente línea de código.
    <event name="setadditionalparams" application="true" active="true">
  4. Cambie la línea existente de código como sigue.
    <event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
  5. A continuación, busque la siguiente línea de código.
    <event name="onchange" application="false" active="true">
  6. Cambie la línea existente de código como sigue.
    <event name="onchange" application="false" active="true" BehaviorInBulkEditForm="EnableButNoRender">
  7. Guarde el archivo modificado de AccountCustom.xml.
  8. Importar el archivo modificado de AccountCustom.xml. Para ello, siga estos pasos:
    1. Haga clic en configuración, haga clic en personalizacióny, a continuación, haga clic en Importar.
    2. Haga clic en el archivo AccountCustom.xml modificado y, a continuación, haga clic en cargar.
    3. Haga clic en cuenta, haga clic en Más accionesy, a continuación, haga clic en Importar personalizaciones seleccionadas.
  9. Publicar las personalizaciones. Para ello, siga estos pasos:
    1. Haga clic en configuración, haga clic en personalizacióny, a continuación, haga clic en Personalizar entidades.
    2. Haga clic en cuentay, a continuación, haga clic en Publicar en la barra de herramientas.
  10. Abrir una edición masiva formulario para Cuenta1 y Cuenta2.
  11. Haga clic en el botón de búsqueda de la Cuenta a primaria .

    Los eventos siguientes pueden ser mostrados.
    <events><event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
    <script><![CDATA[
    var oLookup = event.srcElement;
    var sAccountId = crmFormSubmit.crmFormSubmitId.value;
    if (sAccountId != "") /* parent account is being updated, filter out this account */
    {
    oLookup.lookupclass="ParentLookup";
    oLookup.AddParam("currentaccount", sAccountId);
    }
    ]]></script>
    </event>
    </events>

Siga estos pasos para el campo ParentCustomerID en la entidad contacto , o para cualquier campo que tiene eventos. Los valores válidos para estos campos son:
  • Habilitado
    Si utiliza este valor, el campo está habilitado. Además, el código para el evento se ejecuta cuando se llama al evento.
  • Deshabilitado
    Si utiliza este valor, el campo está desactivado.
  • EnabledButNoRender
    Si utiliza este valor, el campo está habilitado. Sin embargo, el código para el evento no se ejecuta cuando se llama al evento.

Más información


Para el campo ParentAccount y el campo ParentCustomerID , los eventos que se ejecutan impiden que el formulario de búsqueda muestra la cuenta seleccionada. Aunque el parámetro se establece en el valor de Enabled , los campos no filtran las cuentas masiva seleccionado. Sin embargo, si intenta establecer la cuenta primaria de las cuentas a granel seleccionado a sí misma, recibirá un mensaje de error vagas al establecer la cuenta primaria. Por lo tanto, la referencia circular desde una cuenta no puede ser su propia cuenta primaria.

Esta funcionalidad sólo está disponible para los eventos OnChange.  No se activarán los eventos onLoad y OnSave y esto funciona como diseñado.