navigateTo (Tài liệu tham khảo về API máy khách)

Dẫn hướng đến danh sách bảng, bản ghi bảng, tài nguyên web HTML hoặc trang tùy chỉnh đã xác định.

Lưu ý

Phương pháp này chỉ được hỗ trợ trên Giao diện Hợp nhất.

Cú pháp

Sử dụng cú pháp sau đây để gọi Xrm.Navigation.navigateTo().

Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);

Tham số

Phương pháp chấp nhận các tham số sau đây.

Tên Loại Bắt buộc Sự miêu tả
pageInput Đối tượng Có Nhập thông tin về trang để dẫn hướng đến. Xem tham số pageInput
dẫn hướngTuỳ chọn Đối tượng Không Các tùy chọn để dẫn hướng đến một trang: mở nội tuyến hay trong hộp thoại. Nếu bạn không xác định tham số này, phương pháp sẽ mở trang tại chỗ theo mặc định.
successCallback hàm Không Hàm để thực thi trên dẫn hướng thành công đến trang khi dẫn hướng nội tuyến và khi đóng hộp thoại khi dẫn hướng đến một hộp thoại.
errorCallback Hàm Không Một hàm để thực thi khi hoạt động không thành công.

pageInput thông số

Định nghĩa đối tượng thay đổi tùy thuộc vào loại trang để dẫn hướng đến: danh sách thực thể, bản ghi thực thể, bảng điều khiển, tài nguyên web HTML, trang tùy chỉnh hoặc trang tạo.

Danh sách thực thể

Đối tượng danh sách thực thể chứa các giá trị sau đây.

Tên Loại Sự miêu tả
pageType Chuỗi Xác định entitylist.
entityName Chuỗi Tên lô-gic của bảng cần tải trong điều khiển danh sách.
viewId Chuỗi (Tùy chọn) ID của dạng xem cần tải. Nếu bạn không chỉ định, ứng dụng sẽ dẫn hướng đến dạng xem chính mặc định cho bảng.
viewType Chuỗi (Tùy chọn) Loại dạng xem cần tải. Chỉ định savedquery hoặc userquery.

Bản ghi thực thể

Đối tượng bản ghi thực thể chứa các giá trị sau đây.

Tên Loại Sự miêu tả
pageType Chuỗi Xác định entityrecord.
entityName Chuỗi Tên lô-gic của bảng để hiển thị biểu mẫu.
entityId Chuỗi (Tùy chọn) ID của bản ghi bảng để hiển thị biểu mẫu. Nếu bạn không xác định giá trị này, biểu mẫu sẽ mở trong chế độ tạo.
createFromEntity Tra cứu (Tùy chọn) Chỉ định một bản ghi cung cấp các giá trị mặc định dựa trên các giá trị cột được ánh xạ. Đối tượng tra cứu có các thuộc tính String sau: entityType, id và tên (tùy chọn).
data Đối tượng (Tùy chọn) Đối tượng từ điển truyền các tham số bổ sung vào biểu mẫu.

Các tham số có thể là cột bảng với các giá trị mặc định được đặt trên biểu mẫu mới (xem đặt giá trị cột bằng cách sử dụng các tham số truyền cho biểu mẫu)formContext.data.attributes hoặc tham số tùy chỉnh được truy nhập trên biểu mẫu bằng cách sử dụng (xem mục Đặt cấu hình biểu mẫu để chấp nhận tham số chuỗi truy vấn tùy chỉnh và formContext.data). Tham số không hợp lệ gây ra lỗi.

formId Chuỗi (Tùy chọn) ID của mẫu biểu mẫu cần hiển thị.
isCrossEntityNavigate Boolean (Tùy chọn) Cho biết liệu biểu mẫu có được dẫn hướng đến từ một bảng khác bằng dòng quy trình kinh doanh chéo bảng hay không.
isOfflineSyncError Boolean (Tùy chọn) Cho biết liệu có bất kỳ lỗi đồng bộ ngoại tuyến nào không.
processId Chuỗi (Tùy chọn) ID của quá trình kinh doanh để hiển thị trên biểu mẫu.
processInstanceId Chuỗi (Tùy chọn) ID của phiên bản quy trình kinh doanh để hiển thị trên biểu mẫu.
relationship Đối tượng (Tùy chọn) Xác định đối tượng quan hệ để hiển thị các bản ghi liên quan trên biểu mẫu. Xem mối quan hệ.
selectedStageId Chuỗi (Tùy chọn) ID của giai đoạn đã chọn trong phiên bản quy trình kinh doanh.
tabName Chuỗi (Tùy chọn) Đặt tiêu điểm trên tab của biểu mẫu.
Đối tượng quan hệ

