openForm (αναφορά API προγράμματος-πελάτη)

Ανοίγει μια φόρμα οντότητας ή μια φόρμα γρήγορης δημιουργίας.

Σημείωμα

Για να ανοίξετε μια κύρια φόρμα ως παράθυρο διαλόγου, χρησιμοποιήστε τη μέθοδο navigateTo . Περισσότερες πληροφορίες: Άνοιγμα κύριας φόρμας σε ένα παράθυρο διαλόγου με χρήση του προγράμματος-πελάτη API

Σύνταξη

Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);

Παράμετροι

Πλήρες όνομα Τύπος Υποχρεωτικό Περιγραφή
entityFormOptions Αντικείμενο Ναι Επιλογές φόρμας για το άνοιγμα της φόρμας. Ανατρέξτε στο αντικείμενο entityFormOptions
formParameters Αντικείμενο Αρ. Ένα αντικείμενο λεξικού που μεταβιβάζει επιπλέον παραμέτρους στη φόρμα. Οι μη έγκυρες παράμετροι προκαλούν σφάλμα.

Για πληροφορίες σχετικά με τη διαβίβαση παραμέτρων σε μια φόρμα, ανατρέξτε στο θέμα Ορισμός τιμών στήλης με χρήση παραμέτρων που μεταβιβάζονται σε μια φόρμα και Ρύθμιση παραμέτρων φόρμας για αποδοχή προσαρμοσμένων παραμέτρων συμβολοσειράς ερωτήματος.
successCallback Function Αρ. Μια συνάρτηση που θα εκτελεστεί όταν η εγγραφή αποθηκευτεί στη φόρμα γρήγορης δημιουργίας. Αυτή η συνάρτηση αποδέχεται ένα αντικείμενο ως παράμετρο. Το αντικείμενο διαθέτει έναν savedEntityReference πίνακα με τις ακόλουθες ιδιότητες για τον προσδιορισμό των εγγραφών που εμφανίζονται ή δημιουργούνται:
- entityType: Το λογικό όνομα του πίνακα.
- id: Μια αναπαράσταση συμβολοσειράς μιας τιμής GUID για την εγγραφή.
- name: Η τιμή κύριας στήλης της εγγραφής που εμφανίζεται ή δημιουργείται.

ΣΗΜΕΊΩΣΗ:
- Η successCallback συνάρτηση δεν εκτελείται όταν ανοίγετε μια φόρμα για μια υπάρχουσα ή νέα εγγραφή.
- Η successCallback συνάρτηση εκτελείται μόνο όταν αποθηκεύετε μια εγγραφή σε μια φόρμα γρήγορης δημιουργίας που άνοιξε χρησιμοποιώντας τη μέθοδο openForm.
errorCallback Function Αρ. Μια λειτουργία που εκτελείται όταν αποτύχει η λειτουργία.

Αντικείμενο entityFormOptions

Το αντικείμενο περιέχει τις ακόλουθες τιμές:

Πλήρες όνομα Τύπος Υποχρεωτικό Περιγραφή
entityName String Ναι Λογικό όνομα του πίνακα για τον οποίο θα εμφανίζεται η φόρμα.
entityId String Αρ. Το αναγνωριστικό της εγγραφής πίνακα για την εμφάνιση της φόρμας.
formId String Αρ. Το αναγνωριστικό της παρουσίας φόρμας που θα εμφανιστεί.
cmdbar Bool Αρ. Υποδεικνύει εάν θα εμφανίζεται η γραμμή εντολών. Εάν δεν καθορίσετε αυτή την παράμετρο, η γραμμή εντολών εμφανίζεται από προεπιλογή. Απαιτεί διαβίβαση openInNewWindow της παραμέτρου ως true.
createFromEntity Αναζήτηση Αρ. Ορίζει μια εγγραφή που παρέχει προεπιλεγμένες τιμές με βάση αντιστοιχισμένες τιμές στήλης. Το αντικείμενο αναζήτησης έχει τις ακόλουθες ιδιότητες συμβολοσειράς: entityType, idκαι name (προαιρετικό).
openInNewWindow Bool Αρ. Υποδεικνύει εάν θα εμφανίζεται η φόρμα σε ένα νέο παράθυρο ή σε μια νέα καρτέλα. Εάν καθορίσετε true και δεν καθορίσετε τιμές για το ύψος ή το πλάτος, η φόρμα εμφανίζεται σε μια νέα καρτέλα. Το άνοιγμα μιας φόρμας σε ένα νέο παράθυρο ή μια νέα καρτέλα καθιστά την απόδοση της φόρμας αργή σε σύγκριση με το άνοιγμα της φόρμας στην ίδια καρτέλα. Εξετάστε το ενδεχόμενο να ανοίξετε μια φόρμα στο παράθυρο διαλόγου κύριας φόρμας. Αυτή η ιδιότητα δεν υποστηρίζεται προς το παρόν για φόρμες Γρήγορης δημιουργίας, καθώς δεν είναι δυνατό το άνοιγμά τους σε ένα νέο παράθυρο ή καρτέλα.
height Αριθμός Αρ. Ύψος του παραθύρου φόρμας που θα εμφανίζεται σε pixel. Απαιτεί διαβίβαση openInNewWindow της παραμέτρου ως true.
width Αριθμός Αρ. Πλάτος του παραθύρου φόρμας που θα εμφανίζεται σε pixel. Απαιτεί διαβίβαση openInNewWindow της παραμέτρου ως true.
navbar String Αρ. Ελέγχει εάν θα εμφανίζεται η γραμμή περιήγησης και εάν η περιήγηση εφαρμογών θα είναι διαθέσιμη χρησιμοποιώντας τις περιοχές και τις δευτερεύουσες περιοχές που ορίζονται στον χάρτη τοποθεσίας. Οι έγκυρες τιμές είναι: on, offή entity. Απαιτεί μεταβίβαση της παραμέτρου openInNewWindow ως true.
- on: Εμφανίζεται η γραμμή περιήγησης. Αυτή είναι η προεπιλεγμένη συμπεριφορά εάν δεν χρησιμοποιείται η παράμετρος γραμμής περιήγησης.
- off: Η γραμμή περιήγησης δεν εμφανίζεται. Οι χρήστες μπορούν να περιηγηθούν χρησιμοποιώντας άλλα στοιχεία περιβάλλοντος εργασίας χρήστη ή τα κουμπιά εμπρός και εμπρός.
- entity: Σε μια φόρμα, είναι διαθέσιμες μόνο οι επιλογές περιήγησης για σχετικούς πίνακες. Μετά την περιήγηση σε έναν σχετικό πίνακα, εμφανίζεται ένα κουμπί "Πίσω" στη γραμμή περιήγησης για να επιτραπεί η επιστροφή στην αρχική εγγραφή.
relationship Αντικείμενο Αρ. Καθορίστε ένα αντικείμενο σχέσης για να εμφανίσετε τις σχετικές εγγραφές στη φόρμα. Εμφάνιση αντικειμένου σχέσης
selectedStageId String Αρ. Το αναγνωριστικό του επιλεγμένου σταδίου στην παρουσία επιχειρηματικής διαδικασίας.
useQuickCreateForm Bool Αρ. Υποδεικνύει εάν θα ανοίξετε μια φόρμα γρήγορης δημιουργίας. Ο πίνακας πρέπει να έχει ενεργοποιημένη την επιλογή Δυνατότητα γρήγορης δημιουργίας για να εμφανίζεται η φόρμα γρήγορης δημιουργίας και πρέπει επίσης να προσθέσετε τον πίνακα και τη φόρμα γρήγορης δημιουργίας στην εφαρμογή σας. Εάν δεν καθορίσετε την τιμή , useQuickCreateFormη προεπιλογή ορίζεται σε false.

