intra-mart デモンストレーションサイトガイド (サンプルワークフロー「稟議申請」編) 第2版 2017-10-25

5. 付録

5.1. AccelDocuments連携設定

今回のデモでは申請画面で入力した情報がAccelDocumentsの属性情報に反映されましたが、契約開始日、契約終了日については反映されていません。この章では具体的な設定手順を通して、未反映の契約開始日、契約終了日をAccelDocumentsの属性情報に反映させる設定について説明します。
../../_images/01_overview.png

5.1.1. 設定方法

  1. 管理者の「青柳」でログインします。
    ../../_images/02_login.png
  2. 「more…」-「サイトマップ」でサイトマップを開きます。
    ../../_images/03_sitemap.png
  3. サイトマップから、「Forma-AccelDocuments連携管理画面」-「Formaアプリ作成管理」の「アプリ一覧」をクリックします。
    ../../_images/04_forma_iad_mapping1.png
  4. 「アプリケーション一覧」から、「★稟議申請」の編集をクリックします。
    ../../_images/05_forma_iad_mapping2.png
  5. 「WF連携設定」から「稟議申請」の編集をクリックします。
    ../../_images/06_forma_iad_mapping3.png
  6. 「コンテンツ連携情報」から、「ファイルアップロード(契約書案) | keiyaku_file」の編集をクリックします。
    ../../_images/07_forma_iad_mapping4.png
  7. 「AccelDocuments連携設定編集」から「高度な設定」の「文書」にある「検索」をクリックします。
    ../../_images/08_forma_iad_mapping5.png
  8. 「AccelDocuments属性/Formaアイテム連携設定」から「文書の属性」と「Formaアイテム」を以下の通り設定し「決定」をクリックします。
    ../../_images/09_forma_iad_mapping6.png
    AccelDocuments属性/Formaアイテム連携設定
    設定項目 設定値
    文書の属性 契約開始日(日時)
    Formaアイテム 契約期間開始日 | keiyaku_kikan_from
  9. 「決定確認」で「決定」をクリックします。
    ../../_images/10_confirm.png
  10. 「 AccelDocuments連携設定編集」の「文書」-「文書の属性とFormaアイテム連携設定」に、先ほどの連携設定が反映されます。
    ../../_images/11_doc_attribute1.png
  11. 7~9の設定を以下の値で再度実行します。
    AccelDocuments属性/Formaアイテム連携設定
    設定項目 設定値
    文書の属性 契約終了日(日時)
    Formaアイテム 契約期間終了日 | keiyaku_kikan_to
  12. 「 AccelDocuments連携設定編集」の「文書」-「文書の属性とFormaアイテム連携設定」に、先ほどの連携設定が反映されていることを確認し「更新」をクリックします。
    ../../_images/12_doc_attribute2.png

5.1.2. 動作確認

  1. 申請・承認処理を行い、登録された文書の属性に、設定した契約期間が反映されているか確認します。
    手順は「操作編」を参照ください。
  2. 登録された文書の属性を確認します。ここでは管理者の「青柳」で確認しますが、AccelDocumentsにアクセス可能なデモユーザ(上田、大磯、西野、吉川)でも同様の手順で確認できます。
    「more…」-「Accel Documents」-「文書管理」でAccel Documentsを開きます。
    ../../_images/13_open_iad.png
  3. 「株式会社サンプルマート★」を選び、「選択」をクリックします。
    ../../_images/14_select_cabinet.png
  4. 「ストレージ」タブの画面左の「株式会社サンプルマート★」-「サンプルマート全社共通」-「決裁資料」で申請した案件名のフォルダをクリックし、申請時に「契約内容」画面で添付したファイルの属性編集をクリックします。
    ../../_images/15_show_attribute.png
  5. 「 属性情報」の「契約開始日」と「契約終了日」に申請時に入力した日付が反映されていることを確認できます。
    ../../_images/16_confirm_date.png

5.2. 稟議申請画面 外部連携設定

