PowerApps|JSでレコードをアップデートする方法~UpdateRecord~

ここまで、JavaScriptを使用した
「レコードの取得」「レコードの作成」までを紹介してきました。
(そちらを参考にしたい方は、以下からどうぞ)
今回は、レコードの更新を行います。
JavaScriptを使用したレコードの更新は、
UpdateRecordを使用して、行います。
では、早速使い方についてみていきましょう。
目次(クリックで読みたい部分にジャンプできます)
UpdateRecord関数の概要
UpdateRecord関数は、
PowerAppsの組み込みJavaScriptから、レコードの更新を行うときに使用される関数です。
UpdateRecordの基本構文
updateRecordの基本的には、以下のような構文を用いて使用します。
Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(
successCallback,
errorCallback
);
entityLogicalName : 更新したいレコードの論理名
id : 更新したいレコードのID
data : 更新するフィールドと値のオブジェクト
successCallback : 更新が成功したときに呼ばれる関数
errorCallback : 更新に失敗したときに呼ばれる関数
updateRecordは非同期関数
updateRecordの関数は、非同期関数です。
そのため、updateRecordが終わってから処理を行いたい場合には、
successCallvackの中に書く必要があります。
例えば、以下のように書くと、updateRecordの処理が処理中でconsole.logが走ります。
Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(
successCallback,
errorCallback
);
console.log("順番確認")

処理される順番には十分注意しておきましょう!
UpdateRecordの使用例
では、UpdateRecordについて使用例みてみましょう。
以下の例では、あるアカウントレコードの telephone1
(電話番号)フィールドを更新しています。
成功した場合は結果をコンソールにログ出力し、
エラーが発生した場合はエラーメッセージをコンソールに出力します。
// アカウントレコードのIDと更新する電話番号
var accountId = "00000000-0000-0000-0000-000000000000"; // ここに実際のレコードIDを設定
var newPhoneNumber = "123-456-7890";
var data = {
"telephone1": newPhoneNumber
};
Xrm.WebApi.updateRecord("account", accountId, data).then(
function(result) {
console.log("レコード更新成功。更新されたレコードID: " + result.id);
},
function(error) {
console.log("レコード更新エラー: " + error.message);
}
);
updateRecordは、非同期関数になるので
処理の完了を、待ってから次の処理を行うには、.then()の中で行う必要があります。
また、telephone1 の部分は、
「列の論理名」を入れます。
まとめ
今回は、PowerAppsのUpdateRecordの使い方について紹介しました。
その他のcreateRecordやRetrieveRecordと組み合わせて使用してください。
では、良いPowerAppsライフを。