Pola włączone zdarzenie OnChange są niedostępne w oknie Edytowanie wielu rekordów w programie Microsoft Dynamics CRM 4.0

Dotyczy: Dynamics CRM 4.0

Objawy


Podczas edycji wielu rekordów w oknie Edytowanie wielu rekordów w programie Microsoft Dynamics CRM 4.0, pola, które mają zdarzenie OnChange włączone są niedostępne. Ponadto wszelkie zdarzenia OnLoad niestandardowe lub zdarzenia PrzyZapisie formularza są wyłączone.

Przyczyna


Ten problem występuje, ponieważ program Microsoft Dynamics CRM 4.0 wyłącza pola, które mają zdarzenie OnChange włączona w oknie Edytowanie wielu rekordów. Microsoft Dynamics CRM 4.0 wyłącza tych pól, aby zapobiec zdarzenie OnChange przyczyną błędów.

Obejście problemu


Aby obejść ten problem, należy ręcznie włączyć pola, które mają zdarzenie OnChange włączone. Na przykład aby ręcznie włączyć pole parentaccountid , wykonaj następujące kroki:
  1. Eksportowanie dostosowań konta. Aby to zrobić, wykonaj następujące kroki:
    1. W programie Microsoft Dynamics CRM 4.0 kliknij przycisk Ustawienia, kliknij opcję dostosowanie, a następnie kliknij Funkcji Dostosowywanie eksportu.
    2. Kliknij konto, kliknij polecenie Więcej akcji, a następnie kliknij Wybrany funkcji Dostosowywanie eksportu na pasku narzędzi.
    3. Kliknij przycisk OK, a następnie Zapisz eksportowany plik jako plik AccountCustom.xml.
  2. W programie Notatnik Otwórz plik AccountCustom.xml, a następnie zlokalizuj następującą sekcję:
    Opis etykiety = "Konto nadrzędne"
  3. W tej sekcji pliku AccountCustom.xml zlokalizuj następujący wiersz kodu.
    <event name="setadditionalparams" application="true" active="true">
  4. Zmień następujący wiersz istniejącego kodu.
    <event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
  5. Następnie odszukaj poniższy wiersz kodu.
    <event name="onchange" application="false" active="true">
  6. Zmień następujący wiersz istniejącego kodu.
    <event name="onchange" application="false" active="true" BehaviorInBulkEditForm="EnableButNoRender">
  7. Zapisać zmieniony plik AccountCustom.xml.
  8. Zaimportować zmieniony plik AccountCustom.xml. Aby to zrobić, wykonaj następujące kroki:
    1. Kliknij przycisk Ustawienia, kliknij dostosowywania, a następnie kliknij polecenie Importuj.
    2. Kliknij zmieniony plik AccountCustom.xml, a następnie kliknij przycisk Przekaż.
    3. Kliknij konto, kliknij opcję Więcej akcji, a następnie kliknij opcję Importuj wybrane dostosowania.
  9. Publikowanie dostosowań. Aby to zrobić, wykonaj następujące kroki:
    1. Kliknij przycisk Ustawienia, kliknij opcję dostosowanie, a następnie kliknij Dostosowywanie obiektów.
    2. Kliknij konto, a następnie kliknij przycisk Publikuj na pasku narzędzi.
  10. Otwórz formularz edycji zbiorczej, dla Account1 i Account2.
  11. Kliknij przycisk Wyszukiwanie Konta nadrzędnego .

    Następujące zdarzenia mogą zostać wyświetlone.
    <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>

Wykonaj następujące kroki dla pola ParentCustomerID na kontakt encji lub dla dowolnego pola, które ma zdarzenia. Prawidłowe wartości dla tych pól są następujące:
  • Włączone
    Jeśli używasz tej wartości, to pole jest włączone. Dodatkowo dla zdarzenia jest uruchamiany po wywołaniu zdarzenia.
  • Wyłączone
    Jeśli używasz tej wartości, to pole jest nieaktywne.
  • EnabledButNoRender
    Jeśli używasz tej wartości, to pole jest włączone. Jednak kod dla zdarzenia nie jest uruchamiane po wywołaniu zdarzenia.

Więcej informacji


Dla pola ParentAccount i ParentCustomerID pola zdarzenia, które są uruchamiane zapobiec wyświetlaniu wybranego konta na formularzu wyszukiwania. Nawet jeśli parametr jest ustawiony na wartość włączone , pola nie Filtruj luzem zaznaczone konta. Jednak Jeśli spróbujesz ustawić konto nadrzędne kont luzem wybrane do siebie, możesz niejasne komunikat o błędzie po ustawieniu konta nadrzędnego. W związku z tym odwołanie cykliczne z konta nie może być jej własne konto nadrzędne.

Ta funkcja jest dostępna tylko na zdarzenia OnChange.  Nie wywoła zdarzeń onLoad i PrzyZapisie i działa zgodnie z założeniami.