ブログ

2023/04/26
【プリザンター】 第192回)リンクで複数の親を持つときの便利機能

リンクで2つの親を持つケース

こんにちは、CCS田中です。

2023/4/4 リリースのバージョン1.3.36.0に追加された機能に以下内容があります。

同じ親を持つリンクを設定し親レコードから子レコードを新規作成した際に、特定の項目にのみ親レコードの値を設定する機能

この機能の設定方法とどのような時に使えるかを説明します。

プリザンターの代表的な機能でリンク機能があります。マスタ参照的に使ったり、関連した子供のレコードを作成したりする場合に使用していると思います。
参照されている側を親テーブルとして、そのテーブルで作成したレコードから、関連した子レコードを作成する場合に2通りの方法があります。

1つは子テーブルから親テーブルのレコード(リンクしている項目)を選択する方法です。
もう1つは親テーブルのレコードから、子レコードを追加するボタンをクリックして作成する方法です。

後者の場合には、ボタンをクリックすることで新しく子テーブルのレコードの新規作成画面に移動して、リンクした親の項目が選択された状態になります。(前者の場合は親テーブルのレコードを作成する必要がありますが、この場合は選択されているため後で選択する必要がありません)

さて、今回の機能では同じ親をもつリンクを子テーブルに2つ項目を追加した場合の機能です。
具体的な例を挙げて説明していきます。

会社の組織構造を考えてみましょう。「営業部」と「システム部」の2つの部署があった場合に、社員はいづれかの部署に属することになります。ただ稀に兼務という形で二つの部署に所属する人もでてくるでしょう。このような兼務の場合が今回のケースに相当します。
親テーブルが部署一覧、子テーブルが社員一覧となり、多くの人は所属部署が1つですが、兼務の人は所属部署が2つになります。
以下の図で高橋さんが兼務の状態です。


このようなケースの時に、部署のレコードを選択(例えば営業部を選択)して、その後に部署に所属する社員を追加する場合にリンクテーブルの追加ボタンをクリックします。今回の機能が追加される前は、2つのリンク項目に同じ情報が入ってしまいました。つまり営業部のレコードからボタンをクリックすると、子レコードの部署項目に「営業部」「営業部」と入ってしまうようになっていました。
多くの人は1つの部署にしか所属しないため、2つめの項目には何も入らないほうが親切ですよね。その際は今回の機能を使うことで、1つ目の項目にだけ「営業部」が入って、2つ目の項目には何も選択されない状態にすることができます。

次で実際の設定方法を説明します。

特定の項目にのみ親レコードを設定する方法

リンクを設定する場合は、通常以下のように選択肢一覧には親テーブルのサイトIDを指定します。


[[親テーブルのサイトID]]


今回子テーブルに親テーブルにリンクする項目を「部署」と「兼務部署」として作成して、両方の選択肢一覧に同じように親のサイトIDのみを設定した場合に、以下にある「社員テーブル」への追加ボタンをクリックすると、次の図のように「部署」と「兼務部署」の両方の項目に同じ「営業部」が指定された状態になってしまいます。





「兼務部署」は必要な時にだけ設定したいため、子テーブルのレコードを親レコードから新規作成した場合は、「部署」だけが設定されるようにしたいですよね。その場合は、「部署」の項目の選択肢一覧を以下の様に変更します。

<選択肢一覧の設定>

[
{
"SiteId": 部署テーブルのサイトID,
"SelectNewLink": true
}
]


この設定を行った後に実行すると、「社員テーブル「」ボタンを追加したときに、以下の様になります。
これで兼務をしている人だけ設定を追加すればよいので手間が省けます。

まとめ

いかがでしたか?

あまり使われない機能かもしれませんが、あると便利な機能かと思います。
設定する必要が出てきた場合に試してみてください。

弊社ではスタイル・スクリプトサンプル集、プリザンター逆引き辞典のほかにも、運用ノウハウ集、Dockerを使った構築、PDF帳票出力支援パックの販売もございます。また、導入の支援や、スクリプト開発なども支援いたします。

ご相談の内容によっては有料となる場合がございますが、まずは気軽にご相談ください。
☆☆☆
ブログ内容への質問や追加説明をご希望の方は【 問い合わせフォーム 】からお気軽にお問い合わせください
☆☆☆

PAGE TOP