Đối tượng mối quan hệ, được sử dụng trong bản ghi Thực thể, chứa các giá trị sau đây.

Tên Loại Sự miêu tả
attributeName Chuỗi Tên của cột được dùng cho mối quan hệ.
name Chuỗi Tên của mối quan hệ.
navigationPropertyName Chuỗi Tên của thuộc tính dẫn hướng cho quan hệ này.
relationshipType Số điện thoại Loại mối quan hệ. Xác định một trong các giá trị sau: 0:OneToMany, 1:ManyToMany.
roleType Số điện thoại Loại vai trò trong mối quan hệ. Xác định một trong các giá trị sau: 1:Tham chiếu, 2:AssociationEntity.

Bảng điều khiển

Sử dụng đối tượng này làm pageInput tham số khi bạn muốn mở bảng điều khiển.

Đối tượng bảng điều khiển chứa các giá trị sau đây.

Tên Loại Sự miêu tả
pageType Chuỗi Xác định dashboard.
dashboardId Chuỗi ID của bảng điều khiển cần tải. Nếu bạn không chỉ định ID, ứng dụng sẽ dẫn hướng đến bảng điều khiển mặc định.

Tài nguyên web HTML

Sử dụng đối tượng này pageInput làm tham số khi bạn muốn mở tài nguyên web HTML.

Đối tượng tài nguyên web HTML chứa các giá trị sau đây.

Tên Loại Sự miêu tả
pageType Chuỗi Xác định webresource.
webresourceName Chuỗi Tên của tài nguyên web cần tải.
data Chuỗi (Tùy chọn) Dữ liệu cần chuyển đến tài nguyên web.

Trang tùy chỉnh

Sử dụng đối tượng này làm pageInput tham số khi bạn muốn mở một trang tùy chỉnh.

Đối tượng trang tùy chỉnh chứa các giá trị sau đây.

Tên Loại Sự miêu tả
pageType Chuỗi Xác định custom.
name Chuỗi Tên lô-gic của trang tùy chỉnh cần mở.
entityName Chuỗi (Tùy chọn) Tên lô-gic của bảng sẽ sẵn dùng trong trang tùy chỉnh qua Param("entityName").
recordId Chuỗi (Tùy chọn) ID của bản ghi bảng sẽ sẵn dùng trong trang tùy chỉnh qua Param("recordId").

Đang tạo trang

Sử dụng đối tượng này pageInput làm tham số khi bạn muốn mở trang tạo.

Để sử dụng recordId, entityNamehoặc data, trang tạo đích phải được thiết lập để chấp nhận tham số đầu vào.

Đối tượng trang tạo ra chứa các giá trị sau đây.

Tên Loại Sự miêu tả
pageType Chuỗi Xác định generative.
pageId Chuỗi ID của trang tạo để mở.
recordId Chuỗi (Tùy chọn) GUID của bản ghi cần chuyển đến trang.
entityName Chuỗi (Tùy chọn) Tên lô-gic của bảng Dataverse tương ứng với recordId.
data Đối tượng (Tùy chọn) Đối tượng JSON chứa các tham số tùy chỉnh bổ sung để chuyển đến trang.

Xem ví dụ hiển thị cách dẫn hướng đến và từ trang tạo bằng API máy khách

Đối tượng navigationOptions chứa các giá trị sau.

Tên Loại Sự miêu tả
target Số điện thoại Xác 1 định để mở trang tại chỗ. Chỉ 2 định để mở trang trong hộp thoại.
Ngoài ra, các giá trị còn lại (chiều rộng, chiều cao và vị trí) 2 chỉ hợp lệ nếu bạn chỉ định trong giá trị này (mở trang trong hộp thoại).
Lưu ý: Bạn chỉ có thể mở các danh sách thực thể tại chỗ. Bạn có thể mở bản ghi thực thể, tài nguyên web và các trang tạo nội tuyến hoặc trong hộp thoại.
width Số hoặc Đối tượng (Tùy chọn) Chiều rộng của hộp thoại. Để xác định chiều rộng theo điểm ảnh, hãy nhập giá trị số. Để xác định độ rộng theo tỷ lệ phần trăm, hãy xác định một đối tượng thuộc kiểu SizeValue với các thuộc tính sau đây:
- value: Giá trị số của kiểu Số.
- unit: Đơn vị đo lường loại Chuỗi. Chỉ định % hoặc px. Giá trị mặc định là px.
height Số hoặc Đối tượng (Tùy chọn) Chiều cao của hộp thoại. Để chỉ định chiều cao theo điểm ảnh, hãy nhập giá trị số. Để xác định độ rộng theo tỷ lệ phần trăm, hãy xác định một đối tượng thuộc kiểu SizeValue với các thuộc tính sau đây:
- giá trị: Giá trị số của kiểu Số.
- unit: Đơn vị đo lường loại Chuỗi. Chỉ định % hoặc px. Giá trị mặc định là px.
position Số điện thoại (Tùy chọn) Chỉ 1 định để mở hộp thoại ở giữa; 2 để mở hộp thoại ở phía xa. Mặc định là 1 (ở giữa).
title Chuỗi (Tùy chọn) Tiêu đề hộp thoại ở trên cùng của hộp thoại giữa hoặc bên.

Giá trị trả về

Trả về lời hứa. Giá trị chuyển qua khi lời hứa giải quyết phụ thuộc vào mục tiêu:

  • cùng dòng: Promise giải quyết ngay lập tức và không trả về bất kỳ giá trị nào.

  • hộp thoại: Promise sẽ giải quyết khi hộp thoại đóng lại. Một đối tượng được truyền chỉ khi và pageType = entityRecord bạn đã mở biểu mẫu trong chế độ tạo. Đối tượng có một mảng savedEntityReference với các thuộc tính sau để xác định bản ghi bảng đã tạo:

    • entityType: Tên lô-gic của bảng.
    • id: Một chuỗi biểu thị giá trị GUID cho bản ghi.
    • name: Giá trị cột chính của bản ghi được hiển thị hoặc tạo.

Ví dụ:

Các ví dụ sau đây minh họa cách dẫn hướng đến các loại trang khác nhau cùng dòng và trong hộp thoại.

Ví dụ 1: Mở danh sách tài khoản

Mở danh sách tài khoản chính tại chỗ.

var pageInput = {
    pageType: "entitylist",
    entityName: "account"
};
Xrm.Navigation.navigateTo(pageInput).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Ví dụ 2: Mở bản ghi tài khoản hiện có trong hộp thoại

Mở biểu mẫu tài khoản hiện có bên trong một hộp thoại.

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

Ví dụ 3: Mở biểu mẫu tài khoản trong chế độ tạo trong hộp thoại

Mở biểu mẫu tài khoản trong chế độ tạo trong hộp thoại và trả về tham chiếu bản ghi đã tạo khi lưu.

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

Ví dụ 4: Mở tài nguyên web HTML trong hộp thoại

Mở tài nguyên web HTML trong hộp thoại.

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

Ví dụ 5: Mở trang tạo bằng tham số nhập trong hộp thoại

Mở trang tạo ra dưới dạng hộp thoại căn giữa, truyền ID bản ghi, tên thực thể và tham số dữ liệu tùy chỉnh. Phải thiết lập trang tạo để chấp nhận các tham số này.

var pageInput = {
    pageType: "generative",
    pageId: "<genPageID>", // replace with the ID of your generative page
    recordId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee", // replace with actual record GUID
    entityName: "account",
    data: { status: "active", category: "premium" }
};
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
    }
);

Xrm.Navigation
Dẫn hướng đến và từ trang tạo
Dẫn hướng đến và đi từ trang tùy chỉnh (bản xem trước)