Kongsi melalui


openForm (Rujukan API Klien)

Membuka borang entiti atau borang cipta cepat.

Nota

Untuk membuka borang utama sebagai dialog, gunakan kaedah navigateTo sebaliknya. Maklumat lanjut:Buka borang utama dalam dialog menggunakan API klien

Sintaks

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

Parameter

Nama Taip Wajib Description
entityFormOptions Objek Ya Pilihan borang untuk membuka borang. Lihat objek entityFormOptions
formParameters Objek No Objek kamus yang menghantar parameter tambahan kepada borang. Parameter yang tidak sah akan menyebabkan ralat.

Untuk maklumat tentang menghantar parameter ke borang, lihat Setkan nilai lajur menggunakan parameter yang dihantar ke borang dan Konfigurasikan borang untuk menerima parameter rentetan pertanyaan tersuai.
successCallback Function No Fungsi untuk dilaksanakan apabila rekod disimpan dalam borang cipta cepat. Fungsi ini dihantar objek sebagai parameter. Objek mempunyai savedEntityReference tatasusunan dengan sifat berikut untuk mengenal pasti rekod yang dipaparkan atau dicipta:
- entityType: Nama logik jadual.
- id: Perwakilan rentetan nilai GUID untuk rekod.
- name: Nilai lajur utama rekod yang dipaparkan atau dicipta.

NOTA:
- Fungsi tidak successCallback dilaksanakan apabila anda membuka borang untuk rekod sedia ada atau baharu.
- Fungsi ini successCallback dilaksanakan hanya apabila anda menyimpan rekod dalam borang cipta pantas yang dibuka menggunakan kaedah openForm.
errorCallback Function No Fungsi untuk dilaksanakan apabila operasi gagal.

entityFormOptions objek

Objek mengandungi nilai berikut:

Nama Taip Wajib Description
entityName String Ya Nama logik jadual untuk memaparkan borang.
entityId String No ID rekod jadual untuk memaparkan borang.
formId String No ID tika borang yang akan dipaparkan.
cmdbar Bool No Menunjukkan sama ada untuk memaparkan bar perintah. Jika anda tidak menentukan parameter ini, bar arahan dipaparkan secara lalai. Memerlukan parameter lulus openInNewWindow sebagai benar.
createFromEntity Cari No Menetapkan rekod yang akan memberikan nilai lalai berdasarkan nilai lajur yang dipetakan. Objek carian mempunyai sifat Rentetan berikut: entityType, id, dan name (pilihan).
openInNewWindow Bool No Menunjukkan sama ada untuk memaparkan borang dalam tetingkap baharu atau tab baharu. Jika anda menentukan true dan tidak menentukan nilai untuk ketinggian atau lebar, borang akan dipaparkan dalam tab baharu. Membuka borang dalam tetingkap baharu atau tab baharu menjadikan pemaparan borang perlahan berbanding membuka borang pada tab yang sama; pertimbangkan untuk membuka borang dalam dialog borang utama. Sifat ini pada masa ini tidak disokong untuk borang Cipta Pantas, kerana ia tidak boleh dibuka dalam tetingkap atau tab baharu.
height Nombor No Ketinggian tetingkap borang yang akan dipaparkan dalam piksel. Memerlukan parameter lulus openInNewWindow sebagai benar.
width Nombor No Lebar tetingkap borang untuk dipaparkan dalam piksel. Memerlukan parameter lulus openInNewWindow sebagai benar.
navbar String No Mengawal sama ada bar navigasi dipaparkan dan sama ada navigasi aplikasi tersedia menggunakan kawasan dan subkawasan yang ditakrifkan dalam peta laman. Nilai yang sah ialah: on, off, atau entity. Memerlukan menghantar parameter openInNewWindow sebagai benar.
- on: Bar navigasi dipaparkan. Ini ialah tingkah laku lalai jika parameter navbar tidak digunakan.
- off: Bar navigasi tidak dipaparkan. Orang ramai boleh menavigasi menggunakan elemen antara muka pengguna lain atau butang belakang dan hadapan.
- entity: Pada borang, hanya opsyen navigasi untuk jadual berkaitan tersedia. Selepas menavigasi ke jadual berkaitan, butang kembali dipaparkan dalam bar navigasi untuk membenarkan kembali ke rekod asal.
relationship Objek No Takrifkan objek perhubungan untuk memaparkan rekod berkaitan pada borang. Lihat objek perhubungan
selectedStageId String No ID peringkat yang dipilih dalam contoh proses perniagaan.
useQuickCreateForm Bool No Menunjukkan sama ada untuk membuka borang cipta pantas. Jadual mesti mempunyai opsyen Benarkan Cipta Pantas didayakan untuk borang cipta pantas dipaparkan dan anda juga mesti menambah jadual dan borang cipta pantas pada apl anda. Jika anda tidak menentukan nilai useQuickCreateForm, lalai akan ditetapkan kepada false.

objek perhubungan

Objek mempunyai nilai berikut.

Nama Taip Description
attributeName String Nama lajur yang digunakan untuk perhubungan.
name String Nama lajur yang digunakan untuk perhubungan.
navigationPropertyName String Nama lajur yang digunakan untuk perhubungan.
relationshipType Nombor Jenis hubungan. Tentukan salah satu daripada nilai berikut:
- 0:OneToMany
- 1:ManyToMany
roleType Nombor Jenis peranan dalam hubungan. Tentukan salah satu daripada nilai berikut:
- 1:Rujukan
- 2:Entiti Persatuan

Ucapan

Anda mesti menggunakan kaedah ini untuk membuka borang jadual atau cipta pantas dan bukannya kaedah Xrm.Utility.openEntityForm dan Xrm.Utility.openQuickCreate yang ditamatkan.

Gunakan setActiveProcess untuk memaparkan proses perniagaan tertentu dan setActiveProcessInstance untuk memaparkan tika proses perniagaan tertentu pada borang.

Contoh

Contoh 1: Buka borang untuk rekod sedia ada

Kod contoh berikut membuka borang kenalan untuk memaparkan rekod kenalan sedia ada:

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);
    });

Contoh 2: Buka borang untuk rekod baharu

Kod sampel berikut membuka borang kenalan dengan beberapa nilai pra-isi untuk mencipta rekod baharu:

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);
    });

Contoh 3: Buka borang untuk rekod baharu (carian kompleks)

Kod sampel berikut membuka borang aktiviti dengan beberapa nilai pra-isi (termasuk carian kompleks) untuk mencipta rekod baharu:

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);
    });

Contoh 4: Buka borang cipta pantas

Kod contoh berikut membuka borang kenalan cipta pantas dengan beberapa nilai pra-isi:

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.Navigasi