navigateTo(클라이언트 API 참조)

지정된 테이블 목록, 테이블 레코드, HTML 웹 리소스 또는 사용자 지정 페이지로 이동합니다.

비고

이 메서드는 통합 인터페이스에서만 지원됩니다.

구문

다음 구문을 사용하여 .를 호출 Xrm.Navigation.navigateTo()합니다.

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

Parameters

메서드는 다음 매개 변수를 허용합니다.

Name Type 필수 Description
pageInput 개체 Yes 탐색할 페이지에 대한 입력입니다. pageInput 매개 변수 참조
navigationOptions 개체 아니요 페이지로 이동하는 옵션: 인라인 또는 대화 상자에서 열지 여부입니다. 이 매개 변수를 지정하지 않으면 메서드는 기본적으로 페이지를 인라인으로 엽니다.
successCallback 기능 아니요 인라인으로 탐색하고 대화 상자로 이동할 때 대화 상자를 닫을 때 페이지 탐색에 성공할 때 실행할 함수입니다.
errorCallback 함수 아니요 작업이 실패할 때 실행할 함수입니다.

pageInput 매개 변수

개체 정의는 탐색할 페이지 유형( 엔터티 목록, 엔터티 레코드, 대시보드, HTML 웹 리소스, 사용자 지정 페이지 또는 생성 페이지)에 따라 변경됩니다.

엔터티 목록

엔터티 목록 개체에는 다음 값이 포함됩니다.

Name Type Description
pageType 문자열 entitylist을 지정합니다.
entityName 문자열 목록 컨트롤에 로드할 테이블의 논리적 이름입니다.
viewId 문자열 (선택 사항) 로드할 뷰의 ID입니다. 지정하지 않으면 앱이 테이블의 기본 기본 보기로 이동합니다.
viewType 문자열 (선택 사항) 로드할 뷰의 유형입니다. 지정 savedquery 또는 userquery.

개체 기록

엔터티 레코드 개체에는 다음 값이 포함됩니다.

Name Type Description
pageType 문자열 entityrecord을 지정합니다.
entityName 문자열 폼을 표시할 테이블의 논리적 이름입니다.
entityId 문자열 (선택 사항) 폼을 표시할 테이블 레코드의 ID입니다. 이 값을 지정하지 않으면 양식이 만들기 모드로 열립니다.
createFromEntity 조회 (선택 사항) 매핑된 열 값을 기반으로 기본값을 제공하는 레코드를 지정합니다. 조회 개체에는 entityType, ID 및 이름(선택 사항)이라는 문자열 속성이 있습니다.
data 개체 (선택 사항) 폼에 추가 매개 변수를 전달하는 사전 개체입니다.

매개 변수는 새 폼에 설정된 기본값이 있는 테이블 열( 폼에 전달된 매개 변수를 사용하여 열 값 설정 참조) 또는 양식 formContext.data.attributes 에서 액세스하는 사용자 지정 매개 변수( 사용자 지정 쿼리 문자열 매개 변수formContext.data를 허용하도록 양식 구성 참조)일 수 있습니다. 매개 변수가 잘못되면 오류가 발생합니다.

formId 문자열 (선택 사항) 표시할 양식 인스턴스의 ID입니다.
isCrossEntityNavigate Boolean (선택 사항) 크로스 테이블 비즈니스 프로세스 흐름을 사용하여 폼이 다른 테이블에서 이동할지 여부를 나타냅니다.
isOfflineSyncError Boolean (선택 사항) 오프라인 동기화 오류가 있는지 여부를 나타냅니다.
processId 문자열 (선택 사항) 양식에 표시할 비즈니스 프로세스의 ID입니다.
processInstanceId 문자열 (선택 사항) 양식에 표시할 비즈니스 프로세스 인스턴스의 ID입니다.
relationship 개체 (선택 사항) 양식에 관련 레코드를 표시할 관계 개체를 정의합니다. 관계를 참조하세요.
selectedStageId 문자열 (선택 사항) 비즈니스 프로세스 인스턴스에서 선택한 단계의 ID입니다.
tabName 문자열 (선택 사항) 폼의 탭에 포커스를 설정합니다.
Relationship 개체

Entity 레코드에 사용되는 관계 개체에는 다음 값이 포함됩니다.

Name Type Description
attributeName 문자열 관계에 사용되는 열의 이름입니다.
name 문자열 관계의 이름입니다.
navigationPropertyName 문자열 이 관계의 탐색 속성 이름입니다.
relationshipType 관계 유형. 0:OneToMany, 1:ManyToMany 값 중 하나를 지정합니다.
roleType 관계의 역할 유형입니다. 1:참조, 2:AssociationEntity 값 중 하나를 지정합니다.

대시보드

pageInput 열려면 이 개체를 매개 변수로 사용합니다.

대시보드 개체에는 다음 값이 포함됩니다.

Name Type Description
pageType 문자열 dashboard을 지정합니다.
dashboardId 문자열 로드할 대시보드의 ID입니다. ID를 지정하지 않으면 앱이 기본 대시보드로 이동합니다.

