엔터티 양식 또는 빠른 만들기 양식을 엽니다.
비고
기본 폼을 대화 상자로 열려면 navigateTo 메서드를 대신 사용합니다. 추가 정보: 클라이언트 API를 사용하여 대화 상자에서 기본 양식 열기
Syntax
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);
매개 변수
| 이름 | 유형 | 필수 | Description |
|---|---|---|---|
entityFormOptions |
Object | Yes | 폼을 열기 위한 양식 옵션입니다. entityFormOptions 개체 참조 |
formParameters |
Object | 아니오 | 폼에 추가 매개 변수를 전달하는 사전 개체입니다. 매개 변수가 잘못되면 오류가 발생합니다. 폼에 매개 변수를 전달하는 방법에 대한 자세한 내용은 폼에 전달된 매개 변수를 사용하여 열 값 설정 및 사용자 지정 쿼리 문자열 매개 변수를 허용하도록 폼 구성을 참조하세요. |
successCallback |
기능 | 아니오 | 레코드가 빠른 만들기 형식으로 저장되면 실행할 함수입니다. 이 함수는 개체를 매개 변수로 전달합니다. 개체에는 savedEntityReference 표시되거나 생성된 레코드를 식별하는 다음 속성이 있는 배열이 있습니다.- entityType: 테이블의 논리적 이름입니다.- id: 레코드에 대한 GUID 값의 문자열 표현입니다.- name: 표시되거나 생성된 레코드의 기본 열 값입니다.참고: successCallback- 기존 레코드 또는 새 레코드에 대한 폼을 열 때 함수가 실행되지 않습니다.- 함수는 successCallback openForm 메서드를 사용하여 연 빠른 만들기 형식으로 레코드를 저장할 때만 실행됩니다. |
errorCallback |
기능 | 아니오 | 작업이 실패할 때 실행할 함수입니다. |
entityFormOptions 개체
개체에는 다음 값이 포함됩니다.
| 이름 | 유형 | 필수 | Description |
|---|---|---|---|
entityName |
String | Yes | 폼을 표시할 테이블의 논리적 이름입니다. |
entityId |
String | 아니오 | 폼을 표시할 테이블 레코드의 ID입니다. |
formId |
String | 아니오 | 표시할 양식 인스턴스의 ID입니다. |
cmdbar |
Bool | 아니오 | 명령 모음을 표시할지 여부를 나타냅니다. 이 매개변수를 지정하지 않으면 기본적으로 명령 모음이 표시됩니다. 매개 변수를 true로 전달 openInNewWindow 해야 합니다. |
createFromEntity |
Lookup | 아니오 | 매핑된 열 값을 기반으로 기본값을 제공하는 레코드를 지정합니다. 조회 개체에는 다음과 같은 문자열 속성 entityType이 있습니다. , id및 name (선택 사항). |
openInNewWindow |
Bool | 아니오 | 새 창에 폼을 표시할지 또는 새 탭에 표시할지를 나타냅니다. 높이 또는 너비 값을 지정 true 하고 지정하지 않으면 폼이 새 탭에 표시됩니다. 새 창이나 새 탭에서 폼을 열면 같은 탭에서 폼을 여는 것에 비해 폼 렌더링 속도가 느려집니다. 대신 기본 폼 대화 상자에서 폼을 여는 것이 좋습니다. 이 속성은 현재 새 창이나 탭에서 열 수 없으므로 빠른 만들기 양식에 대해 지원되지 않습니다. |
height |
Number | 아니오 | 표시할 양식 창의 높이(픽셀)입니다. 매개 변수를 true로 전달 openInNewWindow 해야 합니다. |
width |
Number | 아니오 | 표시할 양식 창의 너비(픽셀)입니다. 매개 변수를 true로 전달 openInNewWindow 해야 합니다. |
navbar |
String | 아니오 | 탐색 모음이 표시되는지 여부와 사이트 맵에 정의된 영역 및 하위 영역을 사용하여 응용 프로그램 탐색을 사용할 수 있는지 여부를 제어합니다. 유효한 값은 다음과 onoffentity같습니다. openInNewWindow 매개 변수를 true로 전달해야 합니다.- on: 탐색 모음이 표시됩니다. 탐색 모음 매개 변수를 사용하지 않는 경우 기본 동작입니다.- off: 탐색 모음이 표시되지 않습니다. 사용자는 다른 사용자 인터페이스 요소나 뒤로 및 앞으로 단추를 사용하여 탐색할 수 있습니다.- entity: 양식에서 관련 테이블에 대한 탐색 옵션만 사용할 수 있습니다. 관련 테이블로 이동한 후 탐색 모음에 뒤로 단추가 표시되어 원래 레코드로 돌아갈 수 있습니다. |
relationship |
Object | 아니오 | 양식에 관련 레코드를 표시할 관계 개체를 정의합니다. 관계 개체 참조 |
selectedStageId |
String | 아니오 | 비즈니스 프로세스 인스턴스에서 선택한 단계의 ID입니다. |
useQuickCreateForm |
Bool | 아니오 | 빠른 만들기 양식을 열지 여부를 나타냅니다. 빠른 만들기 폼을 표시하려면 테이블의 빠른 만들기 허용 옵션을 사용하도록 설정해야 하며, 테이블과 빠른 만들기 양식도 앱에 추가해야 합니다. 값을 useQuickCreateForm지정하지 않으면 기본값이 .로 false설정됩니다. |
관계 개체
개체에는 다음 값이 있습니다.
| 이름 | 유형 | Description |
|---|---|---|
attributeName |
String | 관계에 사용되는 열의 이름입니다. |
name |
String | 관계에 사용되는 열의 이름입니다. |
navigationPropertyName |
String | 관계에 사용되는 열의 이름입니다. |
relationshipType |
Number | 관계 유형. 다음 값 중 하나를 지정합니다. - 0:OneToMany - 1:ManyToMany |
roleType |
Number | 관계의 역할 유형입니다. 다음 값 중 하나를 지정합니다. - 1:참조 - 2:AssociationEntity |
비고
이 메서드를 사용하여 사용되지 않는 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);
});