D365BCの2022 Release Wave 2の新機能として追加されたデータ検索機能を紹介します。
Cronusカンパニーを使って検証します。虫眼鏡アイコンで”Search”でキーワード検索し、”Search”機能を実行します。
すると以下の画面が表示されます。
キーワードに例えば”Fabrikam”を指定します。FabrikamはCronusの仕入れ先なので検索結果には仕入先としてのFabrikamやFabrikamからの仕入の結果作成された転記済仕入請求伝票や仕入先元帳明細が表示されます。まずはVendorの下のFabrikamの明細をクリックしてみます。
するとFabrikamの仕入れ先マスタカードが開きます。
今度はPurch. Inv. Headerの下の明細をクリックしてみます。
するとPosted Purchase Invoiceが表示されました。
FabrikamのPosted Purchase Invoiceは大量に存在するので代表として3件のみ表示されています。4件目以降を見たい場合は”Purch. Inv. Header: Show all results”をクリックします。
するとPurch Inv. Headerの一覧が表示されます。
ただし、この一覧はPosted Purchase Invoiceの一覧ではありません。Ctrl+Alt+F1をクリックするとPage Inspectionを表示すると”Data Search Result Records”というページであることがわかります。
この一覧画面から伝票画面に遷移するには対象の明細を選択し、RecordタブからShow Recordをクリックします。
するとPosted Purchase Invoiceのカード画面に遷移します。
前回の記事で紹介した、新旧オブジェクト比較表を見てみましょう。新オブジェクトのオブジェクト名が”Data Search”のものを検索するとこれだけ出てきます。
試しにPageID:2683を開いてみましょう。ロールセンター画面などでURLに”&Page=2683″をつければOKです。検索対象のテーブルが表示されます。いろいろありますが、品目マスタも対象になっていることがわかります。
Cronusの初期データでは”Fabrikam”を含む品目は存在しないので 新規で品目を登録してみます。
“Fabrikam Desk”を新規品目として登録します。
改めて検索機能を使て”Fabrikam”を検索すると上で登録した品目が結果に表示されました。
名前以外の項目は検索されるのでしょうか? 試しにInventory Posting Groupに新規で”Fabrikam”を作り、もう一つ新規品目を作成し、セットしてみます。
さらにもう一つ品目を作成し、Gen. Prod Posting Groupに新規で”Fabrikam”を作ってセットします。
検索画面に戻り検索します。Inventory Posting Groupに”Fabrikam”セットした品目はヒットしますが、Gen. Prod Posting Groupに “Fabrikam” をセットした品目は表示されません。これはどういうことでしょう?
Search Setup 一覧画面に戻りItemをクリックします。
するとItemテーブルの項目一覧が表示されます。Inventory Posting GroupはEnable SearchがOnになっています。
一方、Gen. Prod. Posting GroupはOffになっています。これが検索されない原因です。
試しにOnにしてみます。
Search画面に戻り再度”Fabrikam”で検索すると今度は検索結果に表示されました。
項目ごとに検索対象か否かを設定する画面はPageID=2684です。
これは新旧オブジェクト比較表の以下に該当します。
項目を検索対象にするかどうかは指定できるのですが、テーブル自体を対象にするかどうかしていできるのでしょうか? Search Setupのテーブル一覧を見る限り現状は”Edit List”がグレイアウトして押せない状態で対象テーブルの編集はできないように見えます。ただし、メニューの中には”Reset to Default”が存在し、これを選択すると、、
編集したものを元に戻すけどよいか?というメッセージなので、なんとなく最終的には編集可能だけど現状は編集できないだけのように見えます。
そういう目線で新旧オブジェクト比較表を眺めていると、Data SearchのためのSetup画面がいずれ追加され、その画面から検索対象テーブル一覧や検索対象項目一覧の画面に遷移できるようになるのではないかと推測します。(じぶんならそう設計する、というレベルの推測です)
現状はPreview版なので、いずれ機能が拡張されてテーブル指定できるようになれることを期待して待ちましょう。