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
注釈の例を使用する代わりに、大文字と小文字を区別するプロパティ (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
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。