αντικείμενο σχέσης

Το αντικείμενο έχει τις ακόλουθες τιμές.

Πλήρες όνομα Τύπος Περιγραφή
attributeName String Το όνομα της στήλης που χρησιμοποιείται για τη σχέση.
name String Το όνομα της στήλης που χρησιμοποιείται για τη σχέση.
navigationPropertyName String Το όνομα της στήλης που χρησιμοποιείται για τη σχέση.
relationshipType Αριθμός Τύπος σχέσης. Καθορίστε μία από τις παρακάτω τιμές:
- 0:OneToMany
- 1:ManyToMany
roleType Αριθμός Τύπος ρόλου στη σχέση. Καθορίστε μία από τις παρακάτω τιμές:
- 1:Αναφορά
- 2:AssociationEntity

Παρατηρήσεις

Πρέπει να χρησιμοποιήσετε αυτήν τη μέθοδο για να ανοίξετε φόρμες πίνακα ή γρήγορης δημιουργίας αντί για τις υπό απόσυρση μεθόδους Xrm.Utility.openEntityForm και Xrm.Utility.openQuickCreate .

Χρησιμοποιήστε το setActiveProcess για να εμφανίσετε μια συγκεκριμένη επιχειρηματική διαδικασία και ορίστε την ιδιότηταActiveProcessInstance για να εμφανίσετε μια συγκεκριμένη παρουσία επιχειρηματικής διαδικασίας στη φόρμα.

Παραδείγματα

Παράδειγμα 1: Άνοιγμα φόρμας για υπάρχουσα εγγραφή

Το παρακάτω δείγμα κώδικα ανοίγει μια φόρμα επαφής για να εμφανίσετε μια υπάρχουσα εγγραφή επαφής:

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["entityId"] = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee";

// Open the form.
Xrm.Navigation.openForm(entityFormOptions).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Παράδειγμα 2: Άνοιγμα φόρμας για νέα εγγραφή

Το παρακάτω δείγμα κώδικα ανοίγει μια φόρμα επαφής με ορισμένες προ-συμπληρωμένες τιμές για τη δημιουργία μιας νέας εγγραφής:

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";

// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Παράδειγμα 3: Άνοιγμα φόρμας για νέα εγγραφή (σύνθετη αναζήτηση)

Το παρακάτω δείγμα κώδικα ανοίγει μια φόρμα δραστηριότητας με ορισμένες προ-συμπληρωμένες τιμές (συμπεριλαμβανομένης μιας σύνθετης αναζήτησης) για τη δημιουργία μιας νέας εγγραφής:

var entityFormOptions = {};
entityFormOptions["entityName"] = "email";

// Set default values for the Contact form
var formParameters = {};
formParameters["subject"] = "Sample";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["regardingobjectid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["regardingobjectidname"] = "Admin user"; // Name of the user.
formParameters["regardingobjectidtype"] = "systemuser"; // Table name. 
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Παράδειγμα 4: Άνοιγμα φόρμας γρήγορης δημιουργίας

Το παρακάτω δείγμα κώδικα ανοίγει μια φόρμα επαφής γρήγορης δημιουργίας με ορισμένες προ-συμπληρωμένες τιμές:

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["useQuickCreateForm"] = true;

// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
formParameters["preferredsystemuseridtype"] = "systemuser"; // Table name.
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Xrm.Navigation