Accel-Mart Quick チュートリアルガイド 第14版 2023-02-08

9.1. ワークフローの最終承認時に添付ファイルをShare Pointのドキュメントライブラリへ格納する

このチュートリアルでは、案件終了処理の業務ロジックを利用してワークフローの添付ファイルをShare Pointのドキュメントライブラリへ格納します。
ワークフローの案件終了時に業務ロジックを呼び出し、SharePointドキュメントライブラリにディレクトリを作成し、そこに添付ファイルを出力します。

9.1.1. Office365とAzure ADの設定

  1. Office 365 連携を行う 」の「Office 365 の準備」の手順に従ってOffice365の設定を行ってください。
  2. Office 365 連携を行う 」の「Microsoft Azure の準備」の手順に従ってAzure ADの設定を行ってください。

9.1.2. Accel-Mart Quick側の設定

  1. Office 365 連携を行う」の「OAuthプロバイダの設定」の手順に従ってOAuthプロバイダの設定を行ってください。

  2. Office 365 連携を行う」の「外部連携アプリケーションの設定」の手順に従って外部連携アプリケーションの設定を行ってください。

    コラム

    「Accel-Mart Quick システム管理者」ロールを持つユーザで設定を行ってください。
    外部連携アプリケーションの設定を行ったユーザのユーザコードを「SharePointストレージ取得」タスクに指定します。

9.1.3. ワークフローの作成

「Accel-Mart Quick ワークフロー管理者」ロールを持つユーザでワークフローを作成します。
作成するワークフローはフォームに画面アイテム「ファイルアップロード」を配置する必要があります。

今回は「簡単なワークフローを作成する」の「【チュートリアル】直線申請フロー」を利用します。「簡単なワークフローを作成する」の手順に従ってワークフローを作成してください。

9.1.4. Share Pointのドキュメントライブラリへ添付ファイルを連携する業務ロジックの作成

ワークフローの添付ファイルのデータをShare Pointのドキュメントライブラリへ連携する案件終了処理の業務ロジックを作成します。

コラム

「業務ロジックの作成はAccel-Mart Quick アプリケーション管理者」ロールを持つユーザで行ってください。
作成する業務ロジックでは、以下の処理を行います。
  • 「ファイルアップロード情報取得」タスクで画面アイテム「ファイルアップロード」に添付されたファイルのファイルIDを取得します。

  • 取得したファイルIDを用いて再度「ファイルアップロード情報取得」タスクを実行し、ファイルデータを取得します。

  • ファイルが複数添付された場合のために最初の「ファイルアップロード情報取得」タスクの返却値であるファイル情報の配列に対して繰り返し処理を行います。

  • 「SharePointストレージ取得」タスクを用いて、Share Pointのドキュメントライブラリのストレージを取得します。

  • 取得したストレージに対して、ディレクトリの作成と「ファイルアップロード情報取得」で取得したファイルデータの出力を行います。

    ../../_images/store_attachments_in_sharepoint_1.png
    図:作成する業務ロジック

9.1.4.1. 案件終了処理の業務ロジックを新規作成する

  1. メニューの「管理」→「ノーコード開発」→「ワークフロー設定」から、「IM-BIS-更新履歴」画面を表示します。

    ../../_images/store_attachments_in_sharepoint_2.png
    図:「IM-BIS-更新履歴」
  2. ワークフローの作成」で作成した「【チュートリアル】直線申請フロー」の pencil_icon をクリックします。

    ../../_images/store_attachments_in_sharepoint_3.png
    図:「IM-BIS-更新履歴」
  3. 「IM-BIS-フロー編集」画面の「業務ロジック」をクリックします。

    ../../_images/store_attachments_in_sharepoint_4.png
    図:「IM-BIS-フロー編集」
  4. 「業務ロジック」画面が表示されます。

    ../../_images/store_attachments_in_sharepoint_5.png
    図:「業務ロジック」
  5. 「案件終了処理」の「新規作成」をクリックします。

    ../../_images/store_attachments_in_sharepoint_6.png
    図:「基本設定 - 案件終了処理」
  6. 「業務ロジック登録 - 案件終了処理」画面が表示されます。業務ロジック名を入力し「登録」をクリックします。

    ../../_images/store_attachments_in_sharepoint_7.png
    図:「業務ロジック登録 - 案件終了処理」
  7. 「ロジックフロー定義編集」画面が表示されます。

    ../../_images/store_attachments_in_sharepoint_9.png
    図:「ロジックフロー定義編集」

