createRecord (Client API 参照)

新しいテーブルを作成します。

構文

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

Parameters

件名 タイプ Required Description
entityLogicalName String はい 作成するテーブルの論理的な名前です。 例: account
data Object はい 新しいテーブルレコードの列と値を定義する JSON オブジェクトです。 を見る
successCallback Function いいえ レコードを作成した場合に呼び出す関数。 戻り値 を見る
errorCallback Function いいえ 処理が失敗したときに呼び出す関数。 次のプロパティを持つオブジェクトが渡されます。
- errorCode: 番号。 エラー コード。
- 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
    }
);

ナビゲーション プロパティ値として定義することにより、相互に関連するテーブルを作成できます。 これをディープ挿入と言います。 この例では、取引先責任者レコードとそれに関連する営業案件レコードと共にサンプル取引先企業レコードを作成します。

注意

1回の作成操作で関連するテーブル レコードを作成することは、オフライン モードではサポートされていません。

// 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) を持つ廃止された lookup オブジェクトを既存のカスタマイズに使用することも引き続きサポートされます。 ただし、この廃止されたオブジェクトを使用する代わりに、オンライン シナリオとオフライン シナリオの両方で @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

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。