Πεδία ενεργοποιηθεί το συμβάν OnChange δεν είναι διαθέσιμες στο παράθυρο επεξεργασία πολλών καρτελών στο Microsoft Dynamics CRM 4.0

Ισχύει για: Dynamics CRM 4.0

Συμπτώματα


Κατά την επεξεργασία πολλών καρτελών στο παράθυρο επεξεργασία πολλών καρτελών στο Microsoft Dynamics CRM 4.0, τα πεδία που έχουν το συμβάν OnChange ενεργοποιημένο δεν θα είναι διαθέσιμες. Επίσης, οποιαδήποτε προσαρμοσμένα συμβάντα OnLoad ή OnSave συμβάντα για τη φόρμα είναι απενεργοποιημένες.

Αιτία


Αυτό το ζήτημα προκύπτει επειδή το Microsoft Dynamics CRM 4.0 απενεργοποιεί τα πεδία που έχουν το συμβάν OnChange ενεργοποιημένη στο παράθυρο "Επεξεργασία πολλών καρτελών". Αυτά τα πεδία για να εμποδίσετε το συμβάν OnChange να προκαλεί σφάλματα απενεργοποιεί την Microsoft Dynamics CRM 4.0.

Εναλλακτικός τρόπος αντιμετώπισης


Για να επιλύσετε αυτό το ζήτημα, να ενεργοποιήσετε με μη αυτόματο τρόπο τα πεδία που έχουν το συμβάν OnChange ενεργοποιημένη. Για παράδειγμα, για να ενεργοποιήσετε με μη αυτόματο τρόπο το πεδίο parentaccountid , ακολουθήστε τα εξής βήματα:
  1. Εξαγάγετε τις προσαρμογές του λογαριασμού. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
    1. Στο Microsoft Dynamics CRM 4.0, κάντε κλικ στην επιλογή Ρυθμίσεις, επιλέξτε Προσαρμογήκαι, στη συνέχεια, κάντε κλικ στην επιλογή Εξαγωγή προσαρμογών.
    2. Κάντε κλικ στο λογαριασμό, κάντε κλικ στην επιλογή Περισσότερες ενέργειεςκαι, στη συνέχεια, κάντε κλικ στην επιλογή Εξαγωγή προσαρμογών που επιλέξατε στη γραμμή εργαλείων.
    3. Κάντε κλικ στο κουμπί OKκαι στη συνέχεια να αποθηκεύσετε το εξαγόμενο αρχείο ως αρχείο AccountCustom.xml.
  2. Στο Σημειωματάριο (Notepad), ανοίξτε το αρχείο AccountCustom.xml και, στη συνέχεια, εντοπίστε την ακόλουθη ενότητα:
    ετικέτα περιγραφή = "Γονικός λογαριασμός"
  3. Σε αυτήν την ενότητα του αρχείου AccountCustom.xml, εντοπίστε την ακόλουθη γραμμή κώδικα.
    <event name="setadditionalparams" application="true" active="true">
  4. Αλλάξτε την υπάρχουσα γραμμή κώδικα ως εξής.
    <event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
  5. Στη συνέχεια, εντοπίστε την ακόλουθη γραμμή κώδικα.
    <event name="onchange" application="false" active="true">
  6. Αλλάξτε την υπάρχουσα γραμμή κώδικα ως εξής.
    <event name="onchange" application="false" active="true" BehaviorInBulkEditForm="EnableButNoRender">
  7. Αποθηκεύστε το τροποποιημένο αρχείο AccountCustom.xml.
  8. Εισαγάγετε το τροποποιημένο αρχείο AccountCustom.xml. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
    1. Κάντε κλικ στην επιλογή Ρυθμίσεις, επιλέξτε Προσαρμογήκαι, στη συνέχεια, κάντε κλικ στην επιλογή Εισαγωγή.
    2. Επιλέξτε το τροποποιημένο αρχείο AccountCustom.xml και, στη συνέχεια, κάντε κλικ στο κουμπί Αποστολή.
    3. Κάντε κλικ στο λογαριασμό, κάντε κλικ στην επιλογή Περισσότερες ενέργειεςκαι, στη συνέχεια, κάντε κλικ στην επιλογή Εισαγωγή προσαρμογών που επιλέξατε.
  9. Για να δημοσιεύσετε τις προσαρμογές. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
    1. Κάντε κλικ στην επιλογή Ρυθμίσεις, επιλέξτε Προσαρμογήκαι, στη συνέχεια, κάντε κλικ στην επιλογή Προσαρμογή οντοτήτων.
    2. Κάντε κλικ στο λογαριασμόκαι στη συνέχεια κάντε κλικ στο κουμπί " Δημοσίευση " στη γραμμή εργαλείων.
  10. Ανοίξτε μια μαζική επεξεργασία φόρμας για το Λογαριασμό1 και για το Λογαριασμό2.
  11. Κάντε κλικ στο κουμπί Αναζήτηση Γονικό λογαριασμό .

    Τα ακόλουθα συμβάντα μπορεί να εμφανιστούν.
    <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>

Ακολουθήστε αυτά τα βήματα για το πεδίο ParentCustomerID στην οντότητα " επαφή " ή για οποιοδήποτε πεδίο που έχει συμβάντα. Οι έγκυρες τιμές για αυτά τα πεδία είναι ως εξής:
  • Ενεργοποιημένη
    Εάν χρησιμοποιείτε αυτήν την τιμή, το πεδίο είναι ενεργοποιημένο. Επιπλέον, ο κώδικας για το συμβάν εκτελείται όταν καλείται το συμβάν.
  • Απενεργοποιημένη
    Εάν χρησιμοποιείτε αυτήν την τιμή, το πεδίο αυτό είναι απενεργοποιημένο.
  • EnabledButNoRender
    Εάν χρησιμοποιείτε αυτήν την τιμή, το πεδίο είναι ενεργοποιημένο. Ωστόσο, ο κώδικας για το συμβάν δεν εκτελείται όταν καλείται το συμβάν.

Περισσότερες πληροφορίες


Για το πεδίο " ParentAccount " και το πεδίο ParentCustomerID , τα συμβάντα που εκτελούνται αποτρέψετε την εμφάνιση του επιλεγμένου λογαριασμού στη φόρμα αναζήτησης. Ακόμα και αν η παράμετρος έχει οριστεί στην τιμή ενεργοποιημένη , τα πεδία μην φιλτράρετε τους λογαριασμούς χύδην που επιλέξατε. Ωστόσο, εάν προσπαθήσετε να ρυθμίσετε το γονικό λογαριασμό των λογαριασμών μαζικής επιλεγμένο στον εαυτό του, λαμβάνετε ένα μήνυμα λάθους ασαφές όταν ορίζετε το γονικό λογαριασμό. Επομένως, η κυκλική αναφορά από ένα λογαριασμό δεν μπορεί να είναι το δικό του μητρικού λογαριασμού.

Αυτή η λειτουργικότητα είναι διαθέσιμη μόνο για τα συμβάντα με την αλλαγή.  Δεν θα ενεργοποιήσει συμβάντα onLoad και OnSave και αυτό λειτουργεί ως έχουν.