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를 사용하여 테이블 행을 만드는 문서와 동일한 요청 개체를 사용합니다. 이 문서에서는 테이블 레코드를 만들기 위한 데이터 개체를 정의하는 방법을 보여줍니다.

예시 입증합니다 Web API 예제
기본 만들기 열 값을 사용하여 계정 레코드를 만드는 방법입니다. 기본 만들기
주 레코드와 함께 관련 테이블 레코드 만들기 한 작업에서 계정 및 관련 연락처, 기회 및 작업 레코드를 만드는 방법입니다. 하나의 작업으로 관련 테이블 행 만들기
새 레코드를 만들 때 테이블 연결 를 사용하여 @odata.bind새 계정을 기존 연락처와 연결하는 방법 만들기에서 테이블 행 연결

기본 만들기 예제

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

// 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 대신 대/소문자 구분 속성(logicalname및)이 id있는 사용되지 않는 조회 개체는 기존 사용자 지정에 대해 계속 지원됩니다. 그러나 이 사용되지 않는 개체를 사용하는 대신 온라인 및 오프라인 시나리오 모두에 주석을 사용합니다 @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