サンプルワークフロー「稟議申請」の画面では、セレクトボックスや一覧選択などのアイテムをクリックすると、一覧リストが表示されました。これらのアイテムは、 外部連携 や画面イベント( アクション設定 )の仕組みを使って、別に保存されたマスタから値を取得して表示しています。
一覧リストをマスタから取得するメリットについて3つご紹介します。
  • システム管理者の負担軽減

    セレクトボックスに表示される値はアイテムのプロパティから設定することができますが、値の追加や変更にはBISのシステム管理者(または業務管理者)の権限が必要になります。セレクトボックスに表示する値を別のマスタデータから取得するよう設定することで、システム管理者の権限がなくても、値の追加・変更を行うことができます。
    「稟議申請」のセレクトボックスは、Forma選択肢マスタに登録されているデータを一覧リストに表示しており、 一覧リストの編集はForma選択肢マスタアプリに対して権限があればシステム管理者でなくてもメンテナンスできます。
    ../../_images/17_overview_master_1.png
  • メンテナンス性の向上

    画面アイテムの選択肢が複数のアプリで同じ場合、選択肢の値を画面アイテムプロパティに直接登録してしまうと、選択肢自体の変更や追加時に一つ一つの画面アイテムを修正しなければなりません。画面アイテムの選択肢をマスタから取得するようにすることで、マスタデータの変更で修正が済むためメンテナンス性が向上します。
    ../../_images/171_overview_master_3.png
  • データ登録時の利便性向上

    一覧から選択してデータを入力できるので利用者の利便性が向上し、既存マスタを活用することで登録データの誤記や表記の揺れがなくなるため、データ集計や分析がしやすくなる利点もあります。
    下図は稟議申請ワークフローの「契約先」は検索アイコンをクリックすると、顧客マスタから一覧を取得して表示しています。
    前述のForma選択肢マスタと違い、マスタへの追加方法がFormaアプリからだけでなくワークフローからも追加できるようになっており、複数の承認者のチェックを経てから登録したい場合に有効な方法です。
    ../../_images/18_overview_master_2.png

5.2.1. 設定方法

サンプルワークフロー「稟議申請」で、どのように各マスタと外部連携を実現しているか確認していきましょう。
マスタデータの取得は、以下の設定を組み合わせることで実現しています。
../../_images/19_overview_master_3.png
サンプルワークフロー「稟議申請」での設定構成
マスタ AccelPlatformがアクセスするDB(テーブル)
LogicDesigner
(フロー定義名)
マスタからデータを取得するための業務ロジックを設定
IM-BISデータソース定義
(データソース名)
FormaDesignerからLogicDesignerで作成したフロー定義にアクセスするための設定
IM-BIS/Formaアクション設定
(画面アイテム/イベントタイプ)
画面イベントに応じた処理を設定。ここではマスタにアクセスするための外部連携を設定

5.2.1.1. マスタ

各マスタはFormaアプリとしてグローバルメニューに登録されているため、画面からデータの登録・編集・削除が可能です。
青柳(aoyagi)でログインし、以下のメニューからアクセスしてください。
../../_images/20_forma_menu.png

警告

「顧客マスタ一覧」メニュー、及びワークフロー(フロー名:★顧客マスタ登録)でのマスタ追加は、評価キット(VMWare版)をインストールしている環境でご使用できますが、 デモサイト ではアクセス権の関係で使用できません。
  • Forma選択肢マスタ
一つのマスタに複数アイテムのマスタデータが登録されているため識別用に「マスタ種別」を設け、対応するセレクトボックスで「表示値」(key)、「送信値」(value)を取得できるようにしています。
このサンプルワークフローでは、以下のキーでセレクトボックスの各データを判別しています。
../../_images/21_select_master1.png
マスタ種別キー
セレクトボックス「契約種別」 keiyaku_kind
セレクトボックス「決裁区分」 kessai_kubun
  • 顧客マスタ
顧客に関する様々なデータが登録されています。一覧選択アイテムでは、その中で「顧客コード」、「顧客名」、「顧客名(カナ)」の3つを取得するよう外部連携設定をしています。
../../_images/22_select_master2.png

5.2.1.2. LogicDesigner