9.1.4.2. 定数の追加とタスクの配置を行う

  1. まず、ロジックで使用する定数を追加します。「ロジックフロー定義編集」画面上部、ヘッダ内の「定数設定」をクリックします。

    ../../_images/store_attachments_in_sharepoint_10.png
    図:「ロジックフロー定義編集」
  2. 「定数設定」ダイアログが表示されます。「plus_icon定数を追加」をクリックします。

    ../../_images/store_attachments_in_sharepoint_11.png
    図:「定数設定」
  3. 下記の定数値をそれぞれ定義してください。

    定数ID 定数値 説明
    providerId
    (プロバイダID)
    OAuthプロバイダ設定で設定したプロバイダIDを指定します。
    userCd
    (ユーザコード)
    外部連携アプリケーションの設定を行ったAccel-Mart Quick上のユーザのユーザコードを指定します。
    pathSeparator
    “/”
    「SharePointストレージ取得」タスクで取得するドキュメントライブラリのパスの作成に使用します。
    sitePath
    (サイトパス)
    Office 365 SharePoint Online 上のサイトパスを指定します。
    例えば、チームサイトが 「 https://yourcompany.sharepoint.com/sites/foo 」の場合、サイトパスには “foo” でなく “sites/foo” を指定します。
  4. 次に、下記の図のようにエレメントを配置し、それぞれをつなぎ合わせて処理の流れを定義してください。

    ../../_images/store_attachments_in_sharepoint_1.png
    図:エレメントの配置

    コラム

    エレメントを配置する詳しい操作方法は「エレメントを配置する」を参照してください。

9.1.4.3. タスクのプロパティを設定する

