หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําทางไปยังรายการตาราง ระเบียนตาราง ทรัพยากร HTML เว็บ หรือหน้าแบบกําหนดเองที่ระบุ
Note
วิธีนี้ได้รับการสนับสนุนเฉพาะบนอินเทอร์เฟซแบบรวมศูนย์เท่านั้น
ไวยากรณ์
ใช้ไวยากรณ์ต่อไปนี้เพื่อเรียกXrm.Navigation.navigateTo()
Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);
พารามิเตอร์
เมธอด ยอมรับพารามิเตอร์ต่อไปนี้
| ชื่อ | ประเภท | ต้องมี | คำอธิบาย |
|---|---|---|---|
| pageInput | วัตถุ | ใช่ | ป้อนข้อมูลเกี่ยวกับหน้าเพื่อนําทางไป ดู พารามิเตอร์ pageInput |
| navigationOptions | วัตถุ | ไม่ใช่ | ตัวเลือกสําหรับการนําทางไปยังหน้า: ว่าจะเปิดแบบอินไลน์หรือในกล่องโต้ตอบ ถ้าคุณไม่ได้ระบุพารามิเตอร์นี้ เมธอด จะเปิดหน้าแบบอินไลน์ตามค่าเริ่มต้น |
successCallback |
ฟังก์ชัน | ไม่ใช่ | ฟังก์ชันที่จะดําเนินการบนการนําทางที่สําเร็จไปยังหน้าเมื่อนําทางแบบอินไลน์และเมื่อปิดกล่องโต้ตอบเมื่อนําทางไปยังกล่องโต้ตอบ |
errorCallback |
ฟังก์ชัน | ไม่ใช่ | ฟังก์ชันที่จะดําเนินการเมื่อการดําเนินการล้มเหลว |
pageInput พารามิเตอร์
การเปลี่ยนแปลงข้อกําหนดของวัตถุโดยขึ้นอยู่กับชนิดของหน้าเพื่อนําทางไปยัง: รายการเอนทิตีระเบียนเอนทิตีแดชบอร์ดทรัพยากรบนเว็บ HTMLหน้าแบบกําหนดเอง หรือหน้าสร้าง
รายการเอนทิตี
วัตถุรายการเอนทิตีประกอบด้วยค่าต่อไปนี้
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
pageType |
สตริง | ระบุentitylist |
entityName |
สตริง | ชื่อตรรกะของตารางที่จะโหลดในตัวควบคุมรายการ |
viewId |
สตริง | (ไม่บังคับ) ID ของมุมมองที่จะโหลด ถ้าคุณไม่ได้ระบุ แอปจะนําทางไปยังมุมมองหลักเริ่มต้นสําหรับตาราง |
viewType |
สตริง | (ไม่บังคับ) ชนิดของมุมมองที่จะโหลด ระบุว่า savedquery หรือ userquery |
เรกคอร์ดเอนทิตี
วัตถุระเบียนเอนทิตีประกอบด้วยค่าต่อไปนี้
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
pageType |
สตริง | ระบุentityrecord |
entityName |
สตริง | ชื่อตรรกะของตารางที่จะแสดงฟอร์ม |
entityId |
สตริง | (ไม่บังคับ) รหัสของเรกคอร์ดตารางที่จะแสดงแบบฟอร์ม ถ้าคุณไม่ได้ระบุค่านี้ ฟอร์มจะเปิดขึ้นในโหมดสร้าง |
createFromEntity |
การค้นหา | (ไม่บังคับ) กําหนดระเบียนที่ให้ค่าเริ่มต้นโดยยึดตามค่าคอลัมน์ที่ถูกแมป ออบเจ็กต์การค้นหามีคุณสมบัติสตริงต่อไปนี้: entityType, id และชื่อ (ตัวเลือก) |
data |
วัตถุ | (ไม่บังคับ) วัตถุพจนานุกรมที่ส่งผ่านพารามิเตอร์เพิ่มเติมไปยังฟอร์ม
พารามิเตอร์สามารถเป็นคอลัมน์ตารางที่มีค่าเริ่มต้นที่ตั้งไว้ในฟอร์มใหม่ (ดู ตั้งค่าคอลัมน์โดยใช้พารามิเตอร์ที่ส่งผ่านไปยังฟอร์ม) หรือพารามิเตอร์แบบกําหนดเองที่เข้าถึงบนฟอร์มที่ใช้ |
formId |
สตริง | (ไม่บังคับ) รหัสของอินสแตนซ์ของฟอร์มที่จะแสดง |
isCrossEntityNavigate |
แบบบูลีน | (ไม่บังคับ) ระบุว่าฟอร์มถูกนําทางจากตารางอื่นโดยใช้โฟลว์กระบวนการทางธุรกิจแบบตารางข้ามหรือไม่ |
isOfflineSyncError |
แบบบูลีน | (ไม่บังคับ) ระบุว่ามีข้อผิดพลาดใด ๆ ในการซิงค์แบบออฟไลน์หรือไม่ |
processId |
สตริง | (ไม่บังคับ) รหัสของกระบวนการทางธุรกิจที่จะแสดงบนแบบฟอร์ม |
processInstanceId |
สตริง | (ไม่บังคับ) รหัสของอินสแตนซ์กระบวนการทางธุรกิจที่จะแสดงบนแบบฟอร์ม |
relationship |
วัตถุ | (ไม่บังคับ) กําหนดวัตถุความสัมพันธ์เพื่อแสดงระเบียนที่เกี่ยวข้องบนฟอร์ม ดูความสัมพันธ์ |
selectedStageId |
สตริง | (ไม่บังคับ) รหัสของลําดับขั้นที่เลือกในอินสแตนซ์กระบวนการทางธุรกิจ |
tabName |
สตริง | (ไม่บังคับ) ตั้งค่าโฟกัสบนแท็บของฟอร์ม |
ออบเจ็กต์ความสัมพันธ์
วัตถุความสัมพันธ์ที่ใช้ใน ระเบียนเอนทิตีประกอบด้วยค่าต่อไปนี้
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
attributeName |
สตริง | ชื่อของคอลัมน์ที่ใช้สําหรับความสัมพันธ์ |
name |
สตริง | ชื่อของความสัมพันธ์ |
navigationPropertyName |
สตริง | ชื่อของคุณสมบัติการนําทางสําหรับความสัมพันธ์นี้ |
relationshipType |
หมายเลข | ประเภทความสัมพันธ์ ระบุหนึ่งในค่าต่อไปนี้: 0:OneToMany, 1:ManyToMany |
roleType |
หมายเลข | ชนิดบทบาทในความสัมพันธ์ ระบุหนึ่งในค่าต่อไปนี้: 1:Referencing, 2:AssociationEntity |
แดชบอร์ด
ใช้วัตถุpageInputนี้เป็นพารามิเตอร์เมื่อคุณต้องการเปิดแดชบอร์ด
ออบเจ็กต์แดชบอร์ดประกอบด้วยค่าต่อไปนี้
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
pageType |
สตริง | ระบุdashboard |
dashboardId |
สตริง | ID ของแดชบอร์ดที่จะโหลด ถ้าคุณไม่ได้ระบุ ID แอปจะนําทางไปยังแดชบอร์ดเริ่มต้น |
ทรัพยากรบนเว็บ HTML
ใช้วัตถุpageInputนี้เป็นพารามิเตอร์เมื่อคุณต้องการเปิดทรัพยากรบนเว็บ HTML
วัตถุทรัพยากรเว็บ HTML ประกอบด้วยค่าต่อไปนี้
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
pageType |
สตริง | ระบุwebresource |
webresourceName |
สตริง | ชื่อของทรัพยากรบนเว็บที่จะโหลด |
data |
สตริง | (ไม่บังคับ) ข้อมูลที่จะส่งผ่านไปยังทรัพยากรเว็บ |
หน้าแบบกําหนดเอง
ใช้วัตถุpageInputนี้เป็นพารามิเตอร์เมื่อคุณต้องการเปิดหน้าแบบกําหนดเอง
ออบเจ็กต์หน้าแบบกําหนดเองประกอบด้วยค่าต่อไปนี้
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
pageType |
สตริง | ระบุcustom |
name |
สตริง | ชื่อตรรกะของหน้าแบบกําหนดเองที่จะเปิด |
entityName |
สตริง | (ไม่บังคับ) ชื่อตรรกะของตารางที่จะทําพร้อมใช้งานในหน้าแบบกําหนดเองผ่านParam("entityName") |
recordId |
สตริง | (ไม่บังคับ) ID ของเรกคอร์ดตารางที่จะพร้อมใช้งานในหน้าแบบกําหนดเองผ่านParam("recordId") |
หน้าที่สร้าง
ใช้ออบเจ็กต์pageInputนี้เป็นพารามิเตอร์เมื่อคุณต้องการเปิดหน้าที่สร้าง
ออบเจ็กต์หน้าที่สร้างประกอบด้วยค่าต่อไปนี้
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
pageType |
สตริง | ระบุgenerative |
pageId |
สตริง | ID ของหน้าที่สร้างเพื่อเปิด |
Note
การนําทางไปยังหน้าสร้างโดยใช้ navigateTo ในขณะนี้ ไม่สนับสนุนการส่งผ่านการเริ่มต้นหรือข้อมูลตามบริบท (เช่น ชื่อตาราง รหัสเรกคอร์ด หรือพารามิเตอร์แบบกําหนดเอง) หน้าสร้างเปิดขึ้นโดยไม่มีบริบท
navigationOptions พารามิเตอร์
วัตถุ navigationOptions ประกอบด้วยค่าต่อไปนี้
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
target |
หมายเลข | ระบุ 1 เพื่อเปิดหน้าแบบอินไลน์ ระบุ 2 เพื่อเปิดหน้าในกล่องโต้ตอบนอกจากนี้ ค่าที่เหลือ (ความกว้าง ความสูง และตําแหน่ง) จะใช้ได้เฉพาะเมื่อคุณระบุ 2 ในค่านี้ (เปิดหน้าในกล่องโต้ตอบ)หมายเหตุ: คุณสามารถเปิดรายการเอนทิตีแบบอินไลน์เท่านั้น คุณสามารถเปิดระเบียนของเอนทิตี ทรัพยากรบนเว็บ และหน้าสร้างทั้งแบบอินไลน์หรือในกล่องโต้ตอบ |
width |
ตัวเลขหรือวัตถุ | (ไม่บังคับ) ความกว้างของกล่องโต้ตอบ เพื่อระบุความกว้างเป็นพิกเซล เพียงแค่พิมพ์ค่าตัวเลข เมื่อต้องการระบุความกว้างเป็นเปอร์เซ็นต์ ให้ระบุวัตถุชนิด SizeValue ด้วยคุณสมบัติต่อไปนี้: - value: ค่าตัวเลขของชนิดตัวเลข- unit: หน่วยของการวัดชนิดสตริง ระบุว่า % หรือ px ค่าเริ่มต้นคือ px |
height |
ตัวเลขหรือวัตถุ | (ไม่บังคับ) ความสูงของกล่องโต้ตอบ ในการระบุความสูงเป็นพิกเซล เพียงแค่พิมพ์ค่าตัวเลข เมื่อต้องการระบุความกว้างเป็นเปอร์เซ็นต์ ให้ระบุวัตถุชนิด SizeValue ด้วยคุณสมบัติต่อไปนี้: - ค่า: ค่าตัวเลขของชนิดตัวเลข - unit: หน่วยของการวัดชนิดสตริง ระบุว่า % หรือ px ค่าเริ่มต้นคือ px |
position |
หมายเลข | (ไม่บังคับ) ระบุ 1 เพื่อเปิดกล่องโต้ตอบในศูนย์ 2 เพื่อเปิดกล่องโต้ตอบทางด้านไกล ค่าเริ่มต้นคือ 1 (กึ่งกลาง) |
title |
สตริง | (ไม่บังคับ) ชื่อกล่องโต้ตอบที่ด้านบนของกล่องโต้ตอบตรงกลางหรือด้านข้าง |
ค่าผลลัพธ์
ส่งกลับสัญญา ค่าที่ส่งผ่านเมื่อสัญญาคลี่คลายขึ้นอยู่กับเป้าหมาย:
แบบอินไลน์: สัญญาจะแก้ทันทีและไม่ส่งกลับค่าใด ๆ
กล่องโต้ตอบ: Promise จะแก้ปัญหาเมื่อปิดกล่องโต้ตอบ วัตถุจะถูกส่งผ่านก็ต่อเมื่อ
pageType=entityRecordคุณเปิดฟอร์มในโหมดสร้างเท่านั้น ออบเจ็กต์ มีsavedEntityReferenceอาร์เรย์ที่มีคุณสมบัติต่อไปนี้เพื่อระบุเรกคอร์ดตารางที่สร้างขึ้น:- entityType: ชื่อตรรกะของตาราง
- id: การแสดงสตริงของค่า GUID สําหรับระเบียน
- ชื่อ: ค่าคอลัมน์หลักของระเบียนที่แสดงหรือสร้างขึ้น
ตัวอย่าง
ตัวอย่างต่อไปนี้สาธิตการนําทางไปยังหน้าชนิดต่าง ๆ แบบอินไลน์และในกล่องโต้ตอบ
ตัวอย่างที่ 1: เปิดรายการบัญชี
เปิดรายการบัญชีหลักแบบอินไลน์
var pageInput = {
pageType: "entitylist",
entityName: "account"
};
Xrm.Navigation.navigateTo(pageInput).then(
function success() {
// Run code on success
},
function error() {
// Handle errors
}
);
ตัวอย่างที่ 2: เปิดเรกคอร์ดบัญชีที่มีอยู่ภายในกล่องโต้ตอบ
เปิดฟอร์มบัญชีที่มีอยู่ภายในกล่องโต้ตอบ
var pageInput = {
pageType: "entityrecord",
entityName: "account",
entityId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" //replace with actual ID
};
var navigationOptions = {
target: 2,
height: {value: 80, unit:"%"},
width: {value: 70, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
function success() {
// Run code on success
},
function error() {
// Handle errors
}
);
ตัวอย่างที่ 3: เปิดฟอร์มบัญชีในโหมดสร้างภายในกล่องโต้ตอบ
เปิดฟอร์มบัญชีในโหมดสร้างภายในกล่องโต้ตอบและส่งกลับการอ้างอิงระเบียนที่สร้างขึ้นเมื่อบันทึก
var pageInput = {
pageType: "entityrecord",
entityName: "account"
};
var navigationOptions = {
target: 2,
height: {value: 80, unit:"%"},
width: {value: 70, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
function success(result) {
console.log("Record created with ID: " + result.savedEntityReference[0].id +
" Name: " + result.savedEntityReference[0].name)
// Handle dialog closed
},
function error() {
// Handle errors
}
);
ตัวอย่างที่ 4: เปิดทรัพยากรบนเว็บ HTML ในกล่องโต้ตอบ
เปิดทรัพยากรบนเว็บ HTML ในกล่องโต้ตอบ
var pageInput = {
pageType: "webresource",
webresourceName: "new_sample_webresource.htm"
};
var navigationOptions = {
target: 2,
width: 500, // value specified in pixel
height: 400, // value specified in pixel
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
function success() {
// Run code on success
},
function error() {
// Handle errors
}
);
บทความที่เกี่ยวข้อง
Xrm.Navigation
การนําทางไปยังและจากหน้าแบบกําหนดเอง (ตัวอย่าง)