マスタから値を取得する処理を定義しており、フローが受け取る値(入力値)、フローで処理した結果を出力する値(出力値)を定義します。
  1. マスタと同様、青柳(aoyagi)でログインし、「more…」-「LogicDesigner」-「フロー定義一覧」にアクセスします。
    ../../_images/23_ld_flow_menu.png
  2. フロー定義名に「Forma選択肢マスタ」と「顧客情報取得」がありますので、確認したいフロー定義の編集アイコンをクリックします。
    ../../_images/24_select_ld_flow.png
  • Forma選択肢マスタ

    ../../_images/25_flow_detail1.png
    (1) 開始タスク
    (2)
    ユーザ定義(SQL)タスク。マスタからフロー定義入力値を条件に値を取得(select ~ where …)します。
    マッピング設定画面では、フロー定義入力値を抽出条件としてマッピングすることで、セレクトボックスに対応した表示値(key)と送信値(value)を取得します。
    (3) 終了タスク。マスタから取得した値を出力します。マッピング設定画面では、画面左の(2)の実行結果と画面右のフロー定義出力値をマッピングしています
  • 顧客マスタ

    ../../_images/26_flow_detail2.png
(1) 開始タスク
(2)
ユーザ定義(SQL)タスク。マスタからフロー定義入力値を条件に値を取得(select ~ where …)します。
マッピング設定画面では、画面左のフロー定義入力値(電話番号、顧客名、顧客名カナの3つ)を抽出条件としてマッピングすることで、対応した顧客情報のデータを取得します。
(3) 終了タスク。マスタから取得した値を出力します。マッピング設定画面では、画面左の(2)の実行結果と画面右のフロー定義出力値をマッピングしています。

5.2.1.3. IM-BISデータソース定義

IM-FormaDesignerから前項のLogicDesignerのフロー定義にアクセスために、データソース定義を設定します。Forma選択肢マスタ、顧客マスタそれぞれの設定を確認しましょう。
  1. 「IM-BIS」-「システム管理者」-「マスタ管理」-「データソース定義」-「データソース定義」をクリックします。
    ../../_images/27_datasource_menu.png
  2. データソース一覧画面から、LogicDesignerで定義したものに絞り込みます。「すべて」のチェックボックスを外してから、「LogicDesigner」のチェックボックスをオンにし「検索」ボタンをクリックします。
    ../../_images/28_datasource_list.png
  3. LogicDesignerのデータソース定義のみに絞り込まれます。データソース名が「Forma選択肢マスタ」、または「顧客情報取得」の編集アイコンをクリックします。
    ../../_images/29_select_datasource.png
  4. LogicDesignerのフロー定義名、入力値、出力値を確認することができます。
    ※リクエスト、レスポンスのパラメータはフロー定義選択時に自動的に設定されます。
    ../../_images/30_datasource_detail.png
    (1) フロー定義名
    (2)
    リクエスト。LogicDesignerへ送信するパラメータ。
    ※画面例ではString型の「master_kind」
    (3)
    レスポンス。LogicDesignerから受信するパラメータ。
    ※画面例では配列型の「masters」とその要素でString型のkeyとvalue

5.2.1.4. IM-BIS/Formaアクション設定

画面アイテムのセレクトボックスや一覧選択からマスタデータを取得・表示するには、画面表示やアイテムクリックなどのイベントをトリガーに 外部連携 を実行する設定が必要です。イベントの設定はIM-FormaDesignerの「 アクション設定 」から行いますので確認してみましょう。
まずはセレクトボックスの設定を確認します。
  • セレクトボックス設定の確認(Forma選択肢マスタ)
  1. 「IM-BIS」-「システム管理者」-「IM-BIS作成」-「IM-BIS」をクリックします。
    ../../_images/31_bis_menu.png
  2. 画面左上の「一覧」をクリックします。
    ../../_images/32_bis_list.png
  3. BIS名が「★稟議申請」の編集アイコンをクリックします。
    ../../_images/33_select_bis.png
  4. IM-BISフロー編集画面で、申請ノードのアイコンを右クリックし、「画面遷移設定」をクリックします。
    ※全てのノードの画面は共有設定となっているため、どこか一つのノードを修正すれば、他のノードにも反映されます。共有設定については、 こちら を参照ください。
    ../../_images/34_bis_detail.png
  5. 画面遷移設定画面で、契約内容のフォーム編集アイコンをクリックします。
    ../../_images/35_select_forma_ui.png
  6. フォーム編集画面で「アクション設定」をクリックします。
    ../../_images/36_forma_ui_edit.png
  7. 初期表示イベントのアクションが表示されます。この設定により、稟議申請画面(契約内容)が表示された際に実行するアクションとして「外部連携」が設定されていることがわかります。設定のアイコンをクリックし、詳細を確認します。
    ../../_images/37_forma_event.png
  8. データマッパー画面が表示されます。
    リクエスト、レスポンスのそれぞれのタブで、画面項目とデータソース定義のパラメータをマッピングしています。
    ../../_images/38_forma_datamapper_req.png
    「リクエスト」タブ
    (1) 稟議申請の「契約内容」タブの画面項目
    (2)
    データマッピング情報。以下の画面項目(本設定は固定値)とデータソース定義のパラメータをマッピング
     固定値「keiyaku_kind」 ⇔ Forma選択肢マスタリクエストパラメータ「master_kind」
    (3)
    データソース定義「Forma選択肢マスタ」のリクエストパラメータ。

    ../../_images/39_forma_datamapper_res.png
    「レスポンス」タブ
    (1) データソース定義「Forma選択肢マスタ」のレスポンスパラメータ
    (2)
    データマッピング情報。以下の画面項目とデータソース定義のパラメータをマッピング。
     Forma選択肢マスタのレスポンスパラメータ「key」  ⇔ 画面アイテム「契約種別」の表示値(key)
     Forma選択肢マスタのレスポンスパラメータ「value」 ⇔ 画面アイテム「契約種別」の送信値(value)
    (3) 稟議申請の「契約内容」タブの画面項目
