Les champs d’événement activé OnChange ne sont pas disponibles dans la fenêtre Modifier plusieurs enregistrements dans Microsoft Dynamics CRM 4.0

S’applique à : Dynamics CRM 4.0

Symptômes


Lorsque vous modifiez plusieurs enregistrements dans la fenêtre Modifier plusieurs enregistrements dans Microsoft Dynamics CRM 4.0, les champs qui ont l’événement OnChange activé ne sont pas disponibles. En outre, tous les événements OnLoad personnalisés ou les événements OnSave du formulaire sont désactivées.

Cause


Ce problème se produit car Microsoft Dynamics CRM 4.0 désactive les champs qui ont l’événement OnChange activé dans la fenêtre Modifier plusieurs enregistrements. Microsoft Dynamics CRM 4.0 désactive ces champs pour éviter que l’événement OnChange de provoquer des erreurs.

Solution de contournement


Pour contourner ce problème, activez manuellement les champs qui ont l’événement OnChange activé. Par exemple, pour activer manuellement le champ parentaccountid , procédez comme suit :
  1. Exporter les personnalisations du compte. Pour ce faire, procédez comme suit :
    1. Dans Microsoft Dynamics CRM 4.0, cliquez sur paramètres, sur personnalisation, puis cliquez sur Exporter les personnalisations.
    2. Cliquez sur le compteet cliquez sur Autres Actions, puis cliquez sur Exporter les personnalisations sélectionnées dans la barre d’outils.
    3. Cliquez sur OK, puis enregistrez le fichier exporté en tant que le fichier AccountCustom.xml.
  2. Dans le bloc-notes, ouvrez le fichier AccountCustom.xml et recherchez la section suivante :
    description de l’étiquette = « Compte Parent »
  3. Dans cette section du fichier AccountCustom.xml, recherchez la ligne de code suivante.
    <event name="setadditionalparams" application="true" active="true">
  4. Modifiez la ligne de code existante comme suit :
    <event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
  5. Ensuite, recherchez la ligne de code suivante.
    <event name="onchange" application="false" active="true">
  6. Modifiez la ligne de code existante comme suit :
    <event name="onchange" application="false" active="true" BehaviorInBulkEditForm="EnableButNoRender">
  7. Enregistrez le fichier modifié de la AccountCustom.xml.
  8. Importer le fichier AccountCustom.xml modifié. Pour ce faire, procédez comme suit :
    1. Cliquez sur paramètreset cliquez sur personnalisation, puis cliquez sur Importer.
    2. Cliquez sur le fichier AccountCustom.xml modifié, puis cliquez sur Télécharger.
    3. Cliquez sur le compte, cliquez sur Autres Actions, puis cliquez sur Importer les personnalisations sélectionnées.
  9. Publiez les personnalisations. Pour ce faire, procédez comme suit :
    1. Cliquez sur paramètres, sur personnalisation, puis cliquez sur Personnaliser les entités.
    2. Cliquez sur compte, puis cliquez sur Publier dans la barre d’outils.
  10. Ouvrir une modification en bloc formulaire pour Compte1 et Compte2.
  11. Cliquez sur le bouton de recherche du Compte Parent .

    Les événements suivants peuvent apparaître.
    <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>

Suivez ces étapes pour le champ ParentCustomerID sur l’entité Contact , ou pour tout champ qui possède des événements. Les valeurs valides pour ces champs sont les suivantes :
  • Activé
    Si vous utilisez cette valeur, le champ est activé. En outre, le code de l’événement est exécuté lorsque l’événement est appelé.
  • Désactivé
    Si vous utilisez cette valeur, le champ est désactivé.
  • EnabledButNoRender
    Si vous utilisez cette valeur, le champ est activé. Toutefois, le code de l’événement n’est pas exécuté lorsque l’événement est appelé.

Plus d'informations


Pour le champ ParentAccount et champ ParentCustomerID , les événements qui se sont exécutés empêchent l’écran de recherche affiche le compte sélectionné. Même si le paramètre est défini sur la valeur activé , les champs ne filtrent pas les comptes en bloc sélectionnée. Toutefois, si vous essayez de définir le compte parent des comptes en bloc sélectionné à lui-même, vous recevez un message d’erreur vague lorsque vous définissez le compte parent. Par conséquent, la référence circulaire à partir d’un compte ne peut pas être son propre compte parent.

Cette fonctionnalité est uniquement disponible pour les événements OnChange.  Les événements onLoad et OnSave ne déclenchera pas et cela fonctionne comme prévu.