다음을 통해 공유


createRecord(클라이언트 API 참조)

테이블 레코드를 만듭니다.

Syntax

Xrm.WebApi.createRecord(entityLogicalName, data).then(successCallback, errorCallback);

매개 변수

이름 유형 필수 Description
entityLogicalName String Yes 만들려는 테이블의 논리적 이름입니다. 예: account.
data Object Yes 새 테이블 레코드의 열과 값을 정의하는 JSON 개체입니다. 예제 참조
successCallback 기능 아니오 레코드가 생성될 때 호출하는 함수입니다. 반환 값 참조
errorCallback 기능 아니오 작업이 실패할 때 호출하는 함수입니다. 다음 속성을 가진 개체가 전달됩니다.
- errorCode:수. 오류 코드는 양의 10진수입니다. 예를 들어 문서화된 오류 코드는 다음과 같이 0x800403332147746611반환됩니다.
- message:문자열. 문제를 설명하는 오류 메시지입니다.

반환 값

성공하면 다음 속성을 사용하여 promise 개체를 successCallback 반환합니다.

이름 유형 Description
entityType String 새 레코드의 테이블 논리적 이름입니다.
id String 새 레코드의 GUID입니다.

예시

이러한 예제에서는 Web API를 사용하여 테이블 행 만들기 에 설명된 것과 동일한 요청 개체를 사용하여 테이블 레코드를 만들기 위한 데이터 개체를 정의합니다.

기본 만들기

샘플 계정 레코드를 만듭니다.

// define the data to create new account
var data =
    {
        "name": "Sample Account",
        "creditonhold": false,
        "address1_latitude": 47.639583,
        "description": "This is the description of the sample account",
        "revenue": 5000000,
        "accountcategorycode": 1,
        "opendeals_date": new Date("2024-02-03T00:00:00Z")
    }

// create account record
Xrm.WebApi.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

비고

기본 이미지를 사용하여 레코드를 만드는 것은 오프라인 모드에서 지원되지 않습니다. 기본 이미지는 온라인 모드에서 만들기를 통해서만 설정할 수 있습니다. 다른 이미지 열은 create로 설정할 수 없습니다. 기본 이미지에 대해 자세히 알아보기

탐색 속성 값으로 정의하여 서로 관련된 테이블을 만들 수 있습니다. 이 패턴을 딥 삽입이라고 합니다. 이 예제에서는 기본 연락처 레코드 및 연결된 기회 레코드와 함께 샘플 계정 레코드를 만듭니다.

비고

단일 만들기 작업에서 관련 테이블 레코드를 만드는 작업은 오프라인 모드에서 지원되지 않습니다.

// define data to create primary and related table records
var data =
    {
        "name": "Sample Account",
        "primarycontactid":
        {
            "firstname": "John",
            "lastname": "Smith"
        },
        "opportunity_customer_accounts":
        [
            {
                "name": "Opportunity associated to Sample Account",
                "Opportunity_Tasks":
                [
                    { "subject": "Task associated to opportunity" }
                ]
            }
        ]
    }

// create account record
Xrm.WebApi.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

새 레코드 만들기에 대한 테이블 연결

새 테이블 레코드를 기존 테이블 레코드에 연결하려면 주석을 사용하여 @odata.bind 단일 값 탐색 속성의 값을 설정합니다.

비고

단일 값 탐색 속성의 이름이 조회 특성의 LogicalName 이름과 항상 같은 것은 아닙니다. Web API $metadata 서비스 문서에서 요소의 NavigationProperty 특성 값을 사용하고 Name 있는지 확인해야 합니다. 추가 정보: Web API 탐색 속성

코드 예제는 다음과 같습니다.

다음 예제에서는 계정 레코드를 만들고 기존 연락처 레코드에 연결하여 후자를 새 계정 레코드의 기본 연락처로 설정합니다.

var data =
    {
        "name": "Sample Account",
        "primarycontactid@odata.bind": "/contacts(465b158c-541c-e511-80d3-3863bb347ba8)"
    }

// create account record
Xrm.WebApi.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

모바일 오프라인 시나리오에 사용되지 않는 방법

비고

이전에 표시된 주석 예제를 사용하는 @odata.bind 대신 대/소문자 구분 속성(logicalnameid)이 있는 사용되지 않는 조회 개체는 기존 사용자 지정에 대해 계속 지원됩니다. 그러나 이 사용되지 않는 개체를 사용하는 대신 온라인 및 오프라인 시나리오 모두에 주석을 사용하는 @odata.bind 것이 좋습니다.

다음 예제에서는 사용되지 않는 메서드를 사용하여 계정 레코드를 만들고 기존 연락처 레코드에 연결하여 오프라인 모드에서 작업할 때 모바일 클라이언트에서 새 계정 레코드의 기본 연락처로 설정합니다.

var data =
    {
        "name": "Sample Account",
        "primarycontactid":
        {
            "logicalname": "contact",
            "id": "465b158c-541c-e511-80d3-3863bb347ba8"
        } 
    }

// create account record
Xrm.WebApi.offline.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Web API를 사용하여 테이블 행 만들기
Xrm.WebApi