クラウド型 ワークフロー

選択範囲を絞ってユーザの選択をできるようにする方法

 

システム連携ネタでよくブログを書いている日下です。
※過去の記事はこちら

今回はシステム連携とは違うネタです。

 

これまでに何度か以下のような質問をいただいたことがあります。

 Questetra のユーザ型データ項目で選択できるユーザの範囲を絞れないですか?
 (例えば、マネージャのユーザだけを選択できるようにしたい etc)

残念ながら、標準の設定ではユーザ型データ項目では選択できる範囲を絞ることができません・・・
※組織ツリーから選択 or ユーザ名かメールアドレスで検索で、どちらも全ユーザが対象となる

代替方法がありますのでそれを説明します。

 

おおまかにいうと以下のような設定となります。

  • 絞れらたユーザでの選択肢を選択型マスタで準備しておく
  • そのマスタから選択された結果をユーザ型データ項目に変換する

それをアプリを分けて実現するとなると、以下のような形となります。

  • アプリ1
    ロールの設定情報から対象ユーザを抜き出して、文字型データ項目・選択型データ項目を経由して、選択肢マスタに保存(アドオン)
  • アプリ2
    アプリ1で準備した選択肢マスタを使って、選択型データ項目を準備(アプリのデータ項目の設定)
    選択型データ項目をユーザ型データ項目に変換(アドオン)

ユーザの絞り方としていくつかの指定方法が考えられますが、今回はロール名での指定とします。組織と違って、ロールは他の設定・表示に影響を与えずに増やすことができますので、今回のような対応がしやすいと考えています。
※アプリ1のアドオンのロジックを少し変えれば、組織名で絞るようにもカンタンに対応できます。
※アプリ2のアドオンは、選択肢 ID がユーザのメールアドレスであることを前提としたデータ変換アドオンとなります。

 

アプリ1のアーカイブをこちらからダウンロードできます(zip を展開すると qar ファイルが入っています)。
app1_download
アプリ1に含まれるアドオン xml のダウンロードはこちらから。
pickup-role-user-addonxml
アプリ2のアーカイブをこちらからダウンロードできます(zip を展開すると qar ファイルが入っています)。
app2_download
アプリ2に含まれるアドオン xml のダウンロードはこちらから。
convert-select-to-user-addonxml

まず、アプリ1についてですが、日次で動かして、該当するユーザデータを取得して、選択肢マスタに設定させることとします(手動でも動かせるようにしてあります)。
フロー図は以下の通り。

(1) ロール名からユーザ情報を抜き出すアドオンのプロパティは以下の通り。ロール名を直接指定して、文字型データ項目に選択肢IDと選択肢表示ラベルに分けて保管。

(2) その文字型データ項目2つを使った選択型データ項目の設定は以下の通り。

(3) その選択型データ項目を使って選択肢マスタを設定する処理のプロパティは以下の通り。

次に、アプリ2についてですが、アプリ1で準備した選択肢マスタを使って、選択型データでユーザを選ばせた後、その選択結果をユーザ型データに設定します。
フロー図は以下の通り。

(1) アプリ1で準備した選択肢マスタを使った選択型データ項目の設定は以下の通り。

(3) その選択型データ項目で選択した結果をユーザ型データ項目に変換するアドオンのプロパティは以下の通り。

このように下準備さえしておけば、利用するアプリ側では容易に活用できることがご理解いただけたかと思います。
また、あらかじめ選択肢マスタを準備しておく方法は、今回のようなケースに限らず、外部データを取り込んでマスタ利用するケースに使えますので、様々な活用が可能です。

 

もし、ご質問等がありましたら、お問い合わせフォームからご連絡ください。

 

Kusaka Tsuyoshi の紹介

営業をやってますが、もともとエンジニアなので、プログラミングもやります。
Kusaka Tsuyoshi の投稿をすべて表示

あわせて読みたい
50.Questetra Tips の前の記事 Office365 とクラウド型ワークフローとの連携方法について
50.Questetra Tips の次の記事 ロボット君がランダムに翻訳者を指名してくれる方法(1)
Kusaka Tsuyoshi の他の記事 「超高速開発ツール」を無料で体験してみよう

アーカイブ

 RSS