Κοινοποίηση μέσω


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

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

Σημείωμα

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

Σύνταξη

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

Παράμετροι

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

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

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

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

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

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

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

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

Ονομασία Type Περιγραφή
attributeName Συμβλοσειρά Το όνομα της στήλης που χρησιμοποιείται για τη σχέση.
name Συμβλοσειρά Το όνομα της στήλης που χρησιμοποιείται για τη σχέση.
navigationPropertyName Συμβλοσειρά Το όνομα της στήλης που χρησιμοποιείται για τη σχέση.
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