【パブリッシャー】メニューレポートを作ってみる

この記事では、メニュー レポートの作成に挑戦しようと思います。
## メニューレポートの作成 ##
[Sharperlight](https://sharperlight.jp/) アプリケーションメニューを起動します。
**パブリッシャー**を選択します。
右クリックメニューから**その他** -> **メニューレポートの作成**を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/33f2a90d-3353-dcc9-93f6-4145bfb3d687.png)
既定の選択のまま`OK`ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/7f399b67-bbb8-ae0f-92e4-1205b75a1103.png)
レポートの一覧が開くので、メニューに追加するレポートを選択します。
`OK`ボタンをクリックして次に進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/a9786880-5d96-acde-6790-dcb4e1ed6a03.png)
選択したレポートを確認できます。 `OK`ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/1752ef6a-b551-12a9-e154-5ab54d4f38af.png)
このダイアログでは、メニューに関する情報を入力できます。 そのままにして`OK`ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/473e6523-d688-e2d6-0bd3-282f702e606c.png)
メニューレポートが正常に作成されると以下のようなメッセージが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/83bea905-9b09-315c-593e-25e1329dac55.png)
メニューもこのように他のレポート同じように作成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/41b5c74d-2ecc-2467-7dc6-997ed64516cc.png)

## メニューレポートの編集 ##
作成したばかりのメニュー レポートを開いて詳細を確認し、編集してみましょう。
**コード**、**グループ**、および**タイトル**には、次のような既定値があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/50f5f0d5-556e-59ee-8334-7e2b4cf1a9d7.png)
このように編集してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/1e2120c5-6903-4037-9e57-1b2eb2dfad3e.png)
次に、メニューはクエリによって作成されるので、このメニューレポートのクエリ定義を見てみましょう。
`クエリーを編集`ボタンをクリックして、**クエリ ビルダ**を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/3241c0a2-b4a3-0614-01be-59b99e4d23ba.png)
クエリ定義はこんな感じで、この部分がメニュー構造を生成するための定義です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/75de99e9-16a0-5a3f-8115-4b1442c7ecf9.png)
このボタンをクリックしてエディタを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/c69dea7d-4bd5-1795-7814-1b04c727de5f.png)
それは`カンマ区切りリスト`です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/7b6d3139-3ca9-5958-c45e-9a0f4e45ee7d.png)
`グリッド編集`ボタンをクリックすると、定義をグリッドで表示できます。
ご覧のとおり5つの列が定義されています。これらは最低限必要な列です。
ヘッダー行の各列の値には、**列名::データ型**という特別な形式があります。そしてその形式を順守する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/8a178798-7688-9e55-00b7-616a26e93e3a.png)
ここでは`キャンセル`をクリック。 クエリビルダも同様に`キャンセル`をクリックしそのままの状態をキープします。
メニューレポートは、**コード**、**グループ**、**タイトル** を編集したので、`OK`ボタンで保存します。
## メニューレポートを開く ##
Sharperlightサービスを起動します。
パブリッシャーダイアログでたった今作成したメニューレポートを選択し、右クリックメニューから **レポートの表示** を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/1763b4f2-f4e8-e5bc-90d5-6e631be93a6e.png)
お手持ちのブラウザに、このような 2 つのタブ メニューをもつレポートが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/ab0dbad4-f5f1-0ea8-131f-faf8c693e255.png)
これらは、クエリ内の定義のこの部分で作成されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/cf0d4e33-6bb9-2c15-4198-424e1653414d.png)
`Reports`タブにカーソルを合わせると、サブメニュー項目が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/f7c0aeb5-5b0a-a876-5be3-484202f907b3.png)
これらのサブメニューは、クエリ内の定義のこの部分を使用して生成されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/14583a52-9b29-0857-46f1-76d4aac0cd95.png)
サブメニュー`SAP Sales Invoice`をクリックしてみます。レポートはメニューバーの下部に表示されます。
定義したURLがこのような場合は、既定でメニューバーの下部に表示される設定です。
```
/Report/?query=SAP.SalesInvoices
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/a0cecccc-e48b-d822-ab1c-e9aa288618dc.png)
レポートを新しいタブ/ウィンドウで開きたい場合は、**オプション (&openInNewWin=blank)** を URL に追加します。
```
/Report/?query=SAP.SalesInvoices&openInNewWin=blank
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/0d990486-e7c1-d355-c4fa-eb11b008f438.png)

## 既定コンテンツの設定 ##
上記の例では、メニューレポートが最初に表示された時、メニューバーの下には何も表示されませんでした。しかしながらオプションでお好みのレポートを指定し表示することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/0388aefe-6312-05f3-9496-5c0b5e129e8c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/54c3ea85-1fae-9f2b-9550-db6866bce96e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/9fff555f-8d10-e262-9fda-6bc7ae0f619e.png)

## メニューレポートのヘッダー ##
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/31e4fac6-19d9-fce6-b48f-f985278ad4e7.png)
ヘッダーは ``オプション`` タブの **ヘッダー** オプションで定義され、このような標準の HTML コードで記述します。 ここに独自のカスタムヘッダーを記述することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/7761955e-cb57-c085-57d9-28e69fb9ac45.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/1b684942-ff1f-ccf5-b26f-451056125821.png)

では、失礼します。