แชร์ผ่าน


openForm (การอ้างอิง Client API)

เปิดฟอร์มเอนทิตีหรือฟอร์มสร้างด่วน

Note

เมื่อต้องเปิดฟอร์มหลักเป็นกล่องโต้ตอบ ใช้วิธีการ นําทาง To แทน ข้อมูลเพิ่มเติม: เปิดฟอร์มหลักในกล่องโต้ตอบโดยใช้ CLIENT API

ไวยากรณ์

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

พารามิเตอร์

ชื่อ ประเภท ต้องมี คำอธิบาย
entityFormOptions วัตถุ ใช่ ตัวเลือกแบบฟอร์มสําหรับการเปิดแบบฟอร์ม ดู ออบเจ็กต์ entityFormOptions
formParameters วัตถุ ไม่ วัตถุพจนานุกรมที่ส่งผ่านพารามิเตอร์พิเศษไปยังฟอร์ม พารามิเตอร์ที่ไม่ถูกต้องจะทําให้เกิดข้อผิดพลาด

สําหรับข้อมูลเกี่ยวกับการส่งผ่านพารามิเตอร์ไปยังฟอร์ม ดูตั้งค่าคอลัมน์โดยใช้พารามิเตอร์ที่ส่งผ่านไปยังฟอร์มและกําหนดค่าฟอร์มเพื่อยอมรับพารามิเตอร์ querystring แบบกําหนดเอง
successCallback ฟังก์ชัน ไม่ ฟังก์ชันที่จะดําเนินการเมื่อมีการบันทึกระเบียนในรูปแบบการสร้างด่วน ฟังก์ชันนี้จะถูกส่งผ่านวัตถุเป็นพารามิเตอร์ ออบเจ็กต์มี savedEntityReference อาร์เรย์ที่มีคุณสมบัติต่อไปนี้เพื่อระบุเรกคอร์ดที่แสดงหรือสร้างขึ้น:
- entityType: ชื่อตรรกะของตาราง
- id: การแสดงสตริงของค่า GUID สําหรับระเบียน
- name: ค่าคอลัมน์หลักของระเบียนที่แสดงหรือสร้างขึ้น

หมายเหตุ:
- ฟังก์ชัน successCallback จะไม่ถูกดําเนินการเมื่อคุณเปิดแบบฟอร์มสําหรับเรกคอร์ดที่มีอยู่หรือเรกคอร์ดใหม่
- ฟังก์ชัน successCallback จะมีการดําเนินการเฉพาะเมื่อคุณบันทึกระเบียนในฟอร์มสร้างแบบด่วนที่ถูกเปิดโดยใช้เมธอด openForm
errorCallback ฟังก์ชัน ไม่ ฟังก์ชันที่จะดําเนินการเมื่อการดําเนินการล้มเหลว

ออบเจ็กต์ entityFormOptions

วัตถุประกอบด้วยค่าต่อไปนี้:

