先日の記事でテーブルの項目一覧をどうやって取得するか?という質問を受けたのでTipsを紹介します。答えを最初に書くと、URLに引数としてページ番号を指定できるので、Page=9806を指定するだけです。
このPage9806を覚えればいいだけの話ですが、実際にはいざ必要な時に思い出せないことが結構あるので、ページ番号を特定するためのTipsと合わせてExcelに一覧をダウンロードする方法を紹介します。
テーブル項目一覧の取得は権限設定の画面を使うのが良いです。’Permission Set’機能を検索してリストページで表示し、’Permission’ボタンを押します。既存のPermission Setを使ってもよいですが、調査用のテスト権限を作るのが良いでしょう。
Permission Setは Permission(権限)の集合体です。どのテーブルにどのようなアクセス権があるか、などを定義できます。したがって、テーブルを指定することができます。これを利用します。新規のPermissionSetの場合、Object Typeは’Tabel Data’が規定値です。Object IDの列の「…」ボタンを押します。
すると、テーブルの一覧が表示されます。(厳密にはテーブルの一覧ではないですが、テーブルの一覧が得られるので細かい違いは気にしないことにします。)この一覧をダウンロードしたいのですが、このリスト自体のオブジェクト情報を把握しておきたいところです。右上の「?」アイコンからHelp&Supportをクリックします。(一覧をダウンロードするだけならこのページから可能ですが、少し寄り道します。)
そしてInspect Pages and Data をクリックします。
すると右側にこの一覧のソースであるテーブルと一覧のページ番号が表示されます。これはこのページに限らず全ての画面で利用できる機能で非常に便利です。
リストページはURLに指定することで直接呼び出せます。”https://businesscentral.dynamics.com[TenantID]/[EnvironmentID]?Page=xxxx”の書式でURLにページ番号を追加します。
するとポップアップスタイルではなく、テーブル一覧が表示されました。’Page’タブから’Open in Excel’を選択すると一覧がダウンロードできます。(実はポップアップで表示されている状態でも同様にダウンロードできます。)
テーブルの一覧は取得できましたが、テーブル項目の一覧は取得できていません。テーブルの項目はPermissionの設定画面から取得できます。Object TypeをTabel Dataの状態でObject番号をなんでも良いので指定します。そして一番右のSecurity Filterの項目の「…」をクリックします。
この項目はテーブルのフィールドの値によって権限を分ける場合に使います。したがってフィールドの一覧を表示できます。Field Number列の「…」をクリック。
すると項目の一覧が表示されます。先ほどと同様にPage InspectionでPage番号を取得。
同様にページ番号をURLに追加して一覧表示。上のポップアップ形式の画面と異なり、全テーブルの全項目が表示されます。
この画面にはテーブルの番号が表示されていません。この状態でダウンロードするとテーブル番号がダウンロードされないので先にページ番号を追加しましょう。右上の歯車アイコンからPersonalizeをクリック。
非表示になっているTable No.フィールドをドラッグアンドドロップで一覧に追加します。
これで準備は完了です。Pageタブから’Open in Excel’を選択するとExcelにダウンロードされます。
ダウンロードされたExcelを見てみましょう。テーブル番号、テーブル名称、フィールド番号、フィールド名称がダウンロードされています。全部で35,884項目あります。(以外と少ないですね。)
ページ番号を暗記していたり、開発者スキルがあればそもそもこのTipsは不要ですが、Permission Setでテーブル一覧、項目一覧が取得できることとPage Inspection機能でテーブル番号、ページ番号を確認できるのは知っておいて損のないTipsだと思いますので紹介しました。