モデル駆動型のフォームでJavaScriptにてIDを取得する方法|PowerApps
モデル駆動型のアプリでJavaScriptを使用して、
アプリ実装をするときに、xrm.webApiを使用した実装はほぼ使うことになるのかと思います。
そして、xrm.webAPIを使用するために必ず必要になるのが、データのIDです。
今回の記事では、フォーム画面において、表示しているデータのIDを取得する方法について紹介していきます。
目次(クリックで読みたい部分にジャンプできます)
フォームのIDと取得する理由
PowerAppsのモデル駆動型においてのフォームとは、
ビューから特定のレコードを選択して、その詳細を表示している画面です。
フォームについては、以下の公式サイトを確認ください。
例: モデル駆動型アプリ フォームの作成とカスタマイズ - Power Apps | Microsoft Learn
IDとは、フォームに表示されているレコードのテーブル内にあるIDを指しています。
例:ユーザーテーブル内に、「ユーザー」という列があります。これがIDです。
IDが必要な理由
JavaScriptで特定のレコードの情報を取得したり、更新したりするときに、キーとするのはこの「ID」です。
Xrm.webという関数をメソッドを使用して、操作を行います。
モデル駆動型アプリにおける Xrm.WebApi (クライアント API 参照) - Power Apps | Microsoft Learn
そのためレコードの情報を取得したり、更新したりするのにも、必ずID情報が必要になるのです。
IDを取得するコード
では、JavaScriptにて
フォームで表示されているレコードのIDを取得してみます。
コードは、以下のように書きます。
var id = Xrm.Page.data.entity.getId().replace(/[{}]/g, "")
これによりフォーム内で表示されているデータのIDを取得することができます。
.replaceで不要な文字を削除しています。
もし、全文を見たければreplace関数を外して、console.log, alert などを利用して中身を確かめてみてください。
このコードは、フォームにのみ有効です。
ビューで選択しているレコードのIDを取得することはできませんので、注意してくださいね。
まとめ
今回は、PowerAppsのモデル駆動型で、フォームで表示されているレコードのIDを取得する方法について紹介していきました。
JavaScriptで各操作を行うにしても、まずはIDを取得するには始まりません。
ぜひこちらのコードを参考にして、実装を進めてもらえればと思います。
次回の記事では、xrm.webApiを使用した、レコードの作成、更新方法を紹介していきます。