ชื่อ ประเภท ต้องมี คำอธิบาย
entityName สตริง ใช่ ชื่อตรรกะของตารางที่จะแสดงฟอร์ม
entityId สตริง ไม่ รหัสของเรกคอร์ดตารางที่จะแสดงแบบฟอร์ม
formId สตริง ไม่ รหัสของอินสแตนซ์แบบฟอร์มที่จะแสดง
cmdbar บูล ไม่ ระบุว่าจะแสดงแถบคําสั่งหรือไม่ ถ้าคุณไม่ได้ระบุพารามิเตอร์นี้ แถบคําสั่งจะแสดงตามค่าเริ่มต้น จําเป็นต้องมีการส่ง openInNewWindow ผ่านพารามิเตอร์เป็น จริง
createFromEntity การค้นหา ไม่ กําหนดระเบียนที่จะให้ค่าเริ่มต้นโดยยึดตามค่าคอลัมน์ที่ถูกแมป ออบเจ็กต์การค้นหามีคุณสมบัติสตริงต่อไปนี้: entityType, idและ name (ไม่บังคับ)
openInNewWindow บูล ไม่ ระบุว่า จะแสดงฟอร์มในหน้าต่างใหม่หรือแท็บใหม่ ถ้าคุณระบุ true และไม่ได้ระบุค่าสําหรับความสูงหรือความกว้าง ฟอร์มจะแสดงในแท็บใหม่ การเปิดฟอร์มในหน้าต่างใหม่หรือแท็บใหม่จะทําให้การแสดงฟอร์มช้าเมื่อเทียบกับการเปิดฟอร์มบนแท็บเดียวกัน พิจารณาการเปิดฟอร์มในกล่องโต้ตอบฟอร์มหลักแทน ในขณะนี้ คุณสมบัตินี้ไม่ได้รับการสนับสนุนสําหรับฟอร์ม Quick Create เนื่องจากไม่สามารถเปิดในหน้าต่างหรือแท็บใหม่ได้
height ตัวเลข ไม่ ความสูงของหน้าต่างฟอร์มที่จะแสดงเป็นพิกเซล จําเป็นต้องมีการส่ง openInNewWindow ผ่านพารามิเตอร์เป็น จริง
width ตัวเลข ไม่ ความกว้างของหน้าต่างฟอร์มที่จะแสดงเป็นพิกเซล จําเป็นต้องมีการส่ง openInNewWindow ผ่านพารามิเตอร์เป็น จริง
navbar สตริง ไม่ ควบคุมว่าแถบนําทางจะแสดงหรือไม่ และการนําทางของแอปพลิเคชันจะพร้อมใช้งานโดยใช้พื้นที่และพื้นที่ย่อยที่กําหนดไว้ในแผนผังเว็บไซต์หรือไม่ ค่าที่ถูกต้องคือ: on, offหรือentity ต้องการการส่งผ่านพารามิเตอร์ openInNewWindow เป็น true
- on: แถบนําทางจะแสดงขึ้น นี่คือลักษณะการทํางานเริ่มต้นถ้าไม่ได้ใช้พารามิเตอร์แถบนําทาง
- off: แถบนําทางจะไม่แสดงขึ้น ผู้คนสามารถนําทางได้โดยใช้องค์ประกอบส่วนต่อประสานผู้ใช้อื่นๆ หรือปุ่มย้อนกลับและไปข้างหน้า
- entity: บนฟอร์ม เฉพาะตัวเลือกการนําทางสําหรับตารางที่เกี่ยวข้องเท่านั้นจะพร้อมใช้งาน หลังจากนําทางไปยังตารางที่เกี่ยวข้องแล้ว ปุ่มย้อนกลับจะแสดงในแถบนําทางเพื่ออนุญาตให้กลับไปยังระเบียนต้นฉบับ
relationship วัตถุ ไม่ กําหนดวัตถุความสัมพันธ์เพื่อแสดงระเบียนที่เกี่ยวข้องบนฟอร์ม ดู วัตถุความสัมพันธ์
selectedStageId สตริง ไม่ รหัสของลําดับขั้นที่เลือกในอินสแตนซ์กระบวนการทางธุรกิจ
useQuickCreateForm บูล ไม่ ระบุว่าจะเปิดฟอร์มสร้างด่วนหรือไม่ ตารางต้องมีการเปิดใช้งานตัวเลือก อนุญาตให้สร้างด่วน เพื่อให้แสดงฟอร์มสร้างด่วน และคุณต้องเพิ่มตารางและฟอร์มสร้างด่วนไปยังแอปของคุณด้วย ถ้าคุณไม่ได้ระบุค่าของ useQuickCreateFormค่าเริ่มต้นจะถูกกําหนดเป็นfalse

วัตถุความสัมพันธ์

วัตถุมีค่าต่อไปนี้

ชื่อ ประเภท คำอธิบาย
attributeName สตริง ชื่อของคอลัมน์ที่ใช้สําหรับความสัมพันธ์
name สตริง ชื่อของคอลัมน์ที่ใช้สําหรับความสัมพันธ์
navigationPropertyName สตริง ชื่อของคอลัมน์ที่ใช้สําหรับความสัมพันธ์
relationshipType ตัวเลข ประเภทความสัมพันธ์ ระบุค่าใดค่าหนึ่งต่อไปนี้:
- 0:OneToMany
- 1:ManyToMany
roleType ตัวเลข ชนิดบทบาทในความสัมพันธ์ ระบุค่าใดค่าหนึ่งต่อไปนี้:
- 1:การอ้างอิง
- 2:ความสัมพันธ์

หมายเหตุ

คุณต้องใช้วิธีนี้ในการเปิดตารางหรือแบบฟอร์ม quick create แทนวิธีการ Xrm.Utility.openEntityForm และ Xrm.Utility.openQuickCreate ที่เลิกใช้แล้ว

ใช้ setActiveProcess เพื่อแสดงกระบวนการทางธุรกิจเฉพาะและ ตั้งค่า SetActiveProcessInstance เพื่อแสดงอินสแตนซ์กระบวนการทางธุรกิจเฉพาะบนแบบฟอร์ม

ตัวอย่าง

ตัวอย่างที่ 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