各タスクに入力値として渡す値を設定するため、マッピング設定を行います。
  1. まず「ファイルアップロード情報取得(im_bisFileUpload1)」タスクのマッピング設定を行います。
    フロー編集画面上の「ファイルアップロード情報取得(im_bisFileUpload1)」タスクをクリックします。
    ../../_images/store_attachments_in_sharepoint_12.png
    図:「ロジックフロー定義編集」
  2. 画面右側に「ファイルアップロード情報取得(im_bisFileUpload1)」タスクに関するプロパティ画面が表示されます。

    ../../_images/store_attachments_in_sharepoint_13.png
    図:「ロジックフロー定義編集」
  3. 基本設定の「マッピング設定」をクリックします。

    ../../_images/store_attachments_in_sharepoint_14.png
    図:「ロジックフロー定義編集」
  4. 「ファイルアップロード情報取得(im_bisFileUpload1)」タスクのマッピング設定画面が開きました。

    ../../_images/store_attachments_in_sharepoint_15.png
    図:「マッピング設定」
  5. 下記の設定項目を元にマッピングを行います。

    • ファイルアップロード情報取得(im_bisFileUpload1)

      始点 終点
      定数<object> - imfrApplicationId<string> im_bisFileUpload1<object> - applicationId<string>
      入力<object> - imwProcessCommon<object> - userDataId<string> im_bisFileUpload1<object> - insertId<string>

    コラム

    フォームに画面アイテム「ファイルアップロード」が複数配置されている場合は、 im_bisFileUpload1<object> - uploadItemId<string> に、ファイルデータを取得したい「ファイルアップロード」アイテムのアイテム識別IDを設定してください。

  6. 設定画面左部の項目から出ている端子にカーソルをあわせそのままドラッグし、設定画面右部のマッピングしたい項目から出ている端子にドロップすることでマッピングが行えます。終点の applicationId<string>insertId<string> のマッピングをそれぞれ行ってください。

    ../../_images/store_attachments_in_sharepoint_16.png
    図:「マッピング設定」

    コラム

    マッピング設定についての詳しい説明は「マッピング設定を行う」を参照してください。

  7. マッピング設定が完了したら、「決定」をクリックします。

  8. 次に「繰り返し開始」タスクのプロパティを設定します。「繰り返し開始」タスクをクリックしプロパティ画面の「繰り返し対象」の「選択」をクリックします。

    ../../_images/store_attachments_in_sharepoint_22.png
    図:「ロジックフロー定義編集」
  9. 「繰り返し対象の選択」画面が表示されるので、「im_bisFileUpload1<object[]>」を選択し「決定」をクリックします。

    ../../_images/store_attachments_in_sharepoint_23.png
    図:「繰り返し対象の選択」
  10. 「ファイルアップロード情報取得(im_bisFileUpload1)」で取得したファイルIDを元にファイルデータを取得します。
    同様の手順で、下記の設定項目を元に、「ファイルアップロード情報取得(im_bisFileUpload2)」タスクのマッピングを行います。
    • ファイルアップロード情報取得(im_bisFileUpload2)

      始点 終点
      定数<object> - imfrApplicationId<string> im_bisFileUpload2<object> - applicationId<string>
      入力<object> - imwProcessCommon<object> - userDataId<string> im_bisFileUpload2<object> - insertId<string>
      im_startLoop1<object> - item<object> - fileId<string> im_bisFileUpload2<object> - fileId<string>
    ../../_images/store_attachments_in_sharepoint_17.png
    図:ファイルアップロード情報取得(im_bisFileUpload2)のマッピング設定
  11. 同様の手順で、下記の設定項目を元に、「SharePointストレージ取得(im_sharePointStorage1)」タスクのマッピングを行います。

    • SharePointストレージ取得(im_sharePointStorage1)

      始点 終点
      定数<object> - providerId<string> im_sharePointStorage1<object> - providerId<string>
      定数<object> - userCd<string> im_sharePointStorage1<object> - userCd<string>
      定数<object> - sitePath<string> im_sharePointStorage1<object> - sitePath<string>
      (※注釈に記載) im_sharePointStorage1<object> - path<string>

    コラム

    終点の im_sharePointStorage1<object> - path<string> には、次の「ディレクトリ作成」タスクで作成するSharePointドキュメントライブラリのディレクトリのパスを指定します。
    パスは関数[concat]を使って “yyyy/mm/dd/案件番号/” の形式で作成しセットします。”yyyy/mm/dd/” の部分には申請基準日を使用します。

    下記のようにパラメータを繋げます。
    入力<object> - imwProcessCommon<object> - applyBaseDate<string>
    + 定数<object> - pathSeparator
    + imwMatterEndProcess<object> - matterNumber<string>
    + 定数<object> - pathSeparator

    マッピング関数の使い方については「マッピング関数の利用」を参照してください。
    ../../_images/store_attachments_in_sharepoint_20.png
    図:SharePointストレージ取得(im_sharePointStorage1)のマッピング設定
  12. 同様の手順で、下記の設定項目を元に、「ディレクトリ作成」タスクのマッピングを行います。

    • ディレクトリ作成

      始点 終点
      im_sharePointStorage1<storage> im_makeDirectories1<storage>
    ../../_images/store_attachments_in_sharepoint_18.png
    図:ディレクトリ作成のマッピング設定
  13. 同様の手順で、下記の設定項目を元に、「SharePointストレージ取得(im_sharePointStorage2)」タスクのマッピングを行います。

    • SharePointストレージ取得(im_sharePointStorage2)

      始点 終点
      定数<object> - providerId<string> im_sharePointStorage2<object> - providerId<string>
      定数<object> - userCd<string> im_sharePointStorage2<object> - userCd<string>
      定数<object> - sitePath<string> im_sharePointStorage2<object> - sitePath<string>
      (※注釈に記載) im_sharePointStorage2<object> - path<string>

    コラム

    終点の im_sharePointStorage2<object> - path<string> にはSharePointドキュメントライブラリに作成したディレクトリへ出力するためのファイルのパス指定します。
    パスは関数[concat]を使って “yyyy/mm/dd/案件番号/ファイル名” の形式でパスを作成してセットします。”yyyy/mm/dd/” の部分には申請基準日を使用します。

    下記のようにパラメータを繋げます。
    入力<object> - imwProcessCommon<object> - applyBaseDate<string>
    + 定数<object> - pathSeparator
    + imwMatterEndProcess<object> - matterNumber<string>
    + 定数<object> - pathSeparator
    + im_bisFileUpload2<object[]> - fileName<string>

    マッピング関数の使い方については「マッピング関数の利用」を参照してください。
    ../../_images/store_attachments_in_sharepoint_21.png
    図:SharePointストレージ取得(im_sharePointStorage2)のマッピング設定
  14. 「ファイルアップロード情報取得(im_bisFileUpload2)」で取得したファイルデータを、「SharePointストレージ取得(im_sharePointStorage2)」で取得したストレージに出力します。
    同様の手順で、下記の設定項目を元に、「ストレージ出力(バイナリ)」タスクのマッピングを行います。
    • ストレージ出力(バイナリ)

      始点 終点
      im_bisFileUpload2<object[]> - fileData<binary> im_writeBinaryToStorage1<object> - binary<binary>
      im_sharePointStorage2<storage> im_writeBinaryToStorage1<object> - storage<storage>
    ../../_images/store_attachments_in_sharepoint_19.png
    図:ストレージ出力(バイナリ)のマッピング設定
  15. 以上で業務ロジックを動作させるために必要な設定が全て完了しました。

9.1.4.4. 保存する

  1. 業務ロジック定義編集画面上部、ヘッダ内の「保存」をクリックします。

    ../../_images/store_attachments_in_sharepoint_24.png
    図:「ロジックフロー定義編集」
  2. 保存画面が表示されます。「同じバージョン番号(1)に上書き保存する」を有効にして「決定」をクリックします。

    ../../_images/store_attachments_in_sharepoint_25.png
    図:「保存」
  3. 案件終了処理の業務ロジックが作成されました。

    ../../_images/store_attachments_in_sharepoint_26.png
    図:作成された業務ロジック