HTML 웹 리소스

pageInput 열려면 이 개체를 매개 변수로 사용합니다.

HTML 웹 리소스 개체에는 다음 값이 포함됩니다.

Name Type Description
pageType 문자열 webresource을 지정합니다.
webresourceName 문자열 로드할 웹 리소스의 이름입니다.
data 문자열 (선택 사항) 웹 리소스에 전달할 데이터입니다.

사용자 지정 페이지

pageInput 열려면 이 개체를 매개 변수로 사용합니다.

사용자 지정 페이지 개체에는 다음 값이 포함됩니다.

Name Type Description
pageType 문자열 custom을 지정합니다.
name 문자열 열 사용자 지정 페이지의 논리적 이름입니다.
entityName 문자열 (선택 사항) 를 통해 Param("entityName")사용자 지정 페이지에서 사용할 수 있는 테이블의 논리적 이름입니다.
recordId 문자열 (선택 사항) 를 통해 Param("recordId")사용자 지정 페이지에서 사용할 수 있는 테이블 레코드의 ID입니다.

생성 페이지

pageInput 열려면 이 개체를 매개 변수로 사용합니다.

recordId하도록 대상 생성 페이지를 설정entityNamedata해야 합니다.

생성 페이지 개체에는 다음 값이 포함됩니다.

Name Type Description
pageType 문자열 generative을 지정합니다.
pageId 문자열 열 생성 페이지의 ID입니다.
recordId 문자열 (선택 사항) 페이지에 전달할 레코드의 GUID입니다.
entityName 문자열 (선택 사항) 에 해당하는 recordIdDataverse 테이블의 논리적 이름입니다.
data 개체 (선택 사항) 페이지에 전달할 추가 사용자 지정 매개 변수를 포함하는 JSON 개체입니다.

클라이언트 API를 사용하여 생성 페이지로 이동하는 방법을 보여 주는 예제를 참조하세요.

개체에는 navigationOptions 다음 값이 포함됩니다.

Name Type Description
target 페이지를 인라인으로 열려면 지정 1 합니다. 대화 상자에서 페이지를 열려면 지정 2 합니다.
또한 나머지 값(너비, 높이 및 위치)은 이 값에서 지정 2 한 경우에만 유효합니다(대화 상자에서 페이지 열기).
참고: 엔터티 목록을 인라인으로만 열 수 있습니다. 엔터티 레코드, 웹 리소스 및 생성 페이지를 인라인 또는 대화 상자에서 열 수 있습니다.
width Number 또는 Object (선택 사항) 대화 상자의 너비입니다. 너비를 픽셀 단위로 지정하려면 숫자 값을 입력합니다. 너비를 백분율로 지정하려면 다음 속성을 사용하여 SizeValue 형식의 개체를 지정합니다.
- value: Number 형식의 숫자 값입니다.
- unit: 문자열 형식의 측정 단위입니다. 지정 % 또는 px. 기본값은 px여야 합니다.
height Number 또는 Object (선택 사항) 대화 상자의 높이입니다. 높이를 픽셀 단위로 지정하려면 숫자 값을 입력합니다. 너비를 백분율로 지정하려면 다음 속성을 사용하여 SizeValue 형식의 개체를 지정합니다.
- value: Number 형식의 숫자 값입니다.
- unit: 문자열 형식의 측정 단위입니다. 지정 % 또는 px. 기본값은 px여야 합니다.
position (선택 사항) 대화 상자를 가운데 1 로 열려면 지정하고, 먼 쪽에서 대화 상자를 열도록 지정 2 합니다. 기본값은 (가운데)입니다 1 .
title 문자열 (선택 사항) 가운데 또는 측면 대화 상자 맨 위에 있는 대화 상자 제목입니다.

반환 값

프라미스를 반환합니다. 프라미스가 해결될 때 전달되는 값은 대상에 따라 달라집니다.

  • 인라인: Promise는 즉시 확인되며 값을 반환하지 않습니다.

  • dialog: 대화 상자가 닫히면 약속이 해결됩니다. 개체가 생성 모드에서 폼을 pageType = entityRecord 연 경우에만 전달됩니다. 개체에는 savedEntityReference 생성된 테이블 레코드를 식별하는 다음 속성이 있는 배열이 있습니다.

    • entityType: 테이블의 논리적 이름입니다.
    • id: 레코드에 대한 GUID 값의 문자열 표현입니다.
    • name: 표시되거나 생성된 레코드의 기본 열 값입니다.

Example

다음 예제에서는 인라인 및 대화 상자에서 다양한 페이지 형식으로 이동하는 방법을 보여 줍니다.

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

예제 5: 대화 상자에서 입력 매개 변수가 있는 생성 페이지 열기

생성 페이지를 가운데에 있는 대화 상자로 열고 레코드 ID, 엔터티 이름 및 사용자 지정 데이터 매개 변수를 전달합니다. 이러한 매개 변수를 허용하려면 생성 페이지를 설정해야 합니다.

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
생성 페이지로 이동
사용자 지정 페이지로 이동(미리 보기)