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