セレクトボックスがマスタから値を取得するまでの一連の処理をまとめると、以下の通りとなります。
../../_images/40_formamaster_overview.png
外部連携設定概要(セレクトボックス)
BIS/Forma画面表示時、初期表示イベントに設定されている外部連携設定(リクエスト)に従って、固定値(文字例)をLogicDesignerへ送信
LogicDesignerは固定値(文字例)をフロー定義の入力値として受け取る
入力値を条件にSQLを実行する
SQL実行結果をフロー定義の出力値とし、BIS/Forma側へ返却する
4の実行結果を1で実行された外部連携設定(レスポンス)に従って、セレクトボックスのプロパティに渡す
セレクトボックス「決裁区分」も同様の動きになります。

  • 一覧選択設定の確認(顧客マスタ)
  1. 申請画面からアクション設定を開く操作までは、「セレクトボックス設定の確認(Forma選択肢マスタ)」の1~6と同じです。
  2. 「アイテムイベント」タブをクリックし、契約先アイテムの設定アイコンをクリックします。
    ../../_images/41_forma_event_item.png
  3. 顧客情報取得のDMアイコンをクリックします。
    ../../_images/42_forma_outsider_linkage.png
  4. データマッパー画面が表示されます。
    リクエスト、レスポンスのそれぞれのタブで、画面項目とデータソース定義のパラメータをマッピングしています。
    ../../_images/43_forma_datamapper_req.png
    「リクエスト」タブ
    (1) 稟議申請の「契約内容」タブの画面項目
    (2)
    データマッピング情報。以下の画面項目とデータソース定義のパラメータをマッピング。
     契約内容の「契約先」 ⇔ 「顧客情報取得」のリクエストパラメータ「customer_nm」
    (3) データソース定義「顧客情報取得」のリクエストパラメータ
    ../../_images/44_forma_datamapper_res.png
    「レスポンス」タブ
    (1) データソース定義「顧客情報取得」のレスポンスパラメータ
    (2)
    データマッピング設定。以下の画面項目とデータソース定義のパラメータをマッピング。
    顧客情報取得のレスポンスパラメータ「customer_cd」 : 画面アイテム「契約先」のコード(code)
    顧客情報取得のレスポンスパラメータ「customer_nm」 : 画面アイテム「契約先」の名称(name)
    顧客情報取得のレスポンスパラメータ「customer_kana」 : 画面アイテム「契約先」のカナ(kana)
    (3) 一覧選択アイテムの「契約先」の一覧項目
一覧選択がマスタから値を取得するまでの一連の処理をまとめると、以下の通りとなります。
../../_images/45_formamaster_overview.png
外部連携設定概要(一覧選択)
一覧選択「契約先」クリック時、アイテムイベント(アイコンクリック)に設定されている外部連携設定(リクエスト)に従って、一覧選択「契約先」に入力されている文字列をLogicDesignerへ送信
LogicDesignerは受け取った値をフロー定義の入力値として受け取る
入力値を条件にSQLを実行する
SQL実行結果をフロー定義の出力値とし、BIS/Forma側へ返却する
4の実行結果を1で実行された外部連携設定(レスポンス)に従って、セレクトボックスのプロパティに渡す