Κοινή χρήση μέσω


Προσθήκη νέων φορμών προσαρμοσμένης οντότητας (Project Service Automation 2.x)

Σημαντικό

Το Dynamics 365 Project Service Automation εξελίχθηκε σε Dynamics 365 Project Operations. Για περισσότερες πληροφορίες, δείτε το θέμα Μετάβαση του Project Service Automation.

Τύπος πεδίου

Το Dynamics 365 Project Service Automation βασίζεται στο πεδίο Τύπος (msdyn_ordertype) στις οντότητες Ευκαιρία, Προσφορά, Παραγγελία και Τιμολόγιο για να διακρίνει αυτές τις εκδόσεις βάσει εργασίας αυτών των οντοτήτων από τις εκδόσεις βάσει στοιχείου και βάσει υπηρεσίας. Οι εκδόσεις που βασίζονται σε εργασία αυτών των οντοτήτων διεκπεραιώνονται από το PSA. Η πολλή επιχειρηματική λογική από την πλευρά του προγράμματος-πελάτη και από την πλευρά του διακομιστή της λύσης εξαρτάται από το πεδίο Τύπος. Για αυτόν το λόγο, είναι σημαντικό να προετοιμαστεί το πεδίο με σωστή τιμή κατά τη δημιουργία των οντοτήτων. Μια εσφαλμένη τιμή μπορεί να προκαλέσει εσφαλμένες συμπεριφορές και κάποια επιχειρηματική λογική ενδέχεται να μην εκτελεστεί σωστά.

Αυτόματη εναλλαγή φορμών

Για να αποφύγετε την καταστροφή πιθανών δεδομένων και τις μη αναμενόμενες συμπεριφορές που προκαλούνται από εσφαλμένη προετοιμασία και επεξεργασία των καρτελών της οντότητας πωλήσεων, το PSA πλέον περιλαμβάνει λογική για την αυτόματη εναλλαγή φορμών στις έτοιμες φόρμες. Αυτή η λογική πηγαίνει τους χρήστες στη σωστή φόρμα για εργασία με την έκδοση με βάση την εργασία ή με οποιονδήποτε άλλο τύπο οντότητας ευκαιρίας, προσφοράς, παραγγελίας ή τιμολογίου. Όταν ένας χρήστης ανοίγει την έκδοση με βάση την εργασία μιας οντότητας ευκαιρίας, προσφοράς, παραγγελίας ή τιμολογίου, η φόρμα αλλάζει σε Πληροφορίες έργου.

Η λογική αυτόματης εναλλαγής φορμών βασίζεται στην αντιστοίχιση μεταξύ της τιμής formId και του πεδίου msdyn_ordertype. Όλες οι έτοιμες φόρμες έχουν προστεθεί σε αυτήν την αντιστοίχιση. Ωστόσο, οι προσαρμοσμένες φόρμες θα πρέπει να προστεθούν με μη αυτόματο τρόπο, για να υποδείξουν την έκδοση της οντότητας που πρόκειται να διαχειριστούν. Αυτό βασίζεται στο πεδίο msdyn_ordertype. Εάν η εναλλαγή φορμών λείπει από την αντιστοίχιση, η λογική θα μεταπηδήσει στην έτοιμη φόρμα με βάση την τιμή που αποθηκεύεται στο πεδίο msdyn_ordertype της οντότητας.

Προσθήκη προσαρμοσμένων φορμών και ενεργοποίηση της λογικής εναλλαγής φορμών

Το παρακάτω παράδειγμα δείχνει τον τρόπο προσθήκης μιας προσαρμοσμένης φόρμας, Τα στοιχεία έργου μου έτσι ώστε να λειτουργεί με ευκαιρίες βασισμένες στην εργασία. Η ίδια διεργασία χρησιμοποιείται για την προσθήκη προσαρμοσμένων φορμών, έτσι ώστε να λειτουργούν με προσφορές, παραγγελίες και τιμολόγια.

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

  1. Στην οντότητα ευκαιρίας, ανοίξτε τη φόρμα Πληροφορίες έργου και αποθηκεύστε ένα αντίγραφο με το όνομα Οι πληροφορίες έργου μου.

  2. Ανοίξτε τη νέα φόρμα και, στη συνέχεια, στις ιδιότητες, βεβαιωθείτε ότι υπάρχουν οι δέσμες ενεργειών προετοιμασίας φορμών από τη φόρμα Πληροφορίες έργου.

    Σημαντικό

    Μην καταργήσετε τις δέσμες ενεργειών. Διαφορετικά, ορισμένα δεδομένα ενδεχομένως να μην αρχικοποιηθούν σωστά.

  3. Βεβαιωθείτε ότι το πεδίο Τύπος (msdyn_ordertype) υπάρχει στη φόρμα.

    Σημαντικό

    Μην καταργήσετε αυτό το πεδίο. Διαφορετικά, οι δέσμες ενεργειών προετοιμασίας θα αποτύχουν.

  4. Βρείτε την τιμή formId της νέας φόρμας. Μπορείτε να τη συμπληρώσετε με δύο τρόπους:

    • Κάντε εξαγωγή της φόρμας Τα στοιχεία έργου μου ως μέρος μιας μη διαχειριζόμενης λύσης και μετά αναζητήστε την τιμή formId στο αρχείο customization.xml της λύσης που έχει εξαχθεί.
    • Ανοίξτε τη φόρμα Τα στοιχεία έργου μου στο πρόγραμμα επεξεργασίας φορμών και, στη συνέχεια, αναζητήστε το καθολικά μοναδικό αναγνωριστικό (GUID) δίπλα στην παράμετρο fromId στην URL όπως φαίνεται στην παρακάτω απεικόνιση.

    Η τιμή formId της νέας φόρμας στο URL.

  5. Δημιουργήστε μια αντιστοίχιση msdyn_ordertype για την τιμή formId κάνοντας επεξεργασία του πόρου web msdyn_/SalesDocument/PSSalesDocumentCustomFormIds.js. Καταργήστε τον κώδικα από τον πόρο και αντικαταστήστε τον με τον ακόλουθο κώδικα.

    define(["require", "exports"], function (require, exports) {
        "use strict";
        var SalesDocumentCustomFormIds = (function () {
            function SalesDocumentCustomFormIds() {
            }
            SalesDocumentCustomFormIds.overwriteFormIds = function (mappedFormIds) {
                /*
                ---- Notes ----
                mappedFormIds[SalesEntity][OrderType] => The array of forms IDs that support particular entity and order type
                Add or overwrite customized formId for the particular entity and order type by calling:
                    mappedFormIds[<EntityType>][<msdyn_ordertype>].push("<formId>");
                Allowed msdyn_ordertype values for reference:
                    ServiceBased: 690970002 (Field Service version of the entity)
                    WorkBased: 192350001 (PSA version of the entity)
                    ItemBased: 192350000 (Regular out of the box entity)
                Uncomment and update one of the following lines to register custom PSA form for required entity:
                */		
                //mappedFormIds[1][192350001].push("<formId>"); //Quote
                //mappedFormIds[5][192350001].push("<formId>"); //Quote Line
                //mappedFormIds[2][192350001].push("<formId>"); //Sales Order
                //mappedFormIds[6][192350001].push("<formId>"); //Sales Order Line
                // In this example we have added new form for Opportunity
                mappedFormIds[0][192350001].push("192EE537-DCC4-45D3-B7AF-EA694B9113D2"); //Opportunity
                //mappedFormIds[4][192350001].push("<formId>"); //Opportunity Line
            };
            return SalesDocumentCustomFormIds;
        }());
        exports.default = SalesDocumentCustomFormIds;
    });
    
  6. Αποθηκεύστε και δημοσιεύστε τις